ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

このチュートリアルでは、より優れた DAX メジャーを作成する際にダミー変数を使用する方法について説明します。これは、より複雑な DAX が必要な場合に特に当てはまります。この手法を使用すると、さまざまな変数や条件をより柔軟に扱うことができます。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

で遭遇した質問のためです。

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

この質問に基づいて、ハーベイはパレート分析をいくつかの追加基準と組み合わせたいと考えました。彼は、売上ランキングの上位 20% を確認すると同時に、一定の割合を超えるマージンがある他の製品との交差部分も確認したいと考えていました。

目次

売上ランクと利益率カットオフの立案ソリューション

Harvey が述べた要件に基づいて、Sales RankProfit Margin Cutoffのスライダーを備えたドラフト ソリューションを作成しました。

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

これらのスライダーで設定したパラメーターに応じて、散布図の視覚化には両方の基準を満たす製品が表示されます

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

売上ランクが A 、利益率が B であるとします。これは基本的に条件を示します。これには、比較的標準的な DAX 対策が必要です。これらは、メジャーの下の右側のペインに表示されます。ここには、基本的なを使用するSales Rankがあります。また、合計コスト、合計利益、およびスライダーから値を取得するその他の変数もあります。

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

AND 条件にダミー変数を使用する

AND条件に関しては、この手段が面倒な作業を行います。

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

この測定では、いくつかの興味深い点に気づくでしょう。基本的に、これらの条件は通常、 / 基準で使用されます。しかし、そうする代わりに、条件が TRUE の場合は 1 を取得し、FALSE の場合は 0 を取得する、いわゆるダミー変数を使用しました。

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

したがって、このメジャーは、Sales Rank が Sales Rank Cutoff 以下の場合、1 を取得します。Profit Margin が Profit Margin Cutoff よりも大きい場合、1 を取得します。それ以外の場合は、0 を取得します。

このアプローチは統計分析や回帰分析では非常に一般的ですが、DAX の場合にも役立ちます。

このアプローチを使用したのは、これら 2 つの変数を乗算して結合する次の部分でこれらの値が必要になるためです。

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

2 つのダミー変数RnkMargを結合したら、測定の次の部分に進むことができます。その組み合わせた値がゼロより大きい場合、赤色を割り当てました。そうでない場合は、青色が割り当てられます。

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

OR 条件にダミー変数を使用する

条件で使用したい場合はどうすればよいでしょうか?

同じプロセスを使用できますが、変数を結合するステップでは、アスタリスクの代わりにプラス記号を使用します

したがって、AND 条件には次のようなアスタリスクが必要になります

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

OR 条件には次のようなプラス記号が必要です。

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

「承認」をクリックすると、それらの条件が散布図に適用されます。設定された条件を満たす製品は、ここに赤い点として表示されます。

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

ダミー変数が機能する理由

これらのダミー変数がなぜ機能するのか疑問に思っている場合は、役立つ図をここにいくつか示します。

AND条件から始めましょう。

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

AND は、両方またはすべての条件が TRUE であることを意味します。これは乗算によって特徴付けられます。乗算すると、FALSE 条件は項全体を 0 に設定します。つまり、2 つの変数 A と B があり、両方が true の場合、積は 1 となり、TRUE が返されます。

ただし、A が 0 であるか、B が 0 である場合、項全体が 0 になる 3 つの条件が得られます。そこが交差点です。

一方、OR 条件を見ると、いずれかの条件が TRUE であることを意味します。これには乗算の代わりに加算が必要です。したがって、単一の FALSE セットの結果が 0 になることはありませんが、いずれかの条件が true である限り、その条件は 1 ずつ増分されます。

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

したがって、OR 条件の図では、A と B の両方が TRUE の場合、項は 2 を取得します。A が偽で B が真の場合、項は 1 を取得します。その逆も 1 を取得しますが、0 のみが取得されます。両方の条件が偽の場合。

ダミー変数が役立つ場所

単純な場合には、基本的な AND または OR 条件を使用できることは明らかです。ただし、より複雑なケースになると、これらはうまく機能しません。ここに一例を示します。

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

このケースでは 7 つの変数が示されています。A、B、C の組み合わせは TRUE です。D と E、または F と G の組み合わせも同様です。

