使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

本文介绍在计算列中为计算列和度量值创建计算公式的基础知识 Power Pivot 。 如果你是 DAX 的新人,请务必查看 快速入门:在 30分钟内了解 DAX 基础知识。

公式基础知识

Power Pivot DAX 表达式 (DAX) ,用于 Power Pivot 表和数据透视表中的Excel计算。 DAX 包括一些在公式Excel的函数,以及旨在处理关系数据和执行动态聚合的其他函数。

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

公式

说明

=TODAY()

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

=3

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

=[Column1] + [Column2]

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

您可以为 Power Pivot 列创建公式,就像在计算列中创建公式Microsoft Excel。

创建公式时,请使用以下步骤:

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

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

  • 开始键入需要的函数或名称的开头几个字母,"自动完成"将显示可用函数、表和列的列表。 按 Tab 将"自动完成"列表中的项目添加到公式。

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

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

  • 检查语法错误:确保所有括号都已关闭,并且正确引用了列、表和值。

  • 按 Enter 接受公式。

注意: 在计算列中,一旦接受公式,该列就会填充值。 在度量值中,按 ENTER 可保存度量值定义。

创建简单公式

使用简单公式创建计算列

SalesDate

子类别

产品

Sales

数量

1/5/2009

配件

携带盒

254995

68

1/5/2009

配件

微型电池充电器

1099.56

44

1/5/2009

数字

Slim Digital

6512

44

1/6/2009

配件

Telephoto 转换镜头

1662.5

18

1/6/2009

配件

Tripod

938.34

18

1/6/2009

配件

USB 电缆

1230.25

26

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

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

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

  4. 单击"设计>栏>添加"。

  5. 在表格上方的编辑栏中,键入以下公式。

    =[Sales] / [Quantity]

  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 ('New Sales'[Amount]) + SUM ('past Sales'[Amount])

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

注意: 上下文是一个重要的数据 Power Pivot 功能,可用于创建动态公式。 上下文由数据模型中的表、表之间的关系以及已应用的任何筛选器确定。 有关详细信息,请参阅 DAX 公式中的上下文

表关系

表可以与其他表相关。 通过创建关系,可以查找另一个表中的数据,并使用相关值执行复杂计算。 例如,可以使用计算列查找与当前经销商相关的所有发货记录,然后对每个记录的运费求和。 效果与参数化查询类似:可以针对当前表中的每一行计算不同的总和。

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

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

排查公式中的错误

如果在定义计算列时收到错误,公式可能包含语法错误或语义错误。

语法错误是最容易解决的。 此类错误通常涉及缺少括号或逗号。 有关各个函数语法的帮助,请参阅 DAX 函数参考

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

  • 公式引用了非现有的列、表或函数。

  • 公式看起来是正确的,但当 Power Pivot 时,它会发现类型不匹配,并引发错误。

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

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

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

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

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×