自学内容网 自学内容网

PowerPivot-跨表取值

在PowerPivot中,跨表取值通常涉及创建关系和使用DAX(数据分析表达式)函数。
以下是一些基本步骤和常用的DAX函数,帮助你在PowerPivot中实现跨表取值:

步骤1:创建关系

加载数据:确保你已将需要的表加载到PowerPivot数据模型中。
建立关系:
打开PowerPivot窗口。
在“设计”选项卡中,选择“管理关系”。
创建表之间的关系,通常基于一个共有字段(如主键和外键)。

步骤2:使用DAX函数

一旦关系建立,可以使用DAX函数来跨表取值。
以下是一些常用的DAX函数:

RELATED函数:

用于从关联表中获取列的值。
语法:=RELATED(<ColumnName>)

示例:假设有两个表:订单(Orders)和客户(Customers),它们通过客户ID(CustomerID)建立关系。如果要在订单表中获取客户的姓名,可以使用:=RELATED(Customers[CustomerName])

LOOKUPVALUE函数:

用于在没有直接关系的情况下查找值。
语法:=LOOKUPVALUE(<Result_ColumnName>, <Search_ColumnName1>, <Search_Value1>[, <Search_ColumnName2>, <Search_Value2>, ...])

示例:=LOOKUPVALUE(Customers[CustomerName], Customers[CustomerID], Orders[CustomerID])

CALCULATE函数:

用于修改上下文以进行聚合计算。
语法:=CALCULATE(<Expression>, <Filter1>, <Filter2>, ...)

示例:假设你想在订单表中计算每个客户的订单总数:=CALCULATE(SUM(Orders[OrderAmount]), ALLEXCEPT(Orders, Orders[CustomerID]))

示例操作
假设你有以下两个表:

订单表(Orders):
在这里插入图片描述
1、建立关系:在PowerPivot中,基于客户ID(CustomerID)建立订单表和客户表的关系。

2、在订单表中添加客户名称列:
在PowerPivot窗口中,选择订单表。在空白列中输入公式:=RELATED(Customers[CustomerName])
这样,你将在订单表中看到对应的客户名称:
在这里插入图片描述


原文地址:https://blog.csdn.net/m0_47147246/article/details/139297960

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!