如何创建Measure:仅在变量A变化时计算,否则保留最新值
实现仅在变量A变化时计算的Power BI Measure
需求说明
创建一个Measure,仅当变量A发生变化时重新计算输出结果;变量A未变化时,保留上一次计算得到的最新值(示例展示了变量A变化时计算值更新、不变时保留原值的效果)。
示例参考表格
| 更优方式 | 查看内容 |
|---|---|
| 图片 | 包含 |
| 上述 | 表格 |
解决方案
通过DAX函数结合上下文判断即可实现,以下是具体代码示例:
1. 定义基础计算Measure
基础计算值 = SUM('目标数据表'[需计算的数值列])
2. 创建动态保留计算值的核心Measure
动态保留计算值 = VAR 当前A值 = SELECTEDVALUE('目标数据表'[变量A]) VAR 上一次A值 = PREVIOUSVALUE('目标数据表'[变量A]) VAR 最新计算结果 = [基础计算值] VAR 历史保留结果 = CALCULATE( [基础计算值], FILTER( ALL('目标数据表'[变量A]), '目标数据表'[变量A] = 上一次A值 ) ) RETURN IF(当前A值 <> 上一次A值, 最新计算结果, 历史保留结果)
注意事项
- 若变量A支持多值选择,需将
SELECTEDVALUE替换为CONCATENATEX(VALUES('目标数据表'[变量A]), [变量A], ", "),统一多值场景的判断逻辑 - 如果需要基于时间维度保留最新计算值,可结合
LASTDATE('日期表'[日期])或LASTNONBLANK('日期表'[日期], [基础计算值])优化历史结果的获取逻辑
内容的提问来源于stack exchange,提问作者Guilherme Ferreira
相关产品推荐
相关产品推荐

