在 Power Pivot 中创建计算公式

在本文中,我们将了解在创建两个的计算公式的基础知识计算的列和Power Pivot的度量值。如果您是过 DAX,请务必签出快速入门︰ 在 30 分钟内了解 DAX 基础知识

公式基础知识

Power Pivot 提供用于在 Power Pivot 表和 Excel 数据透视表中创建自定义计算的数据分析表达式 (DAX)。DAX 包含一些在 Excel 公式中使用的函数,此外还包含其他设计用于处理关系数据和执行动态聚合的函数。

以下是可在计算列中使用的一些基本公式:

公式

Description

=TODAY()

将今天的日期插入列中的每一行。

=3

将值 3 插入列中的每一行。

=[Column1] + [Column2]

将 [Column1] 和 [Column2] 的同一行中的值相加,并且将结果放置于计算列的同一行中。

您可以为计算列创建 Power Pivot公式,方式与在 Microsoft Excel 中创建公式大体相似。

在创建公式时请采用以下步骤:

  • 每个公式必须以等号开头。

  • 可以键入或选择一个函数名称,也可以键入一个表达式。

  • 开始键入函数的前几个字母或所需的函数名称后,“记忆式键入”功能会显示可用函数、表和列的列表。按 Tab 将“记忆式键入”列表中的某个项目添加到公式中。

  • 单击 Fx 按钮以显示可用函数的列表。要从下拉列表中选择一个函数,请使用箭头键突出显示该项目,然后单击“确定”向公式中添加函数。

  • 通过从可能的表和列的下拉列表中选择参数,或者通过键入值或其他函数,向函数提供参数。

  • 检查是否有语法错误:确保所有括号都是成对的,并且列、表和值被正确引用。

  • 按 Enter 接受公式。

注意: 在计算列中,只要您接受该公式,列中填充了值。在度量值,并按 enter 键将保存的度量值定义。

创建示例公式

使用简单公式创建计算列

销售日期

子类别

产品

销售

数量

1/5/2009

配件

集装箱

254995

68

1/5/2009

配件

迷你充电器

1099.56

44

1/5/2009

数字设备

小型数字设备

6512

44

1/6/2009

配件

远摄转换镜头

1662.5

18

1/6/2009

配件

三脚架

938.34

18

1/6/2009

配件

USB 数据线

1230.25

26

  1. 从上表中选择和复制数据,包括表标题。

  2. 在 Power Pivot 中,单击“开始”>“粘贴”。

  3. 在“粘贴预览”对话框中,单击“确定”。

  4. 单击设计>>添加

  5. 在表上面的公式栏中,键入以下公式。

    = [销售额] / [数量]

  6. 按 Enter 接受公式。

然后,将为所有行在新的计算列中填充值。

使用记忆式键入的提示

  • 可以在具有嵌套函数的现有公式中使用公式记忆式键入功能。与插入点紧邻的前一个文本用于显示下拉列表中的值,插入点之后的所有文本都保持不变。

  • Power Pivot 不添加函数的右括号或自动匹配括号。您必须确保每个函数在语法上都是正确的,否则不能保存或使用公式。Power Pivot 会突出显示括号,便于您检查括号是否完整。

使用表和列

Power Pivot 表在外观上与 Excel 表类似,但在处理数据和公式的方式上有所不同:

  • Power Pivot 中的公式只使用表和列,而不使用各个单元、范围引用或数组。

  • 公式可以使用关系来获取相关表中的值。检索的值始终与当前行值相关。

  • 不能将 Power Pivot 公式粘贴到 Excel 工作表中,反之亦然。

  • 不能有不规则或"对齐"的数据,就像在 Excel 工作表中。为表中的每一行必须包含相同的列数。但是,您可以在某些列中包含空值。Excel 模拟运算表和Power Pivot模拟运算表不可互换,但您可以从Power Pivot链接到 Excel 表格,并将 Excel 数据粘贴到Power Pivot。有关详细信息,请参阅将工作表数据添加到数据模型使用链接的表复制并粘贴到 Power Pivot 中的数据模型的行

在公式和表达式中引用表和列

可以使用其名称中引用的任何表和列。例如,下面的公式说明了如何通过使用的完全限定的名称两个表中引用的列︰

= SUM (' 新 Sales'[Amount]) + SUM('Past Sales'[Amount])

公式计算时, Power Pivot常规语法,先检查,然后检查当前上下文中的表和列和您提供针对可能的列的表的名称。如果名称不明确,或者如果找不到列或表格,您将在您的公式 (而不是发生错误的单元格中的数据值 #ERROR 字符串) 中收到的错误。有关命名要求表、 列和其他对象的详细信息,请参阅"在Power Pivot 的 DAX 语法规范命名要求。

注意: 上下文是一项重要的Power Pivot数据模型功能,允许您创建动态公式。确定上下文中的数据模型、 表格和已应用的所有筛选器之间的关系的表。有关详细信息,请参阅DAX 公式中的上下文

表关系

表可以与其他表相关连。通过创建关系,能够查找另一个表中的数据以及使用相关值执行复杂计算。例如,您可以使用计算列查找与当前经销商相关的所有发货记录,然后对各记录的“发货成本”求和。效果就像参数化查询:可以计算当前表中各行的不同总和。

许多 DAX 函数要求两个表或多个表之间存在关系,以便找到您引用的列并返回以有意义的结果。其他函数会尝试标识关系;但是,为了获得最佳效果,您应该始终尽量创建关系。

使用数据透视表时,时,尤其是重要的连接,以便可以正确计算汇总数据在数据透视表中使用的所有表。有关详细信息,请参阅使用数据透视表中的关系

更正公式中的错误

如果定义计算的列时出现错误,公式中可能包含语法错误或语义错误。

语法错误是最简单的方法来解决。通常会丢失括号或逗号。单个函数的语法的帮助,请参阅DAX 函数参考

当语法正确而值或列引用对公式上下文无意义时,就会发生其他类型的错误。以下任何问题都可能导致此类语义错误:

  • 公式中引用不存在的列、表或函数。

  • 公式似乎正确,但在 Power Pivot 提取数据时发现存在类型不匹配问题,并引发错误。

  • 公式为函数传递的数字或参数类型不正确。

  • 公式引用了另一个出错的列,因此它的值无效。

  • 公式引用了尚未处理的列。如果将工作簿更改为手动模式,并进行更改,而后却从未刷新数据或更新计算,就会发生这种情况。

在前四种情况下,DAX 会标记包含无效公式的整个列。在最后一种情况下,DAX 灰显该列来指示该列处于未处理状态。

注释: 

  • 机器翻译免责声明:本文是由无人工介入的计算机系统翻译的。Microsoft 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

  • 请在 此处 中查找本文的英文版本以便参考。你和 Microsoft 社区的其他成员可以使用 Community Translation Framework (CTF) 来改进本文。只需将鼠标悬停在文章中的句子上,然后在 CTF 小组件中单击“IMPROVE TRANSLATION”即可。 单击此处了解有关 CTF 的详细信息。 使用 CTF 即表示你同意服务条款

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×