高度な DAX 関数: 利益貢献の計算

高度な DAX 関数: 利益貢献の計算

このブログでは、LuckyTemplates で何ができるかを示すために、より高度な DAX 関数について説明します。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

このチュートリアルでは、高度な DAX 関数を使用して、さまざまなクライアント層の利益貢献を視覚化する方法を説明します。

目次

総利益の計算

まず、新しいメジャーを作成し、その名前を「総コスト」に変更します。

高度な DAX 関数: 利益貢献の計算

コストを取得するには、テーブル内の各行に対して評価された式の合計を返す

Sales テーブルを追加し、各販売数量に対応する製品コストを掛けます。

高度な DAX 関数: 利益貢献の計算

関数を使用して別のテーブル、特に Products Cost テーブルを呼び出す必要があります。

高度な DAX 関数: 利益貢献の計算

Enter キーを押して、計算が主要メジャーに表示されるまで待ちます。

高度な DAX 関数: 利益貢献の計算

ここから、簡単に総利益に分岐できます。新しいメジャーを作成し、総売上高から総コストを差し引きます。

高度な DAX 関数: 利益貢献の計算

お気づきかと思いますが、テーブル内の何も参照する必要はなくなりました。

これがメジャー分岐の利点です。高度な数式を繰り返し書き直す必要がなく、メジャー内でメジャーを参照できるのです。

この方法は、複雑な計算を行う場合にはるかに効果的な方法であり、時間を大幅に節約できます。

次に、総コストと総利益のメジャーをテーブルにドラッグします。

高度な DAX 関数: 利益貢献の計算

また、データを整理するために、すぐに形式を修正したいと考えています。

形式ドロップダウン メニューで [通貨] を選択するか、通貨記号をクリックします。

高度な DAX 関数: 利益貢献の計算

これで、総売上高、総コスト、総利益が得られました。次のステップは、今回の選択で上位の顧客、中規模の顧客、その他の顧客が誰であるかを特定することです。

高度な DAX 関数: 利益貢献の計算

サポートテーブルの作成

基本的な対策を立てたら、サポートテーブルを作成します。

これにより、カスタム ロジックに基づいて動的なグループを作成できるようになります。

「データを入力」をクリックして新しいテーブルを追加します。

高度な DAX 関数: 利益貢献の計算

サポート テーブルに「Customer Groups」という名前を付け、列「Group」、「Min」、および「Max」を追加します。

その後、クライアントがトップ 50、ランク 50 ~ 200、および残りに属する場合にグループ化します。以下に示すように、各グループの最小ランクと最大ランクを示します。

高度な DAX 関数: 利益貢献の計算

LuckyTemplates で新しいテーブルを作成するときは常に、データ モデルを確認して整理し、すべてがどのように接続されているかの概要を把握することをお勧めします。

この例では、無関係なメジャーを削除し、サポート表を一番下にドラッグしました。

ご覧のとおり、これは私のコア データ モデルとは何の関係もありません。目標は、顧客のランキングに基づいてこのテーブルにロジックを実行することです。この手順では、LuckyTemplates の高度な DAX 機能が必要です。

高度な DAX 関数: 利益貢献の計算

高度な DAX 関数の使用

まず、サポートテーブルを整理します。

[顧客グループ] テーブルの列ツールに移動し、最小ランキングに従って [グループ] 列を並べ替えます。データは後でより意味のあるものになるため、これを行うのが好きです。

高度な DAX 関数: 利益貢献の計算

先に進む前に、いくつかの視覚化を作成します。私は先に進み、総売上高をカードに変換しました。

高度な DAX 関数: 利益貢献の計算

次に、総利益についても同じことを行いました。

高度な DAX 関数: 利益貢献の計算

すべての設定が完了したら、「顧客グループ」テーブル内に「総利益」メジャーを取り込みます。

両者の間には関係がないため、合計利益 501 万ドルがすべての顧客グループにまたがっていることがわかります。

高度な DAX 関数: 利益貢献の計算

これを修正するには、新しいメジャーを作成し、高度な数式を作成します。複雑ではありますが、LuckyTemplates で高度な DAX 関数を使用すると、これを実現できます。

最初に顧客グループ利益の式全体を示し、次に各行の役割を説明します。

高度な DAX 関数: 利益貢献の計算

高度な DAX 関数を実行し、メジャーをテーブルに挿入すると、各顧客グループの合計利益が得られます。

高度な DAX 関数: 利益貢献の計算

それで、どうしてこれが起こったのでしょうか?

この式は、サポート表を総利益に関連付けるコンテキストを生成しました。

CALCULATE関数は Total Profit を呼び出すために使用されましたが、変更されたフィルターのコンテキストで使用されました

高度な DAX 関数: 利益貢献の計算

を使用して、各顧客名を呼び出して顧客ごとの利益を反復計算しました。

さらに、 使用すると、テーブル関数を追加できます。この場合、私の顧客リストが表示されます。

高度な DAX 関数: 利益貢献の計算

を使用してさらにフィルタリングされました。この関数は、総利益に基づいて各顧客のランキングを作成しました。

また、顧客のランキングが各顧客グループの最小ランクより大きいか、最大ランク以下であるかどうかも判断されます。このようにして、各エントリは重複することなく 1 つのグループ内にのみ収まりました。

つまり、RANKX は顧客を適切な顧客グループに分類する責任がありました。

高度な DAX 関数: 利益貢献の計算

一方、テーブルにあと 1 行残っている場合、その顧客をその特定のグループに含める必要があると指定しました。

高度な DAX 関数: 利益貢献の計算

最終的には、すべての顧客を調べて、特定の行の最小ランクと最大ランクに該当するかどうかを評価できます。これにより、トップ 50、ランク 50 ~ 200、または残りのいずれかに配置されます。

これらの高度な DAX 関数により、[顧客グループの利益] 列に特定の顧客グループの合計利益を表示できるようになります。

高度な DAX 関数: 利益貢献の計算

各ブラケットの寄与率の計算

顧客グループごとの利益の割合を計算することで、さらに分析を進めることができます。

このためには、Customer Profit Group Percent という新しいメジャーを作成する必要もあります。

を使用して、合計利益に対する顧客グループの利益の割合を取得します。このコンテキストでは、総利益は常に 500 万ドルと評価されます。

高度な DAX 関数: 利益貢献の計算

メジャーを表にドラッグし、形式を修正します。

高度な DAX 関数: 利益貢献の計算

これで、Customer Profit Group Percent の列が作成されました。ご覧のとおり、その値は、特定の顧客グループの利益を総利益で割ったときに得られるものです。

高度な DAX 関数: 利益貢献の計算

実際には、Total Profit などの中間列を削除することができ、高度な DAX 関数がバックグラウンドで計算を適切に実行します。

高度な DAX 関数: 利益貢献の計算

これの優れた点は、追加のコンテキストを追加して、結果を視覚化できることです。テーブルをコピーして、フィールドを値にドラッグするだけです。

ここでは、月と年を追加してパーセンテージグラフに変えました。

高度な DAX 関数: 利益貢献の計算

どのフィールドを軸と凡例に入れるかを入れ替えました。月と年は軸上に配置する必要があり、グループは凡例に配置する必要があります。

高度な DAX 関数: 利益貢献の計算

現在手元にあるのは、どの顧客グループが月あたり最大の利益を上げているか、そしてその傾向が時間の経過とともにどのように変化するかを示す棒グラフです。

高度な DAX 関数: 利益貢献の計算


ファクト テーブルでの複数の日付計算の管理 – 高度な LuckyTemplates テクニック
高度な DAX 関数を使用した LuckyTemplates 数式の最適化 任意の
メジャーに基づくデータ セグメンテーション手法 – 高度な DAX

結論

高度な DAX 関数は、LuckyTemplates の貴重なツールです。これらは多用途であり、レポートに豊富な洞察を与えることができます。このチュートリアルが、独自のコンテキストでそれらを使用する方法のアイデアを与えてくれれば幸いです。

次回のブログ投稿では、高度な 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 を使用して数式内に仮想リレーションシップを作成する方法を説明します。