- DAX 函式教程
- DAX 函式 - 首頁
- DAX 函式 - 簡介
- DAX 引數命名約定
- 描述結構
- DAX 函式 - 聚合
- DAX 函式 - 篩選
- DAX 函式 - 時間智慧
- DAX 函式 - 日期和時間
- DAX 函式 - 資訊
- DAX 函式 - 邏輯
- 數學和三角函式
- DAX 函式 - 父子關係
- DAX 函式 - 統計
- DAX 函式 - 文字
- DAX 函式 - 其他
- DAX 函式有用資源
- DAX 函式 - 快速指南
- DAX 函式 - 有用資源
- DAX 函式 - 討論
帶選項的 SUMMARIZE 函式
描述
閱讀 DAX SUMMARIZE 函式後再閱讀此變體。
您可以在 SUMMARIZE 函式中使用以下高階選項:
- ROLLUP 函式
- ROLLUPGROUP 函式
- ISSUBTOTAL 函式
在 SUMMARIZE 函式中使用這些函式時,您將獲得不同的結果。
如果使用 ROLLUP 函式或 ROLLUPGROUP 函式,則 SUMMARIZE 函式的行為會透過向 groupBy_columnName 列的結果中新增彙總行來修改。
如果在 ROLLUP 函式中使用 ROLLUPGROUP 函式,則可以防止彙總行中的部分小計。
如果在 SUMMARIZE 函式的表示式部分使用 ISSUBTOTAL 函式,則您將在結果表中建立另一列,其中包含 ISSUBTOTAL 返回的邏輯值。如果該行包含作為 ISSUBTOTAL 函式引數給出的列的小計值,則該值為 TRUE;否則為 FALSE。
語法
SUMMARIZE (<table>, <groupBy_columnName>, [<groupBy_columnName>] …,
[ROLLUP (<groupBy_columnName>, [<groupBy_columnName> …])],
[<name>, <expression>] …)
SUMMARIZE (<table>, <groupBy_columnName>, [<groupBy_columnName>] …,
[ROLLUPGROUP (<groupBy_columnName>, [<groupBy_columnName> …])],
[<name>, <expression>] …)
SUMMARIZE (<table>, <groupBy_columnName>, [<groupBy_columnName>] …,
[ROLLUP (ROLLUPGROUP (<groupBy_columnName>, [<groupBy_columnName>] …))],
[<name>, <expression>] …)
SUMMARIZE (<table>, <groupBy_columnName>, [<groupBy_columnName>] …,
[ROLLUP (<groupBy_columnName>, [<groupBy_columnName> …])],
[<name>, {<expression> | ISSUBTOTAL (<columnName>)}] …)
引數(ROLLUP/ROLLUPGROUP 函式)
| 序號 | 引數和描述 |
|---|---|
| 1 |
groupBy_columnName 現有列的限定名稱,用於根據其中找到的值建立彙總組。此引數不能是表示式。 |
引數(ISSUBTOTAL 函式)
| 序號 | 引數和描述 |
|---|---|
| 1 |
columnName SUMMARIZE 函式的表中任何列的名稱,或與該表相關的表中任何列的名稱。 |
SUMMARIZE 函式的其他引數如 DAX SUMMARIZE 函式中所述。
返回值
一個表,其中包含 groupBy_columnName 引數的選擇列和名稱引數設計的彙總列,此外還有 groupBy_columnName 列的彙總行。如果在 ROLLUP 中使用 ROLLUPGROUP,則不會顯示小計。
如果使用 SUBTOTAL 函式:
附加一列,如果該行包含作為引數給出的列的小計值,則為 TRUE,否則為 FALSE。
備註
ROLLUP 函式中提到的列不能作為 SUMMARIZE 函式的 groupBy_columnName 引數引用。
ROLLUP 函式只能用作 SUMMARIZE 函式的引數,不能用於其他任何地方。
ROLLUPGROUP 函式只能用作以下引數,不能用於其他任何地方。
- SUMMARIZE 函式,或
- ROLLUP 函式
ISSUBTOTAL 函式只能用於 SUMMARIZE 函式的表示式部分。
ISSUBTOTAL 必須以匹配的名稱列開頭
示例 - ROLLUP
= SUMMARIZE ( SalesTarget, ROLLUP (SalesTarget[SalespersonID]), SalesTarget[SalesTarget],"MaxTarget",MAX (SalesTarget[SalesTarget]) )
示例 – 帶 ROLLUPGROUP 的 ROLLUP
= SUMMARIZE (
SalesTarget,ROLLUP (ROLLUPGROUP (SalesTarget[SalespersonID])),
SalesTarget[SalesTarget],"MaxTarget",MAX(SalesTarget[SalesTarget])
)
示例 - ISSUBTOTAL
= SUMMARIZE (
SalesTarget,ROLLUP (ROLLUPGROUP (SalesTarget[SalespersonID])),
SalesTarget[SalesTarget],"MaxTarget",MAX (SalesTarget[SalesTarget]),
"IsSubTotalSalesTarget", ISSUBTOTAL (SalesTarget[SalesTarget])
)