動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

LuckyTemplates サポート フォーラムでメンバーが動的パラメーターについて何度も質問しているのを見たので、動的パラメーターを使用した動的セグメンテーションについて説明します。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

この点で難しいのは、どの領域を最初にセグメント化するかを判断することです。また、動的パラメータを数式に入力する方法も見つける必要があります。ここで示す例を通じて、これらすべてを単純化していきます。

目次

What-If パラメータの作成

まず必要なのはパラメータです。この場合、顧客ランクパラメータを作成しました。

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

このパラメータを作成するには、「モデリング」に進み、「新規パラメータ」をクリックします。

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

what-if パラメータによりテーブルが自動的に作成されます。また、私が行った選択に対するメジャーも作成されます。

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

それをレポートにドラッグすると、スライサーで選択した内容がすべて表示されます。

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

ここで覚えておくべき重要な点は、カスタム セグメンテーションを実行するたびにパラメータで結果を分割する必要があるということです。

したがって、顧客ランクのパラメータとは別に、店舗が存在する地域に関する情報も得ています。

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

計算のコンテキストは、これを正しく行うための重要な要素の 1 つです。ここには、店舗の場所を示す追加のコンテキストもあります。

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

次に、上位顧客と下位顧客を比較して、収益を分けたいと考えています。また、これらの上位グループと下位グループの両方を動的にしたいと考えています。ここで動的パラメータが登場します。

動的パラメータの適用

したがって、データをどのように見たいかによって結果は変わる必要があります。つまり、Customer Rankのスライサーを変更すると、テーブル上のデータも変更されるはずです。

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

最初にやることは、公式を使用して上位の顧客をテーブルに参加させることです。

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

合計収益に対して関数を使用し、ランキング関数としてを使用して列を作成しました。TOPN は、ランキング結果に基づいて仮想テーブルも返します。

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

上位にランクされた顧客のみを調べているため、総収益を 計算するときにここにコンテキストを追加しました。そのランキングは、顧客ランク値によって決定されます。

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

TOPNを使用して、すべての顧客データを調べます。ただし、テーブルに設定されているパラメーターであるため、上位 4 つのコンテキストのみが維持されます。スライサーで設定した値です。

スライサーを 3 に移動すると、結果も変更され、上位 3 つのデータのみが反映される必要があります。

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

また、下位の顧客にも注目したいので、それをテーブルに追加します。

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

最下位の顧客をそこに配置したため、特定の時間枠内の店舗ごとの顧客の総数が必要になることに注意することも重要です。

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

Total Customers を取得するには、関数を使用しました。

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

これはすべて単なるサンプル データであるため、この式から導き出される数値は小さく、非現実的に見えるかもしれないことに注意してください。ただし、この計算は、実際のシナリオに適用すると、より大きな周波数でも機能します。

これが私が下位顧客を獲得するために使用した公式です。これはTop Customersで使用したものと非常に似ていますが、若干の調整が加えられていることに注意してください。

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

ここでもCALCULATE関数とTOPN関数の両方を使用しました。ただし、単に顧客ランクを入力する代わりに、総顧客数顧客ランク値の差を使用しました。 

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

次に、単にCustomer Name を配置するのではなく、ロジックを追加する必要がありました。上位の顧客ではなく下位の顧客を取得しているため、 DESCの代わりにASC を使用します。

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

前の式は、すべての顧客を反復処理して上位の顧客を取得しました。ただし、取得しているのは最下位の顧客であるため、売上がゼロのインスタンスもカウントされることになります。

最下位の顧客としてカウントされた人も購入したことを確認する必要があります。このため、値は 0 より大きくなければならないと追加しました。

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

そのため、私のデータには実際に購入した顧客の数が表示されるようになりました。この最初の行では、11 人の顧客が指定された期間内にその特定の店舗で何かを購入したことを示しています。

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

この部分は非常に難しくなる可能性があります。これは主にTOPNがすでに仮想テーブルを作成しているためですが、その中に別の仮想テーブルも作成しているためです。この仮想テーブルは、顧客全体ではなく、はるかに小さい顧客のサブセットに注目します。

そこで、ここではTotal Revenueの式の最後に別のランキングを作成しています。前に述べたように、 DESCの代わりにASC を使用しています。

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

これらの数式を使用すると、動的パラメータが動的セグメンテーションに追加されました。

結果の視覚化

私が使用した手法は、はるかに大規模なデータセットに使用できる可能性があります。これは、結果をよりよく理解するには、結果を示すいくつかの視覚化が役立つことを意味します。

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

まず、各店舗の上位顧客と下位顧客の比較を示す簡単なグラフから始めます。

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

数値が十分に大きく、その方が適切に表示される場合は、これを変更して積み上げ棒グラフを使用することもできます。

動的パラメーターを使用した動的セグメンテーション – 高度な LuckyTemplates および DAX テクニック

これらの視覚化により、数値をより深く理解することができます。これは、たとえば、どの店舗がより高いリスクにさらされているかを示します。顧客が非常に少なく、収益が低い店舗がわかります。


動的セグメンテーション: 高度な DAX を使用して顧客をグループにセグメント化する方法
データ モデルを使用した顧客セグメンテーション手法 – LuckyTemplates と
LuckyTemplates で高度な DAX を使用した DAX セグメンテーションの例

結論

ここで使用したデータは非常に低頻度ですが、これをより大きなデータセットに適用したときの可能性を想像してください。この手法では、他の情報をセグメント化し、上位顧客と下位顧客や店舗の場所だけでなく、非常に多くの異なるパラメータを追加することもできます。

この例では、メジャー内のメジャーを操作する方法も示します。このようなテクニックを使用すると、データがどこに適用されるかに関係なく、データに関する驚くべき洞察が得られます。

ではごきげんよう、


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