Excel Dax 简明教程
Excel DAX - Recalculating DAX Formulas
Recalculation of a DAX formula 要求反映公式本身内数据的更改和更改。但是,重新计算 DAX 公式会产生性能成本。
即便如此,为了获得准确的结果,重新计算也是必不可少的。在重新计算期间,会检查列依赖关系,如果列发生了更改、数据无效或以前可用的 DAX 公式中出现错误,您会收到通知。
Types of Recalculation
你有两种重新计算 DAX 公式的选项 −
-
Automatic Recalculation Mode (default)
-
Manual Recalculation Mode
默认情况下,Power Pivot 会根据需要自动重新计算,同时优化处理所需的时间。但是,如果你使用的是复杂公式或非常大的数据集,并且想要控制更新时间,则可以选择手动更新计算。
DAX 公式的自动和手动重新计算模式都具有优势。但是,推荐的方式是采用自动重新计算模式。通过这种方式,你可以让 Power Pivot 数据保持同步,并防止因删除数据、名称或数据类型发生更改或缺少依赖关系而造成的问题。
Recalculating DAX Formulas Automatically
如果你选择 DAX 公式的默认重新计算模式,即自动重新计算,任何会导致任何 DAX 公式的结果发生更改的数据更改都会触发包含该 DAX 公式的整个列的重新计算。
如下更改始终需要重新计算 DAX 公式 −
-
来自外部数据源的值已刷新。
-
对 DAX 公式本身进行了更改。
-
在 DAX 公式中引用的表或列的名称已更改。
-
已添加、修改或删除表之间的关系。
-
已添加新的计算字段或计算列。
-
在工作簿内对其他 DAX 公式进行了更改,因此依赖这些 DAX 公式的列或计算需要重新计算。
-
已在表中插入或删除行。
-
你应用了一个需要执行查询以更新数据集的筛选器。此筛选器可以应用于 DAX 公式或作为数据透视表或数据透视图的一部分。
When to Use Manual Recalculation Mode?
在工作簿中完成所有必需的 DAX 公式之前,你可以使用手动重新计算模式。通过这种方式,你可以避免在仍然处于草稿状态的工作簿上计算公式结果的成本。
你可以在下列情况下使用 DAX 公式的手动重新计算 −
-
您正在使用模板设计 DAX 公式,并且希望在验证 DAX 公式之前更改使用 DAX 公式中使用的行和表的名称。
-
您知道工作簿中的某些数据已更改,但是您正在使用尚未更改的其他列,因此您希望推迟重新计算。
-
您正在处理一个具有许多依赖项的工作簿,并且希望推迟重新计算,直到您确信已进行所有必要的更改。
但是,您应该知道,只要工作簿配置为手动重新计算模式,就不会执行任何公式的验证或检查。这将导致以下结果:
-
添加到工作簿中的任何新公式都将标记为包含错误。
-
在新计算列中不会出现任何结果。