LoginSignup
10
6

More than 3 years have passed since last update.

受注日、売上日を持つテーブルで共通の年月で集計する方法

Last updated at Posted at 2019-09-20

初投稿。よく理解できていないこと書いている可能性があるので、お気づきの点はご指摘ください。:sweat_smile:

要件

一つのファクトテーブルで受注日と売上日をもつテーブルがあった場合、
受注日と売上日をベースに月ごとに集計したり、前年比を出したい要件がある。

課題

当然カレンダーテーブルを用意しリレーションを張るのがセオリーだが、
POWERBIのモデリング上リレーションは1本しか張れないため、カレンダーテーブルのキーを受注日に張るか、売上日に張るかのどちらかになってしまう。
image.png
そもそも2本張れたとしても、たぶん求める結果にならないような気がする。
じゃあどうすればいい?

2つの解決法

1) カレンダーテーブルを2つ用意する方法

マスタとなるカレンダーテーブルをNEWTABLEで複製(受注カレンダー=(出荷)カレンダー)し、
受注日、売上日にリレーションを張る。
二つの日付ディメンションでフィルターをかけることができるが、受注日、売上日がand条件になり使う要件が限られる。
image.png

2) DAXのUSERERATIONSHIP関数を使用する方法

売上金額UR = CALCULATE(SUM('受注テーブル'[受注金額]),USERELATIONSHIP('受注カレンダー'[年月日],'受注テーブル'[売上日]))
image.png
このままだとエラーが出てしまうので、リレーションを追加する
image.png
今度はちゃんと表示された。
image.png

気づき

USERERATIONSHIPの使い方
モデリングでのリレーションで点線で表示されるアクティブでないリレーションはこんな使い方があるんだね。

Special Thanks to Guy in Cube
https://www.youtube.com/watch?v=2BxaUXlx3K4

10
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
6