- Excel DAX 教程
- DAX - 主页
- DAX - 概述
- DAX - 计算列
- DAX - 计算字段/度量
- DAX - 编辑计算字段
- DAX - 删除计算字段
- DAX - 语法
- DAX - 运营商
- DAX - 标准参数
- DAX - 函数
- DAX - 了解 DAX 函数
- DAX - 评估背景
- DAX - 公式
- 更新 DAX 公式的结果
- 更新数据模型中的数据
- DAX - 重新计算 DAX 公式
- DAX 公式重新计算故障排除
- DAX - 公式错误
- DAX - 时间智能
- DAX - 过滤函数
- DAX - 场景
- 执行复杂的计算
- DAX - 处理文本和日期
- 条件值和错误测试
- DAX - 使用时间智能
- DAX - 排名和比较值
- Excel DAX 有用资源
- DAX - 快速指南
- DAX - 有用的资源
- DAX - 讨论
Excel DAX - 计算字段/度量
数据模型中表中的计算字段是通过 DAX 公式获得的字段。在 Power Pivot 的早期版本中,计算字段称为度量。在 Excel 2013 中,它被重命名为计算字段。但是,在 Excel 2016 中,它被重命名为“measure”。如果您参考任何文档,您会发现这两个术语混淆了。请注意,术语“计算字段”和“度量”是同义词。在本教程中,我们使用术语计算字段。
了解计算字段
计算字段是专门为数据透视表(或数据透视图)中使用而创建的公式。
您可以基于标准聚合函数(例如 COUNT 或 SUM)或通过定义自己的 DAX 公式来创建计算字段。
以下是计算字段和计算列之间的差异 -
计算字段只能在数据透视表的 VALUES 区域中使用。
包含计算结果的计算列也可用于 ROWS、COLUMNS 和 FILTERS 区域。
保存计算字段
计算字段将与其源表一起保存在数据模型中。它作为表中的字段出现在“Power 数据透视表”或“Power 数据透视图字段”列表中。
使用计算字段
要使用计算字段,您必须从 Power 数据透视表字段列表中选择它。计算字段将添加到 VALUES 区域,并且将评估用于计算字段的公式。为行和列字段的每个组合创建一个结果。
计算字段 – 示例
考虑以下奥运会数据的数据模型 -
如上面的屏幕截图所示,“结果”表有一个“奖牌”字段,其中包含包含“体育”-“赛事”-“国家/地区”-“日期”组合的每行的值 - 金、银或铜牌。假设您想要每个国家/地区的奖牌数,那么您可以使用以下 DAX 公式创建计算字段奖牌数 -
Medal Count := COUNTA([Medal])
在表中创建计算字段
要在结果表中创建计算字段奖牌计数,请执行以下操作 -
单击结果表中奖牌列下方计算区域中的单元格。该单元格将突出显示。
在公式栏中输入奖牌计数:=COUNTA([奖牌])。
按 Enter 键。
如上面的屏幕截图所示,计算字段出现在所选单元格中,显示值为 34,094。该数字是结果表中的总行数。因此,乍一看并没有多大意义。如前所述,计算字段的实际用途只能通过将其添加到 Power 数据透视表或 Power 数据透视图来查看。
使用 Power PivotTable 中的计算字段
要使用计算字段来计算每个国家的奖牌数量,请执行以下操作 -
- 单击 Power Pivot 窗口中功能区上的数据透视表。
- 单击下拉列表中的数据透视表。
将出现“创建数据透视表”对话框。
- 单击现有工作表。
- 选择要放置数据透视表的位置。
将创建一个空的数据透视表。
- 单击数据透视表字段列表中的结果表。
- 单击字段 – 国家/地区和奖牌数。
正如您所观察到的,奖牌计数被添加到 VALUES 区域,而国家/地区被添加到 ROWS 区域。数据透视表是使用行中显示的字段“国家/地区”值创建的。对于每一行,都会计算并显示奖牌计数值。这样,计算字段就会评估所使用的 DAX 公式并显示值。
- 将“结果”表中的“运动”字段添加到“行”区域。
正如您在上面的屏幕截图中所看到的,奖牌数是针对每个国家/地区计算的 - 体育方面以及国家/地区本身的小计。
这就是 DAX 对 Power 功能的补充。
计算字段的类型
计算字段有两种类型 - 隐式和显式。
在 Power 数据透视表字段列表窗格中创建隐式计算字段。
显式计算字段可以在 Power Pivot 窗口的表中创建,也可以从 Excel 窗口的 PowerPivot 功能区创建。
创建隐式计算字段
可以通过两种方式创建隐式计算字段,都可以在“Power 数据透视表字段”窗格中创建。
在数据透视表字段列表中创建隐式计算字段
您可以从数据透视表字段列表中的奖牌字段创建奖牌字段计数,如下所示 -
- 取消选择“奖牌计数”字段。
- 右键单击奖牌字段。
- 单击下拉列表中的添加到值。
奖牌计数出现在“值”区域中。奖牌计数列将添加到数据透视表中。
在 VALUES 区域中创建隐式计算字段
您可以在“值”区域中创建一个隐式计算字段 - % of Parent Row,以表示一个国家/地区赢得的每项运动的奖牌数占该国家/地区赢得的奖牌总数的百分比。
- 单击“值”区域中“奖牌计数”框中的向下箭头。
- 单击下拉列表中的值字段设置。
出现值字段设置对话框。
- 在“自定义名称”框中键入“奖牌百分比”。
- 单击“值显示为”选项卡。
- 单击值显示为下的框。
- 单击父行总计的百分比。
- 单击数字格式按钮。
出现“设置单元格格式”对话框。
- 单击百分比。
- 在小数点后输入 0。
- 单击“确定”。
- 在“值字段设置”对话框中单击“确定”。
- 选择不显示小计。
您创建了另一个隐式计算字段“奖牌百分比”,并且您可以观察到,对于每个国家/地区,显示了体育方面的奖牌百分比。
隐式计算字段的缺点
隐式计算字段很容易创建。事实上,您甚至已经在 Excel 数据透视表和数据透视图中创建了它们。但是,它们有以下缺点 -
它们很不稳定。这意味着,如果您取消选择用于计算字段的字段,它将被删除。如果你想再次显示它,你必须再次创建它。
它们的范围仅限于创建它们的数据透视表或数据透视图。如果您在另一个工作表中创建另一个数据透视表,则必须再次创建计算字段。
另一方面,显式计算字段将与表一起保存,并且在您选择该表时可用。
创建显式计算字段
您可以通过两种方式创建显式计算字段 -
在数据模型中表的计算区域中。您已经在“在表中创建计算字段”部分中了解了这一点。
从 Excel 表中的 PowerPivot 功能区。您将在下一节中学习这种创建显式计算字段的方法。
从 PowerPivot 功能区创建显式计算字段
要从 PowerPivot 功能区创建显式计算字段,请执行以下操作 -
- 单击工作簿中功能区上的 POWERPIVOT 选项卡。
- 单击计算区域中的计算字段。
- 单击下拉列表中的新计算字段。
出现计算字段对话框。
- 填写所需信息,如以下屏幕截图所示。
- 单击检查公式按钮。
- 仅当公式中没有错误时单击“确定”。
正如您所观察到的,您可以在此对话框中定义计算字段的类别和格式。此外,您可以使用 IntelliSense 功能来了解函数的用法,并使用自动完成功能轻松完成函数、表和列的名称。有关 IntelliSense 功能的详细信息,请参阅“DAX 公式”一章。
这是创建显式计算字段的推荐方法。