其中一項功能 Power Pivot 建立資料表之間的關聯,然後使用相關的資料表來查詢或篩選資料。 您可以使用 DAX 運算式和 DAXPower Pivot提供的公式語言,從資料表 (相關) 。 DAX 使用關係模型,因此能輕鬆且精確地在另一個資料表或欄中取回相關或對應的值。 如果您熟悉 VLOOKUP Excel, Power Pivot 中的這項功能類似,但更容易實現。
您可以建立公式,做為計算資料行的一部分,或做為用於樞紐分析表或樞紐分析表之測量的一樞紐分析圖。 如需詳細資訊,請參閱下列主題:
本節說明提供用於尋找的 DAX 函數,以及如何使用函數的一些範例。
附註: 根據您想要使用的查詢作業或查詢公式類型,您可能需要先在資料表之間建立關聯。
瞭解 Lookup 函數
當目前資料表只有某種識別碼,但您需要的資料 (例如產品價格、名稱或其他詳細值) 儲存在相關資料表中時,從另一個資料表尋找比對或關聯資料的能力特別有用。 當另一個資料表中有多個列與目前列或目前值相關時,這項功能也很有用。 例如,您可以輕鬆取回與特定地區、商店或銷售人員相關的所有銷售。
與 Excel 查詢函數 ,例如以陣列為基礎的 VLOOKUP,或取得多個比對值第一個的 LOOKUP 等查詢函數相反,DAX 會遵循由按鍵連接之資料表之間的現有關聯,以取得完全符合的單一相關值。 DAX 也可以取回與目前記錄相關的記錄資料表。
附註: 如果您熟悉關係資料庫,可以將查詢視為 Power Pivot 類似 Transact-SQL 中的巢式子SQL。
正在取回單一關聯值
RELATED 函數會從目前資料表中與目前值相關的另一個資料表,返回單一值。 您可以指定包含您想要資料的欄,而函數會遵循資料表之間的現有關聯,從關聯資料表中的指定資料行中取值。 在某些情況下,函數必須遵循一系列關係來取回資料。
例如,假設您有一份今天出貨Excel。 不過,清單只包含員工識別碼、訂單識別碼和貨運公司識別碼,因此報表難以閱讀。 若要取得您想要的額外資訊,您可以將該清單轉換成 Power Pivot 連結資料表,然後建立與員工和轉銷商資料表的關係、將 EmployeeID 與 EmployeeKey 欄位配對,以及將轉銷商 ID 與轉銷商金鑰欄位配對。
若要在連結資料表中顯示尋找資訊,請新增兩個新的計算結果欄,包含下列公式:
= RELATED ( Employees'[EmployeesName])
= RELATED (轉銷商'[CompanyName])
在檢查前今天出貨
訂單編號 |
EmployeeID |
轉銷商ID |
---|---|---|
100314 |
230 |
445 |
100315 |
15 |
445 |
100316 |
76 |
108 |
員工資料表
EmployeeID |
員工 |
轉銷商 |
---|---|---|
230 |
Kuppa Vamsi |
模組化循環系統 |
15 |
Pilar Ackeman |
模組化循環系統 |
76 |
Kim Ralls |
相關聯的自行車 |
今天出貨與尋找
訂單編號 |
EmployeeID |
轉銷商ID |
員工 |
轉銷商 |
---|---|---|---|---|
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 值。 (不需要在公式中的任何位置指定識別碼欄,因為 Power Pivot 使用資料表之間的現有關聯。) 然後 RELATEDTABLE 函數會從資料表ResellerSales_USD與每個轉銷商相關的所有資料列,並計算列數。 如果兩個數據表 (直接或間接) 關聯,則您將從資料表取得ResellerSales_USD列。
對於範例資料庫中的轉銷商模組化循環系統,銷售資料表中有四個訂單,因此函數會返回 4。 針對關聯自行車,轉銷商沒有銷售,因此函數會返回空白。
轉銷商 |
此轉銷商的銷售資料表中的記錄 |
|
---|---|---|
模組化循環系統 |
轉銷商識別碼 |
SalesOrderNumber |
445 |
SO53494 |
|
445 |
SO71872 |
|
445 |
SO65233 |
|
445 |
SO59000 |
|
轉銷商識別碼 |
SalesOrderNumber |
|
相關聯的自行車 |
附註: 因為 RELATEDTABLE 函數會返回資料表,而不是單一值,因此它必須做為對資料表執行運算之函數的引數。 詳細資訊,請參閱 RELATEDTABLE 函數。