带有选项的 SUMMARIZE 函数
描述
在阅读此变体之前,请先阅读 DAX SUMMARIZE 函数。
您可以在 SUMMARIZE 函数中使用以下高级选项 −
- ROLLUP 函数
- ROLLUPGROUP 函数
- ISSUBTOTAL 函数
在 SUMMARIZE 函数中使用这些函数时,您将获得不同的结果。
如果您使用 ROLLUP 函数或 ROLLUPGROUP 函数,则通过在 groupBy_columnName 列上向结果添加汇总行来修改 SUMMARIZE 函数的行为。
如果您在 ROLLUP 函数中使用 ROLLUPGROUP 函数,则可以防止汇总中的部分小计行。
如果您在 SUMMARIZE 函数的表达式部分中使用 ISSUBTOTAL 函数,您将在结果表中创建另一个包含 ISSUBTOTAL 返回的逻辑值的列。如果行包含作为 ISSUBTOTAL 函数参数给出的列的小计值,则该值为 TRUE。否则,为 FALSE。
Syntax
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 函数)
Sr.No. | 参数与说明 |
---|---|
1 |
groupBy_columnName 现有列的限定名称,用于根据其中找到的值创建摘要组。此参数不能是表达式。 |
参数(ISSUBTOTAL 函数)
Sr.No. | 参数与说明 |
---|---|
1 |
columnName SUMMARIZE 函数表中任意列的名称或与表相关的表中任意列的名称。 |
SUMMARIZE 函数的其他参数如 DAX SUMMARIZE 函数中所述。
返回值
包含所选列的表groupBy_columnName 参数和由 name 参数设计的汇总列以及另外将行汇总到 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]) )
示例 – ROLLUP 与 ROLLUPGROUP
= 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]) )
dax_functions_aggregation.html