You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

QlikView/QlikSense:含多字符串列的拆分转换需求

Qlik 拆分空格分隔字符串为一对一关联行记录

假设你的源数据结构为:

ChapterIndexTextColumn
1hello world qlik
2data analysis visualization

要实现将每个ChapterIndex与对应TextColumn中的每个字符串一一对应生成独立行,且无需创建中间列的方案,直接使用Qlik脚本的**SubField + IterNo()循环**即可完成:

核心脚本实现

-- 假设你的源表名为SourceTable,index列是ChapterIndex,待拆分列是TextColumn
SplitResultTable:
LOAD
    ChapterIndex,
    -- 循环提取分割后的每个字符串,自动处理任意数量的子项
    Trim(SubField(Trim(TextColumn), ' ', IterNo())) AS Word
RESIDENT SourceTable
-- 循环直到提取到空值时停止,避免生成无效空行
WHILE Trim(SubField(Trim(TextColumn), ' ', IterNo())) <> '';

-- 可选:如果不需要保留原表,执行删除
DROP TABLE SourceTable;

关键逻辑说明

  • SubField(TextColumn, ' ', IterNo()):IterNo()会在循环中自动递增数值,依次提取分割后的第N个字符串,无需手动指定分割数量
  • Trim()嵌套处理:先去除原列首尾空格,再对每个分割后的字符串去空格,避免连续空格或首尾空格导致的空值行
  • WHILE条件:确保循环仅在提取到有效非空字符串时继续,自动适配任意数量的子字符串(哪怕有数百个)

执行脚本后,输出结果会是:

ChapterIndexWord
1hello
1world
1qlik
2data
2analysis
2visualization

内容的提问来源于stack exchange,提问作者Sadegh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 22:03:18