Excel DAX – 计算字段/度量

Excel DAX – 计算字段/度量


计算的字段中的数据模型的表是由一个DAX公式获得的字段。在 Power Pivot 的早期版本中,计算字段被称为度量。在 Excel 2013 中,它被重命名为计算字段。但是,它在 Excel 2016 中重新命名为测量。如果您参考任何文档,您可以观察到这两个术语的混淆。请注意,术语计算字段和度量是同义词。在本教程中,我们使用术语计算字段。

了解计算字段

计算字段是专门为在数据透视表(或数据透视图)中使用而创建的公式。

您可以基于标准聚合函数(例如 COUNT 或 SUM)或通过定义您自己的 DAX 公式来创建计算字段。

以下是计算字段和计算列之间的差异 –

  • 计算字段只能用于数据透视表的 VALUES 区域。

  • 带有计算结果的计算列也可用于 ROWS、COLUMNS 和 FILTERS 区域。

保存计算字段

计算字段将与其源表一起保存在数据模型中。它在 Power PivotTable 或 Power PivotChart Fields 列表中显示为表中的一个字段。

使用计算字段

要使用计算字段,您必须从 Power PivotTable Fields 列表中选择它。计算字段将被添加到 VALUES 区域,并且将评估用于计算字段的公式。为每个行和列字段组合创建一个结果。

计算字段 – 示例

考虑以下奥运会数据的数据模型 –

计算字段

如上面的屏幕截图所示,结果表有一个字段 Medal,其中包含值 – Gold、Silver 或 Bronze,用于包含 Sport – Event – Country – Date 组合的每一行。假设您想要每个国家/地区的奖牌数,那么您可以使用以下 DAX 公式创建一个计算字段奖牌数 –

Medal Count := COUNTA([Medal])

在表中创建计算字段

要在结果表中创建计算字段奖牌计数,请执行以下操作 –

  • 单击“结果”表中“奖牌”列下方计算区域中的单元格。该单元格将突出显示。

  • 在公式栏中键入奖牌计数:=COUNTA([Medal])。

在表中创建计算字段

按 Enter。

按 Enter

如上图所示,计算字段出现在所选单元格中,显示值为 34,094。此数字是结果表中的总行数。因此,乍一看并没有多大意义。如前所述,只有将计算字段添加到 Power PivotTable 或 Power PivotChart 中才能看到计算字段的真正用途。

在 Power 数据透视表中使用计算字段

要使用计算字段来计算每个国家/地区的奖牌数量,请执行以下操作 –

  • 单击 Power Pivot 窗口中功能区上的数据透视表。
  • 单击下拉列表中的数据透视表。

在 Power 数据透视表中使用计算字段

出现创建数据透视表对话框。

  • 单击现有工作表。
  • 选择要放置数据透视表的位置。

将创建一个空的数据透视表。

  • 单击数据透视表字段列表中的结果表。
  • 单击字段 – 国家和奖牌计数。

已创建空数据透视表

如您所见,奖牌计数被添加到 VALUES 区域,国家被添加到 ROWS 区域。数据透视表是使用出现在行中的字段 Country 值创建的。并且对于每一行,计算并显示奖牌计数值。就是这样,计算字段评估使用的 DAX 公式并显示值。

  • 将“结果”表中的字段 Sport 添加到 ROWS 区域。

添加野外运动

正如您在上面的屏幕截图中看到的,奖牌数是为每个国家/地区计算的 – 体育方面和国家本身的小计。

这就是 DAX 补充 Power 功能的方式。

计算字段的类型

有两种类型的计算字段 – 隐式和显式。

  • 在 Power PivotTable Fields 列表窗格中创建了一个隐式计算字段

  • 一个明确的计算领域要么创建的表中电源透视窗口,或从PowerPivot的功能区在Excel窗口。

创建隐式计算字段

可以通过两种方式创建隐式计算字段,均在 Power PivotTable Fields 窗格中。

在数据透视表字段列表中创建隐式计算字段

您可以从数据透视表字段列表中的奖牌字段创建奖牌字段计数,如下所示 –

  • 取消选择奖牌计数字段。
  • 右键单击奖章字段。
  • 单击下拉列表中的添加到值。

创建隐式计算字段

奖牌数出现在值区域中。奖牌数列将添加到数据透视表中。

奖牌列数

在 VALUES 区域中创建隐式计算字段

您可以在值区域中创建一个隐式计算字段 – 父行的百分比,以将一个国家/地区赢得的每项运动的奖牌计数表示为该国家/地区赢得的奖牌总数的百分比。

  • 单击 VALUES 区域的奖牌计数框中的向下箭头。
  • 单击下拉列表中的值字段设置。

在值区域中创建隐式计算字段

出现值字段设置对话框。

  • 在自定义名称框中键入 % Medals。
  • 单击将值显示为选项卡。
  • 单击将值显示为下的框。
  • 单击父行总计的百分比。

值字段设置

  • 单击数字格式按钮。

出现格式化单元格对话框。

  • 单击百分比。
  • 在小数位中键入 0。
  • 单击确定。
  • 在“值字段设置”对话框中单击“确定”。
  • 选择不显示小计。

设置单元格格式对话框

您创建了另一个隐式计算字段 % Medals,您可以观察到,对于每个国家,都显示了运动奖牌的百分比。

隐式计算字段的缺点

隐式计算字段很容易创建。事实上,您甚至在 Excel 数据透视表和数据透视图中也一直在创建它们。但是,它们有以下缺点 –

  • 它们是易变的这意味着,如果您取消选择用于计算字段的字段,它将被删除。如果要再次显示它,则必须再次创建它。

  • 它们的范围仅限于创建它们的数据透视表或数据透视图。如果在另一个工作表中创建另一个数据透视表,则必须再次创建计算字段。

另一方面,显式计算字段将与表一起保存,并且在您选择该表时可用。

创建显式计算字段

您可以通过两种方式创建显式计算字段 –

  • 在数据模型中的表中的计算区域中。您已经在部分 – 在表中创建计算字段中学到了这一点。

  • 来自 Excel 表中的 PowerPivot Ribbon。您将在下一节中学习这种创建显式计算字段的方法。

从 PowerPivot 功能区创建显式计算字段

要从 PowerPivot Ribbon 创建显式计算字段,请执行以下操作 –

  • 单击工作簿中功能区上的 POWERPIVOT 选项卡。
  • 单击计算区域中的计算字段。
  • 单击下拉列表中的新计算字段。

创建显式计算

出现计算字段对话框。

  • 填写所需信息,如下面的屏幕截图所示。

计算字段对话框

  • 单击检查公式按钮。
  • 仅当公式中没有错误时才单击“确定”。

如您所见,您可以在此对话框中定义计算字段的类别和格式。此外,您可以使用 IntelliSense 功能了解函数的用法,并使用自动完成功能轻松完成函数、表和列的名称。有关 IntelliSense 功能的详细信息,请参阅“ DAX 公式”一章

这是创建显式计算字段的推荐方法。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