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。
如上图所示,计算字段出现在所选单元格中,显示值为 34,094。此数字是结果表中的总行数。因此,乍一看并没有多大意义。如前所述,只有将计算字段添加到 Power PivotTable 或 Power PivotChart 中才能看到计算字段的真正用途。
在 Power 数据透视表中使用计算字段
要使用计算字段来计算每个国家/地区的奖牌数量,请执行以下操作 –
- 单击 Power Pivot 窗口中功能区上的数据透视表。
- 单击下拉列表中的数据透视表。
出现创建数据透视表对话框。
- 单击现有工作表。
- 选择要放置数据透视表的位置。
将创建一个空的数据透视表。
- 单击数据透视表字段列表中的结果表。
- 单击字段 – 国家和奖牌计数。
如您所见,奖牌计数被添加到 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 公式”一章。
这是创建显式计算字段的推荐方法。