在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]))
示例操作
假設你有以下兩個表:
1、建立關系:在PowerPivot中,基于客戶ID(CustomerID)建立訂單表和客戶表的關系。
2、在訂單表中添加客戶名稱列:
在PowerPivot窗口中,選擇訂單表。在空白列中輸入公式:=RELATED(Customers[CustomerName])
這樣,你將在訂單表中看到對應的客戶名稱: