SUMMARIZE
SUMMARIZE是新建一张表,语法:
SUMMARIZE(TABLE, GROUP BY COLUMN1, ..., GROUP BY COLUMNX, "NEW COLUMN 1", MEASURE 1, ......, "NEW COLUMN X", MEASUREX)
参数TABLE是需要分组的表
参数GROUP BY COLUMN1...X是需要分组的列
参数“NEW COLUMN1”, MEASURE1是派生的列名和度量值
使用SUMMARIZE新建一张表:
SUMMARIZE = SUMMARIZE(Sheet1, Sheet1[CATEGORY], Sheet1[PRODUCT], "AMT", [AMT], "MEASURE A", [MeasureA])
新生成的表:
新生成的表的数据:

SUMMARIZE可以配合CALCULATE使用:
新建度量值:
SUMMARIZE A = CALCULATE( SUMX(SUMMARIZE(Sheet1, Sheet1[CATEGORY], "AMT", [AMT] * 2), MAX([AMT])))
配合ADDCOLUMNS使用:
新建表度量值:
SUMMARIZE ADDCOLUMNS = ADDCOLUMNS(SUMMARIZE(Sheet1,Sheet1[CATEGORY]), "ADD COLUMNS AMT", [AMT])
新生成的表:
新生成的表的数据:

配合ROOLUP和ISSUBTOTAL使用:
ROOLUP函数是用来给字段添加Sub Total,也就是会在原来的基础上会多一行或者几行数据,用法就是在SUMMARIZE函数里面需要对那一个GROUP BY 的列求和,就在哪一列外面套一层,比如ROOLUP(GROUP BY COLUMN1)
ISSUBTOTAL是一个判断函数,用来新增一列判断SUMMARIZE改行的值正常的值还是SUB TOTAL的值,比如ISSUBTOTAL(GROUP BY COLUMN1)
新建表度量值:
SUMMARIZE ROOLUP = SUMMARIZE(Sheet1,ROLLUP(Sheet1[CATEGORY]), "ROOLUP AMT", [AMT], "IS SUBTOTAL", ISSUBTOTAL(Sheet1[CATEGORY]))
新生成的表:
新生成的表的数据:

总结:
SUMMARIZE 用于生成数据汇总表,按一列或多列对数据进行分组,并且可以使用指定的表达式为汇总后的表添加新列

浙公网安备 33010602011771号