2016/01/31

Power BI - 20 - Power BI Desktop と Access アプリ

受注結果が記録されている"受注"テーブルで ファクト テーブル。これから受注額などを計算する。

テーブル '受注' には、
  • [単価] --- 受注商品の単価
  • [数量] --- 受注商品の数量
  • [割引] --- 受注明細ごとの割引率
  • [受注コード]  --- 受注ごとのユニークキー
を残しているので、明細行ごとの集計額が [単価] * [数量] * (1 - [割引]) になり、[受注コード] ごとに集計額を集計(合計)したものが、受注ごとの受注額に相当する。値を求めるには、
  • 新しい列(計算列)を追加する
  • 新しいメジャーを追加する
のいずれか。


"新しい列"を追加する
とても簡単な方法のひとつ。

金額を表す [書式] と [既定の概要] を "合計" にしておく。
新しい列(計算列) は各行ごとの計算のみに使用でき、すべての行に対し演算が実施される。演算済み値が追加されるのでデータモデルのサイズは増加する。計算列は見出しとして使用することができるカラムになるが、この場面ではその用途はない。

[既定の概要] は暗黙的メジャーなので、行見出しや凡例ごとの集計(SUM)は自動で行われる。

"新しいメジャー"を追加する
メジャーは計算列と異なり演算は使用されるときに行われ、データモデルに計算済み値が保存されることはない。ファクトテーブルの行数は通常多くなっていくので、すべての行で演算が発生する計算列が適さないことがある。また、メジャーはフィルタ済みの値に対し演算が実施されるので太陽量のテーブルであってもパフォーマンスが優位となることが期待できる。

当然だけど同じ結果になる。

受注額 =
SUMX ( '受注', [単価] * [数量] * ( 1 - [割引] ) )

SUMX (MSDN - SUMX)


受注件数 =
DISTINCTCOUNT ( '受注'[受注コード] )

DISTINCTCOUNT (MSDN - DISTINCTCOUNT)

受注額(平均) =
DIVIDE ( '受注'[受注額], '受注'[受注件数] )

DIVIDE (MSDN - DIVIDE)

0 件のコメント: