數據可視化之DAX篇(七) Power BI中用DAX生成的表如何添加索引列?


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

來源於知識星球中一個星友的問題,使用DAX在PowerBI中新建了一個表,如何為這個表添加索引列呢?

假如數據模型中只有一張訂單表,需要從訂單表中提取客戶表,可以直接使用VALUES函數提取一個不重復客戶表,

 

如何為這個表添加索引列?

因為DAX生成的表無法在PowerQuery中編輯,也就無法使用PQ的添加索引列的功能了,這里提供兩個變通解決的方法。

方法一:使用ADDCOLUMNS在原DAX的基礎上增加排名列

因為DAX中並沒有索引函數,這里使用排名函數RANKX來代替,比如按客戶姓名排序,使用排名作為索引列,

 

 

使用RANKX計算排名時,排名依據的選取盡量不要有並列的情況,如果並列,RANKX排名相同,就不符合索引規則了,上面的姓名去重后,很可能不存在重復的情況。

但如果按客戶下單日期來排序,就很容易出現並列的情況,

 

 

同一天購買的客戶,排名相同

 

方法二:復制表,在Powerquery中添加索引

這種方法也很方便,不用寫任何函數,點幾下鼠標就添加好了,

 

↑ 右鍵>復制表

 

↑ 輸入數據>粘貼>編輯

 

↑ 在Powerquery中添加索引列並上載

 

總結

  • 使用ADDCOLUMNS直接生成,可動態刷新,但RANKX有可能有重復排名;
  • 在Powerquery中添加的是真正的索引列,但經過復制后,失去了動態性。

大家如果有更好的方法,歡迎留言分享哦。


免責聲明!

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



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