進行中のイベントに対する LuckyTemplates DAX の測定

進行中のイベントに対する LuckyTemplates DAX の測定

このチュートリアルでは、進行中のイベントに対するLuckyTemplates DAXメジャーを作成する方法を説明します。これらのイベントは、レポートの性質に応じて、進行中の注文または進行中の販売の形で表示される場合があります。

基本的に、ここでの課題は、ファクト テーブル内に複数の日付がある場合の結果を計算することです。同様の要素が存在すると結果にエラーが発生する可能性があるため、それを回避する方法を見てみましょう。

目次

同じテーブル間の 2 つのリレーションシップの処理

Salesテーブルは次のようになります。

進行中のイベントに対する LuckyTemplates DAX の測定

ご覧のとおり、ここにはOrder DateShip Date という2 つの日付列があります。

進行中のイベントに対する LuckyTemplates DAX の測定

ここに 2 つの日付テーブルがあるという事実により、さらに優れた分析が可能になります。現在、注文日から出荷日までの間に何件の注文がありますか? 現在進行中の注文は何件ありますか?

このタイプの分析は、必ずしもこの特定のシナリオにも適用する必要はありません。同じパターンが何度も繰り返されることがわかっているアプリケーションの世界があります。DAX 式の作業を開始すると、そのパターンが何であるかがわかります。

ただし、式に入る前に、特にテーブル間の関係に関して検討すべきことがいくつかあります。それでは、何が起こっているのかをよりよく理解するためにデータ モデルを見てみましょう。

進行中のイベントに対する LuckyTemplates DAX の測定

進行中のイベント パターンは、 DateテーブルとSalesテーブルの間に複数のリレーションシップを作成する必要があることを意味します。

進行中のイベントに対する LuckyTemplates DAX の測定

最初の関係は、DateOrder Dateの間です。

進行中のイベントに対する LuckyTemplates DAX の測定

また、 「Date」列と「Ship Date」列の間にリレーションシップを作成する必要があります。

進行中のイベントに対する LuckyTemplates DAX の測定

ただし、一方の関係を別の関係よりも優先させることはできないため、これら 2 つの関係を非アクティブにする必要もあります。そうしないと、レポートで問題が発生します。

ここに例を示します。Total Salesメジャーをレポートにドラッグすると、奇妙な結果が得られることがわかります。日付全体の合計売上が表示されます。

進行中のイベントに対する LuckyTemplates DAX の測定

このように表示される理由は、何をフィルタリングすればよいのかわからないためです。それは、背景にある 2 つの関係が互いに打ち消し合っているためです。このような進行中のイベントを適切に実行するには、2 つのオプションのどちらかを選択する必要があります。

最初のオプションは、この計算専用の別のテーブルを作成することです。関数を使用してコア メジャーを計算するステートメントを作成することです。

進行中のイベントに対する LuckyTemplates DAX の測定

2 番目のオプションに取り組んでみましょう。これは、このシナリオに適用できる進行中のイベントのメジャーを作成することです。

まず、 Total Revenueを使用するCALCULATEステートメントから始めます。次に、USERELATIONSHIP関数を使用して、Sales DataテーブルのOrder Date列を参照します。

進行中のイベントに対する LuckyTemplates DAX の測定

これは、進行中のイベントの式で使用するパターンをマークします。繰り返しますが、これは、モデル内に別のDateテーブルを再作成する必要がないことを意味します。

Sales in Progressで試してみましょう。

進行中のイベントに対する LuckyTemplates DAX の測定

Total Sales を別のコンテキスト内で計算する必要があるため、 CALCULATE を使用してTotal Salesを参照します。

進行中のイベントに対する LuckyTemplates DAX の測定

次に、分析を行う 2 つのフィルターを作成する必要があります。関数から始めて、Order Dateを使用します。次に、 Order Date が Date以下であることを追加します。

進行中のイベントに対する LuckyTemplates DAX の測定

