- Excel DAX 教程
- DAX - 首页
- DAX - 概述
- DAX - 计算列
- DAX - 计算字段/度量值
- DAX - 编辑计算字段
- DAX - 删除计算字段
- DAX - 语法
- DAX - 运算符
- DAX - 标准参数
- DAX - 函数
- DAX - 理解 DAX 函数
- DAX - 评估上下文
- DAX - 公式
- 更新 DAX 公式的结果
- 更新数据模型中的数据
- DAX - 重新计算 DAX 公式
- DAX 公式重新计算疑难解答
- DAX - 公式错误
- DAX - 时间智能
- DAX - 筛选器函数
- DAX - 场景
- 执行复杂计算
- DAX - 使用文本和日期
- 条件值和错误测试
- DAX - 使用时间智能
- DAX - 排名和比较值
- Excel DAX 有用资源
- DAX - 快速指南
- DAX - 有用资源
- DAX - 讨论
DAX 公式重新计算疑难解答
每当工作簿的数据模型中发生更改时,Power Pivot 都会对现有数据进行分析,以确定是否需要重新计算,并以最有效的方式执行更新。
在重新计算 DAX 公式期间,Power Pivot 处理以下内容:
- 依赖关系
- 依赖列的重新计算顺序
- 事务
- 易失函数的重新计算
依赖关系
当一个列依赖于另一个列,并且该另一个列的内容以任何方式更改时,所有相关列可能都需要重新计算。
Power Pivot 始终对表执行完全重新计算,因为完全重新计算比检查更改的值更有效。触发重新计算的更改可能包括删除列、更改列的数字数据类型或添加新列。这些更改被视为重大更改。但是,看似微不足道的更改,例如更改列的名称,也可能触发重新计算。这是因为列的名称在 DAX 公式中用作标识符。
在某些情况下,Power Pivot 可能会确定可以将列排除在重新计算之外。
依赖列的重新计算顺序
依赖关系在任何重新计算之前都已计算。如果有多个列相互依赖,Power Pivot 会遵循依赖关系的顺序。这确保了列以正确的顺序以最大速度进行处理。
事务
重新计算或刷新数据的操作作为事务进行。这意味着,如果刷新操作的任何部分失败,则其余操作将回滚。这样做是为了确保数据不会处于部分处理状态。但是,您不能像在关系数据库中那样管理事务或创建检查点。
易失函数的重新计算
NOW、RAND 或 TODAY 等 DAX 函数没有固定值,被称为易失函数。如果在计算列中使用此类 DAX 函数,则查询或筛选的执行通常不会导致它们重新评估,以避免性能问题。
仅当整个列重新计算时,才会重新计算这些 DAX 函数的结果。这些情况包括从外部数据源刷新或手动编辑导致包含这些函数的 DAX 公式重新评估的数据。
但是,如果在计算字段的定义中使用这些函数,则始终会重新计算这些函数。
广告