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 チュートリアルをぜひお試しください。


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて