Excel Dax 简明教程
Excel DAX - Calculated Columns
@{s1} 是通过定义列值的 DAX 公式将您添加到工作簿数据模型中现有表中的列。您将创建计算列,而不是导入列中的值。
您可以在数据透视表、数据透视图、Power 透视表、Power 透视图表或 Power View 报表中使用计算列,就像使用任何其他表列一样。
Understanding Calculated Columns
用于创建计算列的 DAX 公式类似于 Excel 公式。但是,在 DAX 公式中,您不能为表中的不同行创建不同的公式。DAX 公式自动应用于整个列。
例如,您可以创建一个计算列,从现有列 - “日期”中提取年份,使用 DAX 公式 −
= YEAR ([Date])
YEAR 是一个 DAX 函数,Date 是表中的现有列。如您所见,表名括在括号中。您将在章节 DAX Syntax 中了解更多相关信息。
当您使用此 DAX 公式将列添加到表中时,在创建公式后便会计算列值。将创建一列标题为 CalculatedColumn1 且填入年份值的新列。
当有必要时,例如在刷新底层数据时,列值会被重新计算。您可以根据现有列、计算字段(度量)和其他计算列创建计算列。
Creating a Calculated Column
考虑一下数据模型和奥运会结果,如下面的截图所示。
-
Click the Data View.
-
Click the Results tab.
您将查看结果表。
如上图所示,最右侧列的标题是 – 添加列。
-
在功能区上点击“设计”选项卡。
-
点击列组中的添加。
指针将出现在公式栏中。这意味着您正在添加带有 DAX 公式的列。
-
在公式栏中输入 =YEAR ([Date])。
正如在上述截图中看到的,带标题 – 添加列的最右侧列被高亮显示。
-
Press Enter.
完成计算需要一段时间 (几秒钟)。请稍候。
新的计算列将插入到最右侧的添加列的左侧。
如上图所示,新插入的计算列被高亮显示。整个列中的值根据使用的 DAX 公式出现。列标题是 CalculatedColumn1。
Renaming the Calculated Column
若要将计算列重命名为有意义的名称,请执行以下操作 −
-
双击列标题。列名将被高亮显示。
-
Select the column name.
-
输入年份(新名称)。
如上图所示,计算列的名称已更改。
您还可以通过右键单击该列,然后单击下拉列表中的重命名来重命名计算列。
只需确保新名称与表中的现有名称不冲突。
Checking the Data Type of the Calculated Column
您可以按如下方式检查计算列的数据类型 −
-
单击功能区上的“主页”选项卡。
-
Click the Data Type.
正如您在以上截图中看到的,下拉列表具有列可能的数 据类型。在此示例中,选定的是默认(自动)数据类型,即整数。
Performance Issues
正如前面在奥运会结果示例中所见,Results 表有大约 35,000 行数据。因此,当您使用 DAX 公式创建列时,已立即在该列中计算了全部 35,000 多个值,这需要一些时间。数据模型和表旨在处理数百万行数据。因此,当 DAX 公式有太多引用时,它可能会影响性能。您可以通过以下操作避免性能问题:
-
如果您的 DAX 公式包含许多复杂依赖关系,请在步骤中创建它,将结果保存在新的计算列中,而不是一次创建单个大公式。这使您能够验证结果并评估性能。
-
在进行数据修改时,需要重新计算计算列。您可以将重新计算模式设置为手动,从而节省频繁的重新计算。但是,如果计算列中的任何值不正确,该列将变为灰色,直到您刷新并重新计算数据。