2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

DAX workout - Calculation groups

Posted at

Power BI Desktop でも Calculation groups の追加編集ができるようになったので。
Power BI Desktop の編集機能がプレビューなだけで、Power BI の前身ともいえる Azure Analysys Services / SQL Server Analysis Services から利用できる機能。Premium 機能ではない。

image.png
暗黙のメジャーの使用には制限が追加される。データモデル対するこの変更は、Power BI Desktop では元に戻すことができない。暗黙のメジャーに関する制限は他の機能でも起きるので、常に明示的にメジャーを定義することが優先となる。
image.png
暗黙のメジャーはビジュアルに列を配置し計算の種類を選択する手段。Excel ピボットテーブルの計算の種類と同じような動作だ。
image.png

動作を知る

使い方を参考にしたり、導入を検討する前に動作を把握しておくとよい。
image.png
追加した Calculation group に計算アイテムAlways zeroをひとつ追加。

Calculation item (DAX)
Always zero = 0
    // SELECTEDMEASURE()

ふたつのメジャーとビジュアル(テーブルとカード)、そして 計算アイテム列 Show as をスライサで配置
image.png

DAX Query (テーブル ビジュアル)
DEFINE
	VAR __DS0Core = 
		SUMMARIZECOLUMNS(
			ROLLUPADDISSUBTOTAL('Product'[区分名], "IsGrandTotalRowTotal"),
			"Amount", 'Sales'[Amount] // 👈 ココ
		)

	VAR __DS0PrimaryWindowed = 
		TOPN(502, __DS0Core, [IsGrandTotalRowTotal], 0, 'Product'[区分名], 1)

EVALUATE
	__DS0PrimaryWindowed

ORDER BY
	[IsGrandTotalRowTotal] DESC, 'Product'[区分名]

スライサで選択した計算アイテム列 Show as の作用により、すべてのメジャーは Always zero として評価される。すべてのメジャーを置き換えるような動作だ。
image.png
テーブル ビジュアルが発行する DAX クエリを観察すると、フィルタ テーブルが追加されているだけでメジャーを置き換えるような所作は確認できない。メジャーの定義されている式、評価される式だけを変更するという動作ということになる。

DAX Query (テーブル ビジュアル)
DEFINE
	VAR __DS0FilterTable = 
		TREATAS({"Always zero"}, 'Calculation group'[Show as])

	VAR __DS0Core = 
		SUMMARIZECOLUMNS(
			ROLLUPADDISSUBTOTAL('Product'[区分名], "IsGrandTotalRowTotal"),
			__DS0FilterTable,
			"Amount", 'Sales'[Amount] // 👈 ココ
		)

	VAR __DS0PrimaryWindowed = 
		TOPN(502, __DS0Core, [IsGrandTotalRowTotal], 0, 'Product'[区分名], 1)

EVALUATE
	__DS0PrimaryWindowed

ORDER BY
	[IsGrandTotalRowTotal] DESC, 'Product'[区分名]

フィールド パラメータ機能でビジュアルへのメジャーの配置を変更することはできるけれども、この動作はビジュアルに依存する機能。なので、Power BI レポートでのみ利用できるということ。

Calculation groups はデータモデルのみで機能を実現するので、Power BI レポートのみということにはならない。Analyze in Excel でも動作する。
image.png

思ったこと🙄

なぜ SELECTEDMEASURE 関数を使うことになるのか。よくわかる。

動作を知っていれば難しいことはないはずだ。

その他

2
4
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
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?