2 番目のフィルターには、今回は出荷日を使用します。 Date以上である必要があります。

進行中のイベントに対する LuckyTemplates DAX の測定

これをテーブルに追加すると、まだ正しい結果が返されていないことがわかります。

進行中のイベントに対する LuckyTemplates DAX の測定

それは、主要な指標として総売上高があるとしても、それをまだ計算していないからです。私たちのモデルにはTotal Salesはなく、Total Revenueのみがあります。

進行中のイベントに対する LuckyTemplates DAX の測定

したがって、これから行うことは、Total RevenueSUMを取得してTotal Salesを取得することです。

進行中のイベントに対する LuckyTemplates DAX の測定

これで、実際のSales in Progressが表示されます。

進行中のイベントに対する LuckyTemplates DAX の測定

これをグラフに変換して、数値が時間の経過とともにどのように変化するかを視覚的に表現できるようにしましょう。

進行中のイベントに対する LuckyTemplates DAX の測定

LuckyTemplates DAX メジャーの再利用

このメジャーを再利用することがいかに簡単であるかを見てください。先ほどは、進行中の販売状況について説明しました。技術的には、まだ進行中であるという事実は、まだ収益がないことを意味します。注文が実際に発送された場合にのみ支払いが行われます。

これは、もう 1 つの優れた分析を示しています。請求書を送信して支払いを受け取る前に、製品を製造するためにどのようなキャッシュフローが必要ですか? これを確認するために、進行中の注文数を計算してみましょう。ここでメジャーの名前を変更するだけです。

進行中のイベントに対する LuckyTemplates DAX の測定

次に、 Total Salesを計算する代わりに、 関数を使用してSales Dataを参照します。

進行中のイベントに対する LuckyTemplates DAX の測定

基本的に、この新しい測定は、処理されている注文の数を計算するだけです。これを表の列として取り込むつもりはありませんが、レポートに視覚化したものがあるとよいでしょう。

それでは、 Sales in Progressのグラフをコピーして貼り付け、値をOrders in Progressに変更しましょう。

進行中のイベントに対する LuckyTemplates DAX の測定

これで、実際に進行中の注文の数がわかります。これは、特定の日に注文されたものの、まだ出荷されていない商品の数を把握するのに役立ちます。

追加のフィルターの作成

レポートにフィルターを追加することで、これまでに確認した内容以外にも追加の洞察を得ることができます。有効なフィルターの 1 つは、 Product Nameです。これにより、特定の製品の注文数の傾向を確認できるようになります。

進行中のイベントに対する LuckyTemplates DAX の測定

それでは、製品 6 を注文した人の数と、それから期待される収益を確認したい場合はどうすればよいでしょうか? フィルターにチェックを入れるだけなので簡単です。

進行中のイベントに対する LuckyTemplates DAX の測定

探している分析の種類に応じて、他にも便利なフィルターがあります。たとえば、顧客用のフィルターを使用できます。これは、最大の顧客が誰であるかを判断するのに役立ちます。地域のフィルターを追加して、これらの注文の送信元を特定することもできます。


DAX メジャー分析: 長い DAX メジャーの分割
LuckyTemplates の DAX メジャー メジャー分岐の使用
レポートへの DAX メジャー グループの実装 – LuckyTemplates モデリングのレビュー

結論

このようにLuckyTemplates DAX メジャーを使用する場合、舞台裏で多くのロジックが実行されます。メジャーが Sales テーブルのすべての行を評価しながら、注文日と販売日の適切な条件を満たしているかどうかを確認しているという事実だけでも、非常に印象的です。

だからこそ、パターンを学習して何度も再利用することをお勧めします。こうすることでパターンに慣れることができ、長期的には楽になります。さまざまな方法で分析を実際にスライスし、さらに優れた洞察を実現できるように、必ずフィルターも追加してください。

ではごきげんよう、


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 ゲートウェイとは何ですか? 知っておくべきことすべて