Power BI实现动态度量值

假设有一张销售数据表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]))
)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值