QlikView ETL - 分隔字符串的方法 SubField


開篇介紹

今天在使用 QV 加載數據的時候會碰到列中的一些狀態,信息是通過;或者 / 等符號分隔的,這樣不利於做數據分析,因為字符串中的內容本身就是維度。上網搜了一下找到了解決的方法,記錄一下。

比如第一幅圖中 S200,M250,R35 都是 Invoice 的類型,這時都需要取出來作為分析的維度 DIMENSION。

可以通過下面的代碼來實現上圖的分隔效果,取出所有的 Invoice 類型,這樣就可以做數據統計分析了。當然,其它的列會出現重新數據,在聚合的時候注意就好了。

代碼

Source:
Load * Inline 
[ ID , Invoice 
  1  , S200/M250/R35/
  2  , M1687/A35/D879/F689/
  3  , B33625/S55/
] ;

Destination:
Load ID , 
     NewInvoice
Where Len ( NewInvoice ) > 0;
Load
    ID ,
    Invoice ,
    SubField( Invoice,'/') AS NewInvoice
;
Load * Inline 
[ ID , Invoice 
  1  , S200/M250/R35/
  2  , M1687/A35/D879/F689/
  3  , B33625/S55/
] ;

更多 BI 文章請參看 BI 系列隨筆列表 (SSIS, SSRS, SSAS, MDX, SQL Server) 如果覺得這篇文章看了對您有幫助,請幫助推薦,以方便他人在 BIWORK 博客推薦欄中快速看到這些文章。


免責聲明!

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



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