开发手册 欢迎您!
软件开发者资料库

Excel DAX - 计算字段/度量

Excel的DAX计算字段/措施 - 学习Excel的DAX指数从基础开始,以先进的理念与实例包括概述,计算列,计算字段/办法简单,简单的步骤,编辑计算字段,删除计算字段,语法,运营商,标准参数,功能,了解DAX函数,求值上下文,配方,更新DAX公式的结果,在数据模型中,重新计算DAX公式,故障排除DAX公式重新计算,公式错误,时间智能,过滤功能,场景,进行复杂的计算更新数据,使用文本和日期,条件值和错误测试,使用时间智能,排名和比较值。

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

了解计算字段

计算字段是专门为在数据透视表(或数据透视图).

您可以根据标准聚合函数(如COUNT或SUM)或定义自己的DAX公式创建计算字段.

以下是计算字段与计算列之间的差异 :

  • 可以使用计算字段仅在数据透视表的VALUES区域中.

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

保存计算字段

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

使用计算字段

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

计算字段 - 示例

考虑以下奥运数据模型 :

计算字段

如上面的屏幕截图所示,结果表有一个字段奖章包含值 - 包含Sport  -  Event  -  Country  -  Date组合的每一行的Gold,Silver或Bronze.假设你想要每个国家的奖牌数,那么你可以使用以下DAX公式创建一个计算字段奖牌计数 :

 奖牌数:= COUNTA([奖牌])

在表格中创建计算字段

创建计算字段奖牌计数结果表,执行以下 :

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

  • 在公式栏中输入奖牌数:=COUNTA([Medal]).

在表格中创建计算字段

按Enter键.

按Enter键

如上图所示,计算字段出现在选定的单元格中,显示值为34,094.此数字是"结果"表中的总行数.因此,从一开始就没有多大意义.如前所述,计算字段的实际使用只能通过将其添加到Power PivotTable或Power PivotChart来看到.

使用Power PivotTable中的计算字段

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

  • 单击Power Pivot窗口中功能区上的数据透视表.

  • 单击下拉列表中的数据透视表.

使用Power PivotTable中的计算字段

将出现"创建数据透视表"对话框.

  • 单击"现有工作表".

  • 选择要放置数据透视表的位置.

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

  • 单击"数据透视表字段"列表中的"结果"表.

  • 单击字段 - 国家/地区和奖章数.

空数据透视表已创建

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

  • 从Results表中添加字段Sport ROWS区.

添加Field Sport

正如您在上面的屏幕截图中所看到的,奖金计数是针对每个国家计算的 - 运动方式和国家本身的小计.

这是DAX如何补充Power功能.

计算字段的类型

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

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

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

创建隐式计算字段

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

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

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

  • 取消选择字段奖牌计数.

  • 右键单击字段奖牌.

  • 点击下拉列表中的添加到值.

创建隐式计算字段

奖励计数出现在"值"区域中.奖章计数列将添加到数据透视表.

奖牌列数

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

您可以在值区域中创建隐式计算字段 - 父行的百分比,以表示某个国家/地区拥有的每项运动的奖牌数量赢得该国赢得的奖牌总数的百分比.

  • 点击VALUES中奖牌计数框中的向下箭头区域.

  • 单击下拉列表中的值字段设置.

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

出现"值字段设置"对话框.

  • 在自定义名称框中键入%奖牌.

  • 单击显示值作为选项卡.

  • 单击显示下方的框值为.

  • 单击父行总计的百分比.

值字段设置

  • 单击"数字格式"按钮.

出现"格式化单元格"对话框.

  • 单击"百分比".

  • 在小数位置键入0.

  • 单击"确定".

  • 在"值字段设置"对话框中单击"确定".

  • 选择不显示小计.

格式单元格对话框

您创建了另一个隐含的计算字段%奖牌,您可以观察到,对于每个国家/地区,显示运动奖牌的百分比.

隐式计算字段

隐式计算字段很容易创建.事实上,即使在Excel PivotTables和Pivot Charts中,您也一直在创建它们.但是,它们有以下缺点和减号;

  • 它们是不稳定的.这意味着,如果取消选择用于计算字段的字段,它将被删除.如果你想再次显示它,你必须再次创建它.

  • 它们的范围是有限的到数据透视表或数据透视图它们是在哪里创建的.如果您在另一个工作表中创建另一个数据透视表,则必须再次创建计算字段.

另一方面,显式计算字段将随表一起保存,只要您选择该表,它就可用.

创建显式计算字段

您可以创建显式计算字段两种方式 :

  • 在数据模型中表的计算区域中.您已在"在表中创建计算字段"一节中了解到这一点.

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

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

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

  • 单击POWERPIVOT选项卡在工作簿的功能区上.

  • 单击"计算"区域中的"计算字段".

  • 单击下拉列表中的"新计算字段".

创建显式计算

计算字段出现对话框.

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

计算字段对话框

  • 单击检查公式按钮.

  • 仅当公式中没有错误时才单击"确定".

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

这是一个建议的方法来创建显式计算字段.