この条件に対してDAX メジャーを作成した場合、それがどれほど長くて煩雑になるかは容易に想像できます。ただし、ダミー変数を適用すると、はるかに単純化できます。これらの演算子を置き換えるだけで、より単純な式が得られます。

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

そこから、結果が 0 より大きい場合は TRUE であるという条件を使用します。結果が 0 に等しい場合は、FALSE が返されます。

LuckyTemplates ファイルに戻って、実際のレポートでどのように機能するかを見てみましょう。

したがって、この場合、赤い点は両方の条件が真であるインスタンスを示し、紫色の点は 1 つの条件のみが真であることを示します。

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

メジャーに進むと、ダミー変数 Rnk と Marg が表示されます。ここには、プラスで示されている OR 条件があります。

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

TRUE構造の下に 2 があり、赤色で表示されていることもわかります。これは、 TRUEステートメントが 2 つあることを意味します。いずれかのステートメントが true の場合、そのステートメントは紫色に変わります。どちらも当てはまらない場合は 0 となり、青い点が表示されます。

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

これは、先ほど説明した OR 図のマトリックスに直接対応します。

最後の条件に戻って、2 組の外れ値を調べたい場合に何が起こるかを見てみましょう。基本的に、条件 A と B の両方を満たすものを調べたい場合、製品 4 と 15 を表す 2 つの点がその基準を満たします。

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

逆に、一番下の外れ値である製品 1 も見ることができます。

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

このレポート全体が動的であることにも注意してくださいしたがって、スライダーを動かせば動かすほど、より多くのポイントが表示される可能性があります。

以下のメジャーを見ると、4 つのダミー変数がある、つまり、上位ランク (TopRnk)、マージン以上の値 (GTEMarg)、最下位ランク (BotRank)、および証拠金(LEMar)以下。

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

結合された値を見て、TopRnk と GTEMarg を乗算し、それを BotRank と LEMarg の積に加えます。

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法

これらの条件のいずれかが TRUE として返されると、チャート上に赤い点が表示されます。そうでない場合は、青い点が表示されます。

ダミー変数: ダミー変数を使用してよりスマートな DAX を作成する方法


LuckyTemplates での複数の IF ステートメントに対する高度な DAX の使用 Power
BI で SWITCH True Logic を使用する方法 LuckyTemplates
の DAX 関数: イテレーターの使用

結論

これらのダミー変数を使用および組み合わせることにより、テキストの TRUE/FALSE 測定に必要な通常の複雑な DAX 測定と比較して、単純な測定を使用して目的の結果を得ることができます。

過去に TRUE または FALSE 条件を使用した他のレポートでこのアプローチを試し始め、条件をより複雑にするときにそれが測定にどのような影響を与えるかを確認してください。

ではごきげんよう、

Leave a Comment

Power Automate の文字列関数: Substring と IndexOf

Power Automate の文字列関数: Substring と IndexOf

Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates ツールチップを使用すると、より多くの情報を 1 つのレポート ページに圧縮できます。効果的な視覚化の手法を学ぶことができます。

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を作成し、データを受信する方法を学んでいます。

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で簡単に日付テーブルを作成する方法について学びましょう。データの分析と視覚化のための効果的なツールとして活用できます。

2 つの方法による SharePoint 列の検証

2 つの方法による SharePoint 列の検証

SharePoint 列の検証の数式を使用して、ユーザーからの入力を制限および検証する方法を学びます。

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel ファイルおよび CSV ファイルにエクスポートする方法を学び、さまざまな状況に最適なエクスポート方法を決定できるようにします。

Power Automate のオンプレミス データ ゲートウェイ

Power Automate のオンプレミス データ ゲートウェイ

ユーザーがコンピューターから離れているときに、オンプレミス データ ゲートウェイを使用して Power Automate がデスクトップ アプリケーションにアクセスできるようにする方法を説明します。

DAX 数式での LASTNONBLANK の使用

DAX 数式での LASTNONBLANK の使用

DAX 数式で LASTNONBLANK 関数を使用して、データ分析の深い洞察を得る方法を学びます。

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

LuckyTemplates で予算分析とレポートを実行しながら、CROSSJOIN 関数を使用して 2 つのデータ テーブルをバインドする方法を学びます。

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

このチュートリアルでは、LuckyTemplates TREATAS を使用して数式内に仮想リレーションシップを作成する方法を説明します。