加入 PowerBI自己学 知识星球:下载源文件,边学边练;遇到问题,提问交流,有问必答。
计算组是一组加在度量值外面的计算逻辑,它通过SELECTEDMEASURE()函数调用度量值并增加计算逻辑。一个计算组可以有多个计算逻辑,每个计算逻辑称作一个计算项。 计算组以表/字段存储在模型中。使用计算组可以减少书写度量值的个数,用于衍生度量值、双层表头、切片器等。
提示:
1 PowerBI在2020年7月后的版本支持计算组功能,需要使用外部工具Tabular Editor创建和修改,2023年10月后的版本可直接在桌面版中创建和修改。
2 如果启用了计算组,原本表里面的数字类型的字段前面的“∑”就会消失(隐式度量值被禁用,在模型视图中可以查看到阻止隐式度量值的开关直接变灰),不能直接在视觉对象中拖入字段进行聚合运算,已经使用的隐式度量值也会失效。因此,不管用不用到计算组,都要养成书写基础度量值的习惯。
举例
新建一个如下计算组,包括MTD、QTD、YTD等时间智能相关的计算项。
模型
度量值
销量 = SUM('销售表'[销量])
销量_LY = CALCULATE([销量],DATEADD('Date'[Date],-1,YEAR))
增长率 = DIVIDE([销量]-[销量_LY],[销量_LY])
操作步骤
STEP 1 在模型视图中,点击菜单栏主页下的计算组,新建一个计算组。
STEP 2 输入所需计算项的名称和代码。
MTD = CALCULATE(SELECTEDMEASURE(),DATESMTD('Date'[Date]))
QTD = CALCULATE(SELECTEDMEASURE(),DATESQTD('Date'[Date]))
YTD = CALCULATE(SELECTEDMEASURE(),DATESYTD('Date'[Date]))
LY = CALCULATE(SELECTEDMEASURE(),DATEADD('Date'[Date],-1,YEAR))
……
STEP 3 调整计算项的顺序。选中计算项,在属性窗格内通过拖动字段调整计算项的顺序。这个顺序的背后是一个自动生成的序号列,用于给计算组列按列排序,以便计算项在坐标轴或切片器中按需排序。
STEP 4 双击计算组的表名和列名可以修改计算组的名称。
STEP 5 在报告中使用计算组。以下面3个场景为例:
1 把计算组放入卡片图的视觉对象筛选器中,筛选某个计算项,可生成衍生度量值。
2 把计算组放入切片器,可以在页面空间不足时,分别展示MTD/QTD/YTD等日期区间下的度量值结果。
3 把计算组放入矩阵的列,可实现双层表头,直观地展示MTD/QTD/YTD等日期区间下的度量值结果。为了显示友好,列字段中的时间智能名称可以修改为“.”。