经营报表切换了月份,某个度量值随之变化,一项计算列却没有重新形成另一组行值。这种差别不能只用“都是DAX计算”解释。Microsoft Learn的计算选项说明,把两者的计算时点、结果保存方式和上下文分别列出。[1]
按该文档,计算列通过逐行评估表达式扩展表,作为数据刷新的一部分计算,结果保存在模型文件中。它在用户与报表交互时保持静态。这里的静态针对已计算的列值,不是说计算列永远不能更新,也不是说它不能出现在切片器或筛选器中。
同页明确列出,计算列能够用于视觉对象的切片器、筛选器、行和列。因此,“可用来筛选”与“被用户选择触发重新计算”是两个不同问题。若把这两句话混写,就容易认为一项字段能够放进切片器,它的既有行值便必然随每次点击重算。
度量值采用另一种安排:文档称它根据需要计算,响应用户在报表中的选择,结果不会预先计算后存储在磁盘上。比较表把其上下文列为筛选器。理解它在不同选择下得到不同结果,需要连同当前筛选范围,而不只看度量值名称有没有改变。
可以作一个概念比较:计算列关注模型中每一行已经形成的值,度量值关注当前条件下需要计算的结果。这只是对原文机制的归纳,没有使用真实经营数据,也没有运行任何DAX表达式。选定某月后看到的行或汇总发生变化,不等于每个底层计算列值都被重新求了一遍。
该页面还将Power Query自定义列、计算表和视觉计算分列,说明“计算”这个总称下面存在不同对象。本篇只解释计算列与度量值,没有根据文档里的性能描述为企业选择方案,也未把视觉计算的行为套到度量值上。
本次完整阅读了这页提取文字,页面标示更新日2026年4月22日;没有打开链接中的进一步教程或测试生产报表。交接计算口径时,可把对象类型、计算时点和筛选范围一并说清。切片器变化只是一个可见动作,具体哪个对象重算,仍取决于它在模型中的定义。
信息来源
本文基于上述公开资料整理,未使用来源页面的图片、视频或嵌入媒体。