LuckyTemplates DAX 関数を使用して、時間の経過とともに価格が変動する製品に対処する

LuckyTemplates DAX 関数を使用して、時間の経過とともに価格が変動する製品に対処する

このブログ投稿では、LuckyTemplates DAX 関数を含む高度な現実世界の分析に取り組んでいきます。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

問題のシナリオは、時間の経過とともに価格が変化する製品がある場合です。

あなたが時間をかけてレビューしたデモやショーケースの多くは、製品の価格が最初から最新の日付までまったく同じであることを示唆しています。実際にはそうではありません。

多くの生データ テーブルでは、価格が異なる時間枠で別の価格に変化する可能性がある設定になっている可能性があります。たとえば、季節の需要により価格が変動する可能性があります。

目次

価格変更のための LuckyTemplates DAX 関数の実装

このブログ投稿で取り上げるテクニックは、これらの価格変動に対処するのに役立ちます。LuckyTemplates DAX関数を使用してこれを正しく行うには、少し学習が必要です。

ただし、データ モデルを正しく設定し、より高度な DAX 数式の組み合わせを利用することでこれを実現できます。

LuckyTemplates DAX 関数を使用して、時間の経過とともに価格が変動する製品に対処する

この例では、過去の価格変更がどのようなものであったかを事前に知っており、それらの価格変更をモデルに統合したい場合があります。ただし、このシナリオでは、ファクト テーブルに価格が含まれていない可能性があります。この Sales テーブルをトランザクション テーブルとして考えてください。

この表に価格設定があれば、おそらくこれを行う必要はありません。サポート フォーラムでは、価格設定が別の表に記載されており、統合する必要があるという質問が寄せられているのを目にしました。

LuckyTemplates DAX 関数を使用して、時間の経過とともに価格が変動する製品に対処する

すべての製品と、四半期ごとに変更される各製品の価格を記載した表を作成しました。これで、製品名と四半期の寸法がわかりました。

したがって、製品 1 の第 3 四半期の価格は 1,680.75 ドルでした。

LuckyTemplates DAX 関数を使用して、時間の経過とともに価格が変動する製品に対処する

しかし、表を下にスクロールすると、製品 1 の価格が第 4 四半期中に 2,666.79 ドルに変更されたことがわかります。

LuckyTemplates DAX 関数を使用して、時間の経過とともに価格が変動する製品に対処する

クリスマス期間中は製品の価格が大幅に値上げされるため、価格がどのように変更されたかを知る必要があります。多くの場合、価格の変化を予測する可能性があるため、これは将来の予測やシナリオ分析にとって非常に良いアイデアです。

テーブル間の関係

ここで難しいのは、これをモデルに組み込む方法です。Product テーブルにはすべての製品が 1 回リストされていますが、Product Pricing テーブルでは 1 つの製品が複数回参照されています。したがって、Product Pricing テーブルと Sales テーブルの間に関係を作成することはできません。

製品価格テーブルには複数の値があり、ルックアップ テーブル (製品テーブル) を一意の側にしたいため、これを行う方法はありません。

LuckyTemplates DAX 関数を使用して、時間の経過とともに価格が変動する製品に対処する

このシナリオでは、いくつかの LuckyTemplates DAX 関数を使用して Sales テーブルのデータを分析しながら、Product Pricing テーブルからデータ ポイントを取得する方法を革新的に考案する必要があります。

LuckyTemplates DAX 関数を使用して、時間の経過とともに価格が変動する製品に対処する

製品の平均価格の計算

これが私がやった方法です。このシナリオをモックアップしたとき、追加の作業もいくつか行いました。ここには、製品名、現在の平均価格、および選択した四半期に基づいて変化する製品の平均価格が記載されたこの特定の表があります。

LuckyTemplates DAX 関数を使用して、時間の経過とともに価格が変動する製品に対処する

平均製品価格を計算するには、日付テーブル (四半期の由来) と製品価格テーブルの間に実際には関係がないことを覚えておく必要があります。

TREATAS機能の活用

したがって、ここで選択を行うときは、何らかの方法で Sales テーブルをフィルタリングして、四半期の正しい価格が表示されていることを確認する必要があります。そこで、仮想的な関係を構築できるTREATAS機能を活用しました。

LuckyTemplates DAX 関数を使用して、時間の経過とともに価格が変動する製品に対処する

TREATASを通じて仮想的に関係を構築した後、当社が行う四半期ごとの選択に基づいて製品名と詳細が変更されます。

TREATAS機能は、製品の価格が必ずしも一定ではない予測、広告、マーケティングに多く応用されています。このような問題を実際に解決するには、いくつかのテクニックを組み合わせて使用​​する必要があります。

LuckyTemplates DAX 関数を使用して、時間の経過とともに価格が変動する製品に対処する

ここで、1 回限りの価格に基づいて、総売上高を履歴的に比較したいと思います。総売上と価格調整を比較したいと思います。これには、すべての売上が含まれますが、四半期の価格調整がすべて考慮されています。

LOOKUPVALUE関数の利用

LuckyTemplates DAX 関数を使用して、時間の経過とともに価格が変動する製品に対処する

望ましい結果を得るために、 LOOKUPVALUE関数を使用して数式を考え出しました。価格調整を伴う総売上高の計算では、SUMX関数 sales を使用し、Sales テーブルを参照してから、Quantity テーブルにジャンプしました。最後のステップとして、LOOKUPVALUE関数を使用しました。

LOOKUPVALUE は、可能な限りVLOOKUPに最も近い値です。基本的には、Product Pricing テーブル内で一種のVLOOKUPを実行しますが、その後、Sales テーブルに対して実行している反復にそれを組み込みます。

LOOKUPVALUEの優れた点は、それを使用するために関係が必要ないことです。特定のテーブル内の特定の要素を参照するだけで、他のテーブルにジャンプできます。

LuckyTemplates DAX 関数を使用して、時間の経過とともに価格が変動する製品に対処する

LOOKUPVALUE関数を使用すると、価格の変化を追跡することができます。昨年 2018 年 4 月 26 日に何が起こったかを見てみましょう。1 つの製品、製品 53 を販売しました。

[総売上高] 列には新しい価格の 1,526 ドルが考慮され、[価格調整を含む総売上高] 列には平均製品価格として 1327.62 ドルが考慮されます。

TREATAS 関数の詳細 – LuckyTemplates の仮想リレーションシップLuckyTemplates で TREATAS を使用して仮想リレーションシップを作成する方法LuckyTemplates の複数通貨ロジック – LOOKUPVALUE の例

結論

この例では、データ モデル内に一意の仮想関係を作成する方法としてTREATAS関数を使用しました。これは、より複雑なデータを扱うときに学ぶべき素晴らしいトリックの 1 つです。

LOOKUPVALUE関数についても見てみましょう。これもあまり使用されない独自の関数ですが、この特定の例で使用する必要がある論理的な理由があります。

ビジネスのある時点で扱う可能性が高い、非常に現実的なデータ シナリオをカバーする高品質の開発テクニックをいくつか実装しました。

さらに多くのビジネス分析の例については、LuckyTemplates Online にある以下のミニシリーズ モジュールをチェックしてください。

この詳細なビデオを楽しみながら作業してください。


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