INTERSECT 関数を最大限に活用する方法 – 高度な DAX

INTERSECT 関数を最大限に活用する方法 – 高度な DAX

LuckyTemplates のINTERSECT関数は高度なテーブル関数であり、この高度な DAX を最大限に活用するには、この関数をよりよく理解する必要があります。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

ただし 、その仕組みを理解するには、仮想テーブルをよりよく理解する必要があります。仮想テーブルは、 LuckyTemplates 内でDAX 対策を利用する際の重要な概念です。

INTERSECT 関数の具体的な機能は、メジャー内で 1 つの仮想テーブルを別の仮想テーブルと比較できることです。これで、最終的に、これら 2 つの仮想テーブルの両方のバージョンに表示される結果のテーブルを返すことができるようになります。

この関数の利用方法を理解すると、非常に高度なロジックを簡単に実行できる素晴らしい機能があることがすぐにわかります。

目次

INTERSECT 関数を使用してユニークな洞察を示す

関数を使用して発見できる非常にユニークな洞察を紹介します。この特定の洞察は、さまざまな方法で再利用できます。これは、顧客データを操作し、顧客をより深く理解することが目的である場合に最も役立ちます。

この機能を学ぶ最良の方法は、実際の場面を通して学ぶことです。そこで、シナリオを作成し、今月の顧客に基づいてこれを解決するつもりです。これらの顧客には、過去 2 か月間の購入履歴も必要です。そして、現在の顧客のうち、2 か月前に注文取引を行っていた顧客を特定するつもりです。

関数を示すために作成したこの LuckyTemplates レポートをご覧ください。まず、左側に任意の月を選択できるフィルターをいくつか設定しました。

INTERSECT 関数を最大限に活用する方法 – 高度な DAX

次に、すべての顧客の列を作成します。Total Sales列とSales LM列には、当月と先月の購入履歴を示した顧客が表示されます。総売上高の計算式は非常に簡単です。それは、特定の顧客からのすべての売上の合計にすぎません。

INTERSECT 関数を最大限に活用する方法 – 高度な DAX

Sales LM式は、 DATEADDを使用して前月にジャンプするタイム インテリジェンス計算に分岐する単純な合計売上式です。

INTERSECT 関数を最大限に活用する方法 – 高度な DAX

INTERSECT 関数を最大限に活用する方法 – 高度な DAX

前述の数式を使用して先月の計算を有効にしているため、数式の最初のコンテキストを理解することが重要です。したがって、DAX 数式を適用できるように、初期コンテキストを正しく取得する必要があります。

2 か月連続で購入した顧客を動的に割り出すにはどうすればよいでしょうか? それは、「Customers 2M in A Row」列で確認できます。

ここで、これらの顧客からの総売上高も知りたいので、「A 行 200 万人の顧客からの売上」列を追加しました。

INTERSECT 関数を最大限に活用する方法 – 高度な DAX

INTERSECT関数を使用したリピーターの特定

リピーターの発掘にINTERSECTがどれほど役立つかを見てみましょう。200 万人連続の顧客の計算式は次のとおりです。

INTERSECT 関数を最大限に活用する方法 – 高度な DAX

この数式では、INTERSECT関数内の出力変数 ( VAR )である 2 つの仮想テーブルを配置しました。基本的に、最初のテーブルに存在する項目または行のリストは評価されますが、2 番目のテーブルには存在しません。

INTERSECT 関数を最大限に活用する方法 – 高度な DAX

ここの最初のテーブルはCustomerTMで、今月購入した顧客を表します。次に、式はこれらの顧客がCustomerLMテーブルにもリストされているかどうかを確認します。

顧客が両方の仮想テーブルに存在する場合、それらは保持されます。したがって、この式により、今月と前月に購入したすべての顧客が得られます。

次に、関数を使用して、残りの顧客をカウントしました。

INTERSECT 関数を最大限に活用する方法 – 高度な DAX

次に、2 か月連続で購入した顧客向けの仮想テーブルの作成について説明します。

INTERSECT 関数を最大限に活用する方法 – 高度な DAX

お気づきかと思いますが、これらを (変数) 関数の中に入れています。これらの関数は、より複雑な数式を記述するための素晴らしい追加機能であるため、強くお勧めします。 

VAR CustomerTMのこの特定のセットでは、顧客 ID の仮想テーブルを作成しています。次に、VAR CustomerLMのために、先月顧客のために仮想テーブルを再度作成しています。ただし今回は、現在のコンテキストではなく前月の顧客セットにジャンプできるように、

