代码改变世界

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

  BIWORK  阅读(2551)  评论(2编辑  收藏  举报

开篇介绍

今天在使用 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 博客推荐栏中快速看到这些文章。

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 单线程的Redis速度为什么快?
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示