Power BI矩阵多度量值适配Units/Value切换切片器的实现问询
解决方案:通过自定义切换表实现多度量值的单位切换
1. 创建切换维度表
先在Power BI中新建一个计算表,作为切片器的选项:
Metric Switch = DATATABLE( "Metric Type", STRING, { {"Units Sold"}, {"Value"} } )
注意:不要给这个表和现有数据表建立任何关系。
2. 改写原有度量值,添加切换逻辑
针对你现有的7个度量值,分别创建带切换逻辑的新度量值,根据切片器选择返回对应单位的计算结果:
① 实际值(Actual)
Actual (Switch) = VAR SelectedMetric = SELECTEDVALUE('Metric Switch'[Metric Type], "Units Sold") RETURN IF( SelectedMetric = "Units Sold", [Actual Units Sold], [Actual Value] -- 替换为你已有的实际销售额度量值 )
② 预算目标(Forecast/Budget Target)
Forecast Target (Switch) = VAR SelectedMetric = SELECTEDVALUE('Metric Switch'[Metric Type], "Units Sold") RETURN IF( SelectedMetric = "Units Sold", [Forecast/BudgetTarget to sell], [Forecast Budget Value] -- 替换为你已有的预算销售额度量值 )
③ 实际vs预算差值百分比
该度量为比例值,无需切换单位,直接复用原逻辑:
Delta Actual vs Budget % = [Delta between Actual and Budget as %]
④ 上一财期数值
Previous Fiscal Period (Switch) = VAR SelectedMetric = SELECTEDVALUE('Metric Switch'[Metric Type], "Units Sold") RETURN IF( SelectedMetric = "Units Sold", [Previous Fiscal time period units sold], [Previous Fiscal time period Value] -- 替换为你已有的上一财期销售额度量值 )
⑤ 实际vs上一财期差值
Delta Actual vs Previous Period (Switch) = VAR SelectedMetric = SELECTEDVALUE('Metric Switch'[Metric Type], "Units Sold") RETURN IF( SelectedMetric = "Units Sold", [Delta between Actual and Previous Fiscal time period], [Delta between Actual and Previous Fiscal time period Value] -- 替换为你已有的销售额差值度量值 )
⑥ 财年同期累计差值
YTD Delta vs Last Fiscal Year (Switch) = VAR SelectedMetric = SELECTEDVALUE('Metric Switch'[Metric Type], "Units Sold") RETURN IF( SelectedMetric = "Units Sold", [当前财年年初至上一财年同期的累计差值], [当前财年年初至上一财年同期的销售额累计差值] -- 替换为你已有的销售额累计差值度量值 )
3. 更新矩阵与添加切片器
- 将矩阵中原有的7个度量值,替换为上面新建的带
(Switch)后缀的度量值 - 将
Metric Switch表中的Metric Type字段添加到画布,设置为单选切片器(推荐按钮样式)
完成后,切换切片器选项即可让矩阵内所有相关度量值同步在Units Sold和Value之间切换,无需新增矩阵或额外字段,避免仪表盘拥挤。
内容的提问来源于stack exchange,提问作者Jon
相关产品推荐
相关产品推荐

