其中最强大的功能 Power Pivot 之一是能够在表之间创建关系,然后使用相关表查找或筛选相关的数据。 使用 DAX 函数、数据分析表达式和 DAX 表达式Power Pivot 公式语言从 (相关) 。 DAX 使用关系模型,因此可以轻松准确地检索另一个表或列中的相关或对应值。 如果熟悉 VLOOKUP Excel,则 Power Pivot 中的此功能非常相似,但更易于实现。

您可以创建公式,这些公式作为计算列的一部分进行查找,或作为在数据透视表或数据透视表或数据透视表使用的度量值的一数据透视图。 有关详细信息,请参阅下列主题:

PowerPivot 中的计算字段

Power Pivot 中的计算列

本部分介绍为查找提供的 DAX 函数,以及如何使用这些函数的一些示例。

注意: 根据想要使用的查找操作或查找公式的类型,可能需要先在表之间创建关系。

了解查找函数

如果当前表只有某种类型的标识符,但您需要的 (例如产品价格、名称或其他详细值) 存储在相关表中,则查找其他表中的匹配或相关数据的能力特别有用。 当另一个表中有多个行与当前行或当前值相关时,它还很有用。 例如,可以轻松检索与特定区域、商店或销售人员相关的所有销售。

与 Excel查找函数(如基于数组的 VLOOKUP)或 LOOKUP(获取多个匹配值的第一个值)相比,DAX 遵循键联接的表之间的现有关系,以获得完全匹配的单个相关值。 DAX 还可以检索与当前记录相关的记录表。

注意: 如果熟悉关系数据库,可以将查询视为 Power Pivot 类似于 Transact-SQL 中的嵌套子SQL。

检索单个相关值

RELATED 函数从与当前表中的当前值相关的另一个表中返回单个值。 指定包含需要的数据的列,函数遵循表之间的现有关系,从相关表中的指定列提取值。 在某些情况下,函数必须遵循一系列关系来检索数据。

例如,假设你有一个列表,包含今天在Excel。 但是,该列表仅包含员工 ID 号、订单 ID 号和运货商 ID 编号,使报表难以阅读。 若要获取想要的额外信息,可将该列表转换为 Power Pivot 链接表,然后创建与"员工"和"经销商"表的关系,将 EmployeeID 与 EmployeeKey 字段匹配,将 ResellerID 与 ResellerKey 字段匹配。

若要在链接表中显示查找信息,可以使用以下公式添加两个新的计算列:

= RELATED ('Employees'[EmployeeName])
= RELATED ('Resellers'[CompanyName])

查找前今天发货

订单 ID

EmployeeID

ResellerID

100314

230

445

100315

15

445

100316

76

108

Employees 表

EmployeeID

员工

经销商

230

Kuppa Vamsi

模块化循环系统

15

Pilar Ackeman

模块化循环系统

76

Kim Ralls

关联的自行车

带查找的今天发货

订单 ID

EmployeeID

ResellerID

员工

经销商

100314

230

445

Kuppa Vamsi

模块化循环系统

100315

15

445

Pilar Ackeman

模块化循环系统

100316

76

108

Kim Ralls

关联的自行车

该函数使用链接表与"员工和经销商"表之间的关系,获取报告中每一行的正确名称。 还可使用相关值进行计算。 有关详细信息和示例,请参阅 RELATED 函数

检索相关值列表

RELATEDTABLE 函数遵循现有关系,并返回包含指定表中的所有匹配行的表。 例如,假设你要了解每个经销商今年下的订单数量。 您可以在"经销商"表中创建新的计算列,其中包括以下公式,该公式查找 ResellerSales_USD 表中每个经销商的记录,并计算每个经销商所下单的订单数。 

=COUNTROWS (RELATEDTABLE (ResellerSales_USD) )

在此公式中,RELATEDTABLE 函数首先获取当前表中每个经销商的 ResellerKey 值。 (无需在公式中的任何位置指定 ID 列,因为 Power Pivot 表之间的现有关系。) 然后 RELATEDTABLE 函数从表ResellerSales_USD与每个经销商相关的所有行,并计算行数。 如果两个表 (或) 关系,则从表获取ResellerSales_USD行。

对于示例数据库中的经销商模块化周期系统,销售表中有四个订单,因此函数返回 4。 对于关联自行车,经销商没有销售,因此函数返回空白。

经销商

此经销商的销售表中的记录

模块化循环系统

经销商 ID

SalesOrderNumber

445

SO53494

445

SO71872

445

SO65233

445

SO59000

经销商 ID

SalesOrderNumber

关联的自行车

注意: 由于 RELATEDTABLE 函数返回表,而不是单个值,因此它必须用作对表执行运算的函数的参数。 有关详细信息,请参阅 RELATEDTABLE 函数

返回页首

需要更多帮助?

扩展你的技能
了解培训

此信息是否有帮助?

你对翻译质量的满意程度如何?
哪些因素影响了你的体验?

谢谢您的反馈意见!

×