假设有一张销售数据表Sale:

报表上有一个切片器(Slicer)(下拉框样式),

当选择"第一"时,计算列[FirstSale]与列[Target]的百分比,

选择"第二"时,计算列[SecondSale]与列[Target]的百分比

选择"第三"时,计算列[ThirdSale]与列[Target]的百分比

实现方法:

1. 首先用一个表Slicer用来显示下拉框

2. 我们在Sale表新增三个度量值(也可以在其他表里新增度量值),

分别是列[FirstSale]与列[Target]的百分比,

列[SecondSale]与列[Target]的百分比,

[ThirdSale]与列[Target]的百分比。如下:

FirstMeasure = DIVIDE(SUM(Sale[FirstSale]),SUM(Sale[Target]))
SecondMeasure = DIVIDE(sum(Sale[SecondSale]),sum(Sale[Target]))
ThirdMeasure = DIVIDE(sum(Sale[ThirdSale]),sum(Sale[Target]))

3. 再新增一个度量值SwitchMeature用于切换(注意这4个度量值都要把格式设置为%):

SwitchMeasure = SWITCH(TRUE(),
SELECTEDVALUE(Slicer[Measure])="第一",[FirstMeasure],
SELECTEDVALUE(Slicer[Measure])="第二",[SecondMeasure],
SELECTEDVALUE(Slicer[Measure])="第三",[ThirdMeasure])

其意思为,当Slicer的Measure字段的选择值为“第一”时,输出度量值[FirstMeature],其他类推

4.添加一个卡片,显示SwitchMeature,然后就能通过Slicer控制度量值了

如果三个度量值不需要单独使用的话,其实还可以只用一个度量值就完成动态切换:

Measure = SWITCH(TRUE(),
SELECTEDVALUE(Slicer[Measure])="第一",DIVIDE(SUM(Sale[FirstSale]),SUM(Sale[Target])),
SELECTEDVALUE(Slicer[Measure])="第二",DIVIDE(SUM(Sale[SecondSale]),SUM(Sale[Target])),
SELECTEDVALUE(Slicer[Measure])="第三",DIVIDE(SUM(Sale[ThirdSale]),SUM(Sale[Target]))
)

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