- 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]) )