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