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

使用计算列,可以将新数据添加到数据模型中的 Power Pivot 表中。 无需将值粘贴或导入列,而是使用定义列值的 DAX () 函数创建数据分析表达式。

例如,如果需要向 factSales 表中的每一行添加销售利润值。 通过添加新的计算列,然后使用 公式 =[SalesAmount]-[TotalCost]–[ReturnAmount],通过从 SalesAmount 列每行的值中减去 TotalCost 和 ReturnAmount 列中每行的值来计算新值。 然后,"利润"列可用于数据透视表、数据透视图或Power View报表,就像使用任何其他列一样。

下图显示了计算列中的一 Power Pivot 。

计算列

注意: 尽管计算列和度量值类似,因为每个列和度量值依赖于公式,但两者不同。 度量值通常在数据透视表或数据透视表的"值"区域中数据透视图。 当您想要将计算结果放在数据透视表的不同区域(如数据透视表中的列或行)或数据透视表中的坐标轴上时,请使用计算数据透视图。 有关度量值详细信息,请参阅 Power Pivot 中的度量值

了解计算列

计算列中的公式与在计算列中创建的公式Excel。 但是,不能为表中的不同行创建不同的公式。 相反,DAX 公式会自动应用于整个列。

当某列中包含公式时,将为每一行都计算值。 一旦输入公式,就会为列计算结果。 然后,如有必要(例如刷新基础数据时)重新计算列值。

可根据度量值和其他计算列创建计算列。 例如,可以创建一个计算列以从文本字符串中提取数字,然后在另一个计算列中使用该数字。

示例

可以使用添加到现有表中的数据支持计算列。 例如,可以选择连接值、执行添加、提取子字符串或比较其他字段中的值。 若要添加计算列,应已至少有一个表位于 Power Pivot 。

查看此公式:

=EOMONTH ([StartDate],0])

此公式使用 Contoso 示例数据从"提升"表中的 StartDate 列提取月份。 然后,它计算"促销"表中每一行的月结束值。 第二个参数指定 StartDate 中月份之前或之后月份数;在这种情况下,0 表示同一月。 例如,如果 StartDate 列中的值为 6/1/2001,则计算列中的值将是 6/30/2001。

命名计算列

默认情况下,新计算列将添加到其他列的右侧,并且会自动为列分配默认名称CalculatedColumn1、CalculatedColumn2等。 创建列后,可在必要时重新排列和重命名列。

对计算列的更改有一些限制:

  • 每个列名称在表中应是唯一的。

  • 避免同一工作簿中已用于度量值的名称。 虽然度量值和计算列可以具有相同的名称,但如果名称不唯一,则可以轻松获取计算错误。 为了避免意外调用度量值,在引用列时始终使用完全限定的列引用。

  • 重命名计算列时,还必须更新依赖于现有列的任何公式。 除非在手动更新模式下,否则会自动更新公式的结果。 但是,此操作可能需要一些时间。

  • 有一些字符不能在列的名称中或在列的其他对象的名称中 Power Pivot 。 有关详细信息,请参阅 Power Pivot 的 DAX 语法规范中的"命名要求"。

重命名或编辑现有计算列:

  1. Power Pivot "窗口中,右键单击要重命名的计算列的标题,然后单击"重命名列"。

  2. 键入新名称,然后按 Enter 接受新名称。

更改数据类型

您可以更改数据类型列的列数,方法与更改其他列的列数据类型相同。 不能进行以下数据类型更改:从文本到小数、从文本到整数、从文本到货币,以及从文本到日期。 可以将文本更改为布尔值。

计算列的性能

计算列的公式的资源密集型可能高于用于度量值的公式。 一个原因是,计算列的结果始终为表中的每一行计算,而度量值仅针对数据透视表或数据透视表中使用的单元格数据透视图。

例如,包含 100 万行的表将始终具有包含 100 万个结果的计算列,并且对性能有相应的影响。 但是,数据透视表通常通过应用行标题和列标题来筛选数据。 这意味着,仅针对数据透视表的每个单元格中数据子集计算度量值。

公式依赖于公式中的对象引用,例如计算值的其他列或表达式。 例如,基于另一列的计算列(或包含具有列引用的表达式的计算)在计算另一列之前无法求值。 默认情况下,自动刷新已启用。 因此,请记住,公式依赖关系可能会影响性能。

若要避免创建计算列时出现性能问题,请遵循以下准则:

  • 不要创建包含许多复杂依赖项的单个公式,而是分步创建公式,将结果保存到列中,以便验证结果并评估性能变化。

  • 对数据的修改通常会引入对计算列的更新。 可以通过将重新计算模式设置为手动来防止这种情况。 但请记住,如果计算列中的任何值不正确,将禁用该列,直到刷新并重新计算数据。

  • 如果更改或删除表之间的关系,使用这些表中的列的公式将失效。

  • 如果创建包含循环或自引用依赖项的公式,将发生错误。

Tasks

有关使用计算列的信息,请参阅 创建计算列

需要更多帮助?

需要更多选项?

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

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

此信息是否有帮助?

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

谢谢您的反馈!

×