LuckyTemplates で DISTINCTCOUNT を使用して経時的に顧客をカウントする

このブログ投稿では、LuckyTemplates 内の DISTINCTCOUNT などのいくつかの関数を使用して、経時的に販売する顧客の数を計算する方法を説明します。実際には計算方法がいくつかあります。そのため、いくつかのことを紹介するために、それに関する短いチュートリアルを作成したいと思いました。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

この例では、設定したデータ モデルを回避する方法を理解することが重要です。そのため、これをどのように設定したかを必ず示します。これは顧客テーブルに COUNT を配置するほど簡単ではないため、重要です。顧客数が時間の経過とともにどのように変化するかを示したいので、結果が日付テーブルによってもフィルターされていることを確認する必要があることに注意してください。

目次

DISTINCTCOUNT を使用して顧客を数える

この投稿では、比較的単純なDAX 式をいくつか見ていきます。これらがどのように論理的に計算されるのか、そして DAX がデータ モデルとどのように連携するのかを考えてみましょう。そこで、データ モデルを簡単に確認します。一番下に Sales テーブル、一番上にファクト テーブルがあります。ルックアップ テーブルとして、日付テーブル、製品テーブル、地域テーブル、顧客テーブルがあります。これらのテーブルはすべて接続されています。

LuckyTemplates で DISTINCTCOUNT を使用して経時的に顧客をカウントする

1 日に何人の顧客に販売しているかを確認したいと考えています。ここでは、この数式で発生する可能性のあるわずかな問題を紹介しますが、実際にいくつかの方法で問題を解決する方法を説明します。そうすることで、データ モデルで何が起こっているかを理解できるようになります。

計算式 #1: 1 日あたりの顧客数を計算する

まず最初に行う必要があるのは、1 日に実際に何人の顧客に販売したかを確認することです。できることは、メジャーを作成してそれをTotal Customers という名前にし、DISTINCTCOUNT と Customer Name を使用することです。

LuckyTemplates で DISTINCTCOUNT を使用して経時的に顧客をカウントする

論理的には、これがあなたが行う必要があると考えられることです。毎日何人の顧客に販売しているかを数えてください。ここでの問題は、毎日まったく同じ結果が得られることです。

LuckyTemplates で DISTINCTCOUNT を使用して経時的に顧客をカウントする

これが得られる理由は、数式が Customer テーブルに送られ、毎日の個別の顧客数を示しているためです。問題は、Dates テーブルが Customer テーブルとまったく関係がないことです。これらのテーブルの両方にある唯一の関係は、Sales テーブルとの関係です。毎日DISTINCTCOUNT を実行すると、Dates テーブルに配置されたすべてのフィルターについて Customer テーブルでは何もフィルターされないため、まったく同じ結果が得られます。

LuckyTemplates で DISTINCTCOUNT を使用して経時的に顧客をカウントする

特定の日に販売した顧客の数を調べたい場合は、この式を多少変更する必要があります。Date テーブルが接続されている場所である Sales テーブルを参照するように変更する必要があります。何らかのコンテキストが結果に配置されると、コンテキストはリレーションシップを介して流れ、接続先のテーブル (この場合は Sales テーブル) に流れます。

式 #2: 関係を示す新しい式を作成する

これを達成するために、別の数式を作成し、それをTotal Customers 2と呼びます。再び DISTINCTCOUNT を使用しますが、Customer テーブルを使用する代わりに、Sales テーブル内の顧客名インデックスを見つける必要があります。

LuckyTemplates で DISTINCTCOUNT を使用して経時的に顧客をカウントする

この新しいメジャーをテーブルにドラッグすると、毎日の固有の顧客名インデックスの数が表示されます。

LuckyTemplates で DISTINCTCOUNT を使用して経時的に顧客をカウントする

式 #3: 拡張されたテーブルの使用

ということで、簡単な方法でやってみます。実は、まったく同じ結果を生成する別の方法があります。LuckyTemplates で答える方法は実際には 1 つだけということはありません。望ましい結果を達成するには、常にいくつかの方法があり、場合によってはそれ以上の方法もあります。

別のメジャーを作成し、Total Customers 3という名前を付けてみましょう。CALCULATE 内で行うことは、作成した最初の Total Customers メジャー (毎日 50 を生成するメジャー) を参照し、Sales テーブル全体をフィルターとして追加することです。

LuckyTemplates で DISTINCTCOUNT を使用して経時的に顧客をカウントする

Enter キーを押してテーブルにドラッグすると、計算が少し複雑になるため、計算に時間がかかることがわかります。しかし、ご覧のとおり、実際には正しい総顧客数 2 とまったく同じ結果が生成されています。

LuckyTemplates で DISTINCTCOUNT を使用して経時的に顧客をカウントする

これは、拡張テーブルと呼ばれる概念によるものです。ここで Sales テーブルが実際に表すものは、データ モデルのフラット ファイル全体です。DatesProductsRegionalCustomersを含む 1 つの巨大なフラット ファイルがあります。この手法とこの数式を利用することで、基本的にDAX 言語で展開された Sales テーブル全体にわたってTotal Customers メジャーを再計算できるようになります。

最初の小節ではつながりがなかった。そこで、正しい結果を生成するために、計算ステートメント内で Sales 展開テーブルを参照することにより、3 番目のメジャーに接続を作成しました。

データの視覚化

通常は、面グラフを使用して視覚化を開始できるように、作成した #2 のオプションを選択します。

LuckyTemplates で DISTINCTCOUNT を使用して経時的に顧客をカウントする

1 日に実際に何人の顧客に販売しているかを時間の経過とともに確認できます。LuckyTemplates 内の組み込み分析関数を使用して傾向線を描くこともできます。1 日あたり平均して 8 ~ 9 人の顧客がいることがわかります。

LuckyTemplates で DISTINCTCOUNT を使用して経時的に顧客をカウントする

これもすべて動的であるため、追加したい追加のコンテキストを取り込むことができることに注意してください。

LuckyTemplates で DISTINCTCOUNT を使用して経時的に顧客をカウントする

いくつかの概念を説明しましたが、それらはさまざまな用途に使用できます。顧客ではなく、製品、地域、または販売員である可能性があります。その中心となるのは、DISTINCTCOUNT の動作を理解し、正しい結果を計算していることを確認するために舞台裏でデータ モデルを理解することです。

結論

この手法により興味深い洞察が得られ、最終的にはこれをさまざまな方法で利用して視覚化することができます。思い浮かぶ方法の 1 つは、シナリオ分析によるものです。過去の顧客数から将来を予測する予測に基づいて、販売する顧客の数を増やした場合に業績にどのような影響が出るかを確認できます。推定平均販売価格を使用してこれに対してシナリオを実行し、顧客ごとの平均値を導き出すことができます。本当に強力なものです。これで私と同じチャンスが得られることを願っています。

この種の洞察を視覚化するもう 1 つの方法は、時間の経過に伴う比較を示すことです。販売した顧客の数を累積的に表示し、先月または前四半期と比較したい場合があります。ここから開始して、タイム インテリジェンス関数を使用して「分岐」します。

コースでは、常時インテリジェンス関数を使用してこの時間比較分析を完了する方法を説明します。

これの実装を頑張ってください。何かご意見があれば、以下のコメント欄でお知らせください。

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