數據可視化之DAX篇(十四)DAX函數:RELATED和RELATEDTABLE


https://zhuanlan.zhihu.com/p/64421378

Excel中知名度最高的函數當屬VLOOKUP,它的確很有用,可以在兩個表之間進行匹配數據,使工作效率大大提升,雖然它也有很多局限性。這里不討論VLOOKUP,而是學習一個和VLOOKUP功能很相似的DAX函數:RELATED.

RELATED

 

RELATED是一個值函數,它的參數是一列,RELATED函數也是把一個表的數據通過匹配到另一個表中,前提是使用前應該在兩個表之間建立關系。

 

表之間的關系圖如下,

 

 

訂單表的數據如下,

 

如果想在訂單表中加入產品類別,可以在這個表中新建列,輸入,

 

產品類別 = RELATED('產品'[產品類別])

 

訂單表中立即出現了產品類別列,

 

 

RELATED函數就是這么簡單快捷,它只能用於計算列,根據當前的行上下文返回另一表中對應列的數據,適合把維度表的數據,匹配到事實表中,也就是沿着關系的多端找一端的值。

那么如果我們想把事實表的數據,匹配到維度表,從關系的一端找多端的值,怎么辦呢?這時就要用到RELATEDTABLE函數。

 

RELATEDTABLE

 

RELATEDTABLE的功能與RELATED類似,不過它返回的是一個表,它的參數也需要一個表,它也是用於計算列,可以沿着關系的一端找多端的值。

比如把訂單表的數據返回到客戶城市中,新建列,如果直接寫,

 

訂單數據 = RELATEDTABLE('訂單')

 

將返回錯誤,

 

 

因為RELATEDTABLE函數返回的是一個表,無法直接用於計算列。並且上述表達式也沒有任何意義,不知道它到底想要從訂單表中得到什么數據。

如果要避免錯誤,就要把這個函數返回的表進行聚合,比如統計這個表的行數,計算列表達式改為,

 

訂單數 = COUNTROWS(RELATEDTABLE('訂單'))

 

 

返回結果正常,並且該數據有實際意義,計算出了各個城市的訂單數量。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM