Excel Dax 简明教程

Excel DAX - Recalculating DAX Formulas

Recalculation of a DAX formula 要求反映公式本身内数据的更改和更改。但是,重新计算 DAX 公式会产生性能成本。

即便如此,为了获得准确的结果,重新计算也是必不可少的。在重新计算期间,会检查列依赖关系,如果列发生了更改、数据无效或以前可用的 DAX 公式中出现错误,您会收到通知。

Types of Recalculation

你有两种重新计算 DAX 公式的选项 −

  1. Automatic Recalculation Mode (default)

  2. Manual Recalculation Mode

默认情况下,Power Pivot 会根据需要自动重新计算,同时优化处理所需的时间。但是,如果你使用的是复杂公式或非常大的数据集,并且想要控制更新时间,则可以选择手动更新计算。

DAX 公式的自动和手动重新计算模式都具有优势。但是,推荐的方式是采用自动重新计算模式。通过这种方式,你可以让 Power Pivot 数据保持同步,并防止因删除数据、名称或数据类型发生更改或缺少依赖关系而造成的问题。

Recalculating DAX Formulas Automatically

如果你选择 DAX 公式的默认重新计算模式,即自动重新计算,任何会导致任何 DAX 公式的结果发生更改的数据更改都会触发包含该 DAX 公式的整个列的重新计算。

如下更改始终需要重新计算 DAX 公式 −

  1. 来自外部数据源的值已刷新。

  2. 对 DAX 公式本身进行了更改。

  3. 在 DAX 公式中引用的表或列的名称已更改。

  4. 已添加、修改或删除表之间的关系。

  5. 已添加新的计算字段或计算列。

  6. 在工作簿内对其他 DAX 公式进行了更改,因此依赖这些 DAX 公式的列或计算需要重新计算。

  7. 已在表中插入或删除行。

  8. 你应用了一个需要执行查询以更新数据集的筛选器。此筛选器可以应用于 DAX 公式或作为数据透视表或数据透视图的一部分。

When to Use Manual Recalculation Mode?

在工作簿中完成所有必需的 DAX 公式之前,你可以使用手动重新计算模式。通过这种方式,你可以避免在仍然处于草稿状态的工作簿上计算公式结果的成本。

你可以在下列情况下使用 DAX 公式的手动重新计算 −

  1. 您正在使用模板设计 DAX 公式,并且希望在验证 DAX 公式之前更改使用 DAX 公式中使用的行和表的名称。

  2. 您知道工作簿中的某些数据已更改,但是您正在使用尚未更改的其他列,因此您希望推迟重新计算。

  3. 您正在处理一个具有许多依赖项的工作簿,并且希望推迟重新计算,直到您确信已进行所有必要的更改。

但是,您应该知道,只要工作簿配置为手动重新计算模式,就不会执行任何公式的验证或检查。这将导致以下结果:

  1. 添加到工作簿中的任何新公式都将标记为包含错误。

  2. 在新计算列中不会出现任何结果。

Configuring the Workbook for Manual Recalculation

正如您所了解的,自动重新计算是任何工作簿的数据模型中的默认模式。要为手动重新计算配置工作簿,请执行以下操作:

  1. 单击 Power Pivot 窗口的“开始”选项卡上的“设计”选项卡。

  2. 单击“计算”组中的“计算选项”。

  3. 单击下拉列表中的“手动计算模式”。

workbook for manual recalculation

Recalculating DAX Formulas Manually

要手动重新计算 DAX 公式,请执行以下操作:

  1. 单击 Power Pivot 窗口的“开始”选项卡上的“设计”选项卡。

  2. 单击“计算”组中的“计算选项”字段。

  3. 单击下拉列表中的“立即计算”字段。

recalculating dax formulas manually