3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Power BI workout - 行ラベル

Posted at

Power BI セマンティック モデルのテーブル プロパティ 行ラベル について、どんな機能?と考えるより実際の動作を把握するだけで充分である。

テーブルを用意し、Power BI ビジュアルに列を使用する。

TMDL
createOrReplace

	table Table1
		column PK
			isKey
			sourceColumn: [PK]

		column Name
			sourceColumn: [Name]

		column 'Name (Row label)'
			isDefaultLabel
			sourceColumn: [Name (Row label)]

        column Value
			summarizeBy: sum
			sourceColumn: [Value]

		partition Table1 = calculated
			mode: import
			source = ```
					
					DATATABLE(
					    "PK", INTEGER,
					    "Name", STRING, "Name (Row label)", STRING,
					    "Value", INTEGER, 
					    {
					          { 1, "NameA", "NameA", 10 }
					        , { 2, "NameA", "NameA", 20 }
					        , { 3, "NameB", "NameB", 20 }
					    }
					)
					```

行ラベルに定義した列は個別の値として扱われる。
image.png
ビジュアルにより発行される DAX クエリを読めば動作は明白である。

DAX query
DEFINE
	VAR __DS0Core = 
		SUMMARIZECOLUMNS(
			ROLLUPADDISSUBTOTAL('Table1'[Name], "IsGrandTotalRowTotal"),
			"SumValue", CALCULATE(SUM('Table1'[Value]))
		)

	VAR __DS0PrimaryWindowed = 
		TOPN(502, __DS0Core, [IsGrandTotalRowTotal], 0, 'Table1'[Name], 1)

EVALUATE
	__DS0PrimaryWindowed

ORDER BY
	[IsGrandTotalRowTotal] DESC, 'Table1'[Name]

行ラベルに定義された列を使用するとき、自動的にキー列を含めるという動作。

DAX query
// DAX Query
DEFINE
	VAR __DS0Core = 
		SUMMARIZECOLUMNS(
			ROLLUPADDISSUBTOTAL(
                ROLLUPGROUP('Table1'[PK], 'Table1'[Name (Row label)]),
                "IsGrandTotalRowTotal"
            ),
			"SumValue", CALCULATE(SUM('Table1'[Value]))
		)

	VAR __DS0PrimaryWindowed = 
		TOPN(
            502,
            __DS0Core,
            [IsGrandTotalRowTotal], 0,
            'Table1'[Name (Row label)], 1,
            'Table1'[PK], 1
        )

EVALUATE
	__DS0PrimaryWindowed

ORDER BY
	[IsGrandTotalRowTotal] DESC, 'Table1'[Name (Row label)], 'Table1'[PK]

思ったこと🙄

  • Sort by column も似たような仕組みである

その他

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?