Power BI中通过DAX动态选择基准月份及基准成本的实现咨询
Power BI DAX 动态选择基准月份计算相对成本实现方案
核心逻辑为使用独立无关联参数表提供基准月份选项,通过DAX度量值绕过原有上下文筛选获取基准值,再完成比值计算。
步骤1:创建独立基准月份参数表
该表不需要和原有数据模型建立关联,仅用于提供可选的基准月份选项,新建表DAX如下:基准月份表 = DISTINCT('你的业务表名'[Month])
注:把你的业务表名替换为实际存储月份和成本数据的表名
步骤2:编写基准成本获取度量值
该度量值会忽略表格当前行的月份筛选,获取切片器选中月份对应的成本:
基准成本 = CALCULATE( SUM('你的业务表名'[Cost]), ALL('你的业务表名'[Month]), // 移除当前行的月份筛选限制 '你的业务表名'[Month] = SELECTEDVALUE('基准月份表'[Month]) // 匹配切片器选中的基准月份 )
步骤3:编写相对成本比值度量值
用基准成本除以当前行月份的成本,得到需要的计算值:
成本相对比值 = DIVIDE( [基准成本], SUM('你的业务表名'[Cost]), BLANK() // 分母为0时返回空值避免报错 )
可选扩展:计算相对月份差
如果需要展示当前月份和基准月份的相对间隔,可增加如下度量值:
相对月份 = SELECTEDVALUE('你的业务表名'[Month]) - SELECTEDVALUE('基准月份表'[Month])
返回值为0代表是基准月份,负数代表基准月份之前的月份,正数代表基准月份之后的月份
最终配置操作
- 将
基准月份表的Month字段添加到页面切片器,支持单选任意月份作为基准 - 将原业务表的
Month、Cost字段,以及上面编写的度量值添加到表格/矩阵视觉对象即可 - 切换切片器的月份选项,所有计算值会自动更新
原始数据展示效果

选择202006为基准后的计算效果

内容的提问来源于stack exchange,提问作者Mike Eale
相关产品推荐
相关产品推荐