現在得られているこの計算の興味深い点は次のとおりです。

INTERSECT 関数を最大限に活用する方法 – 高度な DAX

顧客はフィルタリングされているため、数式では顧客のすべての行のみがチェックされます。特定の行 (顧客) の前月の売上がない場合、評価するものはありません。したがって、「Customers 2M In A Row」列は空白になります。ただし、顧客に以前のレコードがある場合は、1としてカウントされます。

たとえば、Adam Thompson のデータを見ると、Customers 2M In A Row列に1 が返されます。これは、この顧客には先月とその前々月の両方の記録があることを意味します。

別のコンテキストで数式を再利用する

INTERSECT を使用する重要性をすぐには理解できないかもしれませんが、この式を使用する必要があるのには十分な理由があります。その主な理由は、この計算をさまざまなコンテキストで再利用できるためです。以下の例を見てください。

INTERSECT 関数を最大限に活用する方法 – 高度な DAX

上記のサンプル データを作成するために、同じ式を使用しました。しかし今回は、異なる初期コンテキストから始めます。単一の行を評価するのではなく、州コードなどの多くのコンテキストを評価します。次に、2016 年 6 月と 2016 年 5 月に購入した顧客のリストを作成します。次に、それを当月に特定の州で 1 回購入した顧客と比較します。

[Customers 2M In A Row]列で、その基準に一致する顧客の正確な数を確認できます。

その表の下には、州コード別の 200 万件連続の顧客の同じデータを示す別の視覚化があります。

実際には、要件に応じてモデル内のコンテキストを再度変更できます。フィルターが正しく機能している場合は、この式を再適用して他の状況に追加できます。

これが、 INTERSECT が非常に強力であると述べた理由です。IFステートメントを記述するだけでなく、これらのINTERSECT関数を数式に利用できます。

リピート顧客からの総売上を計算する

さらに、リピーターのお客様からの総販売数にも取り組みます

「200 万連続顧客からの売上」列の結果は、当月と前月の顧客の購入の合計です。この結果は、顧客が 2 か月連続で購入した場合にのみ得られることに注意してください。 

これがリピート顧客の総売上高の計算式です。

INTERSECT 関数を最大限に活用する方法 – 高度な DAX

ここでパターンがほぼ同じであることがわかります。ここでの唯一の違いは、 COUNTROWSの代わりにCALCULATE関数を使用して計算のコンテキストを変更したことです。 

ここで必要なのは顧客からの売上の合計だからです。ただし、ご覧のとおり、まだINTERSECT関数を使用しています。パレート分析に関しては非常に役立ちます。ただし、この関数はさまざまな方法で適用することもできます。

過去 3 か月間の顧客向けに INTERSECT を導入

以前よりもさらに前進することができます。実際に、以下の計算式を使用して、3 か月連続で購入した顧客を計算できます。

INTERSECT 関数を最大限に活用する方法 – 高度な DAX

私が追加したのは、1 か月ではなく 2 か月遡る別の計算だけです。

INTERSECT 関数を最大限に活用する方法 – 高度な DAX

その後、別のINTERSECT関数の中にINTERSECT関数を追加しました。したがって、当月の顧客と先月の購入履歴だけを評価するわけではありません。また、特定の顧客が 2 か月前にも購入したかどうかも確認されます。

このデータをテーブルに追加するには、Customers 3M In A Row式をテーブルにドラッグするだけです。

INTERSECT 関数を最大限に活用する方法 – 高度な DAX

下部には、3 か月連続で購入した顧客が合計45人いることがわかります。これは非常に有益な非常に集中的な洞察です。


LuckyTemplates の反復関数内の仮想テーブルを理解する方法
RANKX の詳細 - LuckyTemplates の DAX 数式の概念 Power
BI レポートへの DAX メジャー グループの実装

結論

前述したように、INTERSECT はテーブル関数であり、さまざまな方法で使用できます。

このチュートリアルの焦点は、小節​​内で、および小節内でさまざまな方法でそれを使用する方法を確認することです。このようにして、これを非常に効率的な方法で使用して、非常に説得力のある分析を実行できると思います。

この高度な LuckyTemplates チュートリアルをぜひお試しください。


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 を使用して数式内に仮想リレーションシップを作成する方法を説明します。