请求编写DAX代码:按最新日期、类别及地点生成计算列
解决方案:将度量值逻辑转换为计算列生成地图可用的评分表
核心逻辑
由于Power BI地图的条件格式不支持基于度量值的动态计算,我们需要通过计算列或直接生成聚合表的方式,提前计算出每个地点、类别在最新检查日期的合计评分,得到可直接用于地图的静态列数据。
方法1:通过计算列逐步处理(适合新手理解)
假设你的源数据表名为AuditData,包含字段:地点、类别、评分、检查日期。
添加「最新检查日期」计算列
为每个地点+类别组合提取其最新的检查日期:最新检查日期 = CALCULATE( MAX(AuditData[检查日期]), ALLEXCEPT(AuditData, AuditData[地点], AuditData[类别]) )添加「是否为最新记录」计算列
标记出每条记录是否属于该地点+类别下的最新日期组:是否为最新记录 = IF(AuditData[检查日期] = AuditData[最新检查日期], 1, 0)生成最终聚合表
筛选出最新记录并按地点、类别聚合合计评分:地点类别最新评分表 = SUMMARIZE( FILTER(AuditData, AuditData[是否为最新记录] = 1), AuditData[地点], AuditData[类别], "合计评分", SUM(AuditData[评分]) )
方法2:一步生成聚合表(高效简洁)
跳过中间计算列,直接用嵌套CALCULATE生成目标表:
地点类别最新评分表 = SUMMARIZE( AuditData, AuditData[地点], AuditData[类别], "合计评分", CALCULATE( SUM(AuditData[评分]), AuditData[检查日期] = CALCULATE(MAX(AuditData[检查日期]), ALLEXCEPT(AuditData, AuditData[地点], AuditData[类别])) ) )
地图应用
将生成的地点类别最新评分表中的地点字段拖入地图视觉对象,合计评分字段用于设置条件格式(如颜色渐变、数据条),即可实现你需要的带条件格式的地图效果。
内容的提问来源于stack exchange,提问作者Jules
相关产品推荐
相关产品推荐

