📜  Excel DAX-计算字段/度量

📅  最后修改于: 2020-12-01 04:39:55             🧑  作者: Mango


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

了解计算字段

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

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

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

  • 计算字段只能在数据透视表的“值”区域中使用。

  • 具有计算结果的计算列也可以在ROWS,COLUMNS和FILTERS区域中使用。

保存计算字段

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

使用计算域

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

计算字段-示例

考虑以下用于奥运数据的数据模型-

计算场

如上面的屏幕快照所示,“结果”表的字段Medal包含“体育”-“事件”-“国家/地区”-“日期”组合的每一行的值–金,银或青铜。假设您想要每个国家的奖牌数,那么您可以使用以下DAX公式创建一个计算字段奖牌数-

Medal Count := COUNTA([Medal])

在表中创建计算字段

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

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

  • 在编辑栏中键入Medal Count:= COUNTA([Medal])。

在表中创建计算字段

按Enter键。

按Enter

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

在Power PivotTable中使用计算字段

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

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

在Power PivotTable中使用计算字段

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

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

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

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

空的数据透视表已创建

如您所见,“奖牌计数”添加到“值”区域,“国家/地区”添加到“ ROWS”区域。创建数据透视表,并在行中显示“国家/地区值”字段。对于每一行,都会计算并显示奖牌计数值。这样,计算字段将评估所使用的DAX公式并显示值。

  • 将结果字段中的运动字段添加到行区域。

添加野外运动

如您在上面的屏幕截图中看到的那样,奖牌计数是针对每个国家/地区计算的-运动方式以及国家/地区本身的小计。

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

计算字段的类型

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

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

  • 在Power Pivot窗口中的表中或从Excel窗口中的PowerPivot功能区中创建一个显式的计算字段

创建一个隐式计算字段

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

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

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

  • 取消选择“奖牌计数”字段。
  • 在字段Medal上单击鼠标右键。
  • 在下拉列表中单击添加到值。

创建一个隐式计算字段

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

奖牌栏数

在“值”区域中创建一个隐式计算字段

您可以在“值”区域中创建一个隐式计算字段-“上级排行百分比”,以表示一个国家/地区赢得的每种运动的奖牌数占该国家/地区赢得的奖牌总数的百分比。

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

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

出现“值字段设置”对话框。

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

值字段设置

  • 单击数字格式按钮。

出现“设置单元格格式”对话框。

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

设置单元格格式对话框

您创建了另一个隐式计算字段%奖牌,并且您可以看到,对于每个国家/地区,都会显示Sport-wise奖牌的百分比。

隐式计算场的缺点

隐式计算字段很容易创建。实际上,您甚至在Excel PivotTables和Pivot Charts中都已创建它们。但是,它们具有以下缺点-

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

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

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

创建一个显式计算字段

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

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

  • 从Excel表中的PowerPivot功能区。在下一节中,您将学习这种创建显式计算字段的方法。

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

要从PowerPivot功能区创建显式的计算字段,请执行以下操作-

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

创建显式计算

出现“计算字段”对话框。

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

计算字段对话框

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

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

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