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

開篇介紹

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

好比第一幅圖中 S200,M250,R35 都是 Invoice 的類型,這時都須要取出來做爲分析的維度 DIMENSION。spa

能夠經過下面的代碼來實現上圖的分隔效果,取出全部的 Invoice 類型,這樣就能夠作數據統計分析了。固然,其它的列會出現從新數據,在聚合的時候注意就行了。code

代碼

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 博客推薦欄中快速看到這些文章。htm

相關文章
相關標籤/搜索