使用DAX將分隔行拆分為多行


​大家好,小悅這次給大家帶來的案例是:我們如何使用DAX將單個分隔行拆分為多行數據?首先我們來看到我們的業務需求。

 

業務需求

 

假設有一個表有兩列 -”學生”和”學科”,學科字段中的每個科目通過”,”號來分割,然而我們想要將我們的科目拆分為多行數據來分析。

 

 

 

最終結果應該是:

 

 

 

PART 01

我們這里先用我們輸入數據的方式創建一張原始表,當然你也可以通過其他的手段來得到這張表。

 

 

 

PART 02

創建完原始表之后。首先,第一步是獲取每行”學科”字段的一個科目數。這里是通過分隔符的多少,來推斷出科目數的多少。

 

 

 

結果如下圖:

 

 

PART 

03

然后我們需要通過a表(2步驟得到的表)的最大科目數得到一份輔助表來幫助我計算下面的步驟,創建輔助表需要兩個步驟:

 

a.        獲取最大科目數

 

b.       創建輔助表

 

 

結果如下圖:

 

 

PART

 04

然后使用CrossJoin函數來得到B表(3步驟得到的表)和A表(2步驟得到的表)的叉積表C表:

 

 

 

結果如下圖:

 

 

 

PART 

05

現在過濾C表(4步驟得到的表),拿【總科目數】和輔助表的【Value】來做對比,獲得最終結果所需的確切行數。得到D表:

 

結果如下圖:

 

 

 

PART 06

剩下的就是將D表(5步驟得到的表)中的【學科】分成單個對應的科目。使用PATHITEM函數,通過【value】獲取科目所處位置

 

 

 

 

將結果如下圖:

 

 

 

PART 

07

最后需要做的就是選取需要的列。

 

 

 

最終結果:

 

 

 

然后這里再附上整體代碼的截圖:

 

 

 

如果大家有其他的方法的話也可以在評論下方留言。

 

技術交流

1.Power BI免費下載:http://www.yeacer.com/

    Microsoft Power BI Desktop中文最新版:下載地址

2.歡迎加入的Power BI技術群,目前正在學習階段,有興趣的朋友可以一起學習討論。 

   Power Data技術交流群:702966126 (驗證注明:博客園Power BI) 

   更多精彩內容請關注微信公眾號:悅策PowerBI          


如果您覺得閱讀本文對您有幫助,請點一下“推薦”按鈕,您的“推薦”將是我最大的寫作動力!歡迎各位轉載,作者博客:https://www.cnblogs.com/yeacer/ 


免責聲明!

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



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