如何在Qlik Sense中将两个字段合并为单个字段(非拼接)
在Qlik Sense中实现非拼接式的字段合并
完全可以实现,核心思路是通过**逆透视(Unpivot)**将多个字段的行值合并到单个字段中,以下是两种常用方法:
方法一:数据加载脚本层面处理(推荐)
这种方式会修改数据模型,生成永久的合并字段,适合长期使用的数据集。
假设你的原始数据加载脚本如下:
原始数据表: LOAD ID, 字段1, 字段2 FROM [lib://你的数据源路径/数据文件.xlsx] (ooxml, embedded labels, table is Sheet1);
添加逆透视转换脚本,将字段1和字段2合并为合并字段:
合并后数据表: LOAD ID, 合并字段 RESIDENT 原始数据表 UNPIVOT (合并字段 FOR 原字段标识 IN (字段1, 字段2));
- 执行后,
合并字段会包含原两个字段的所有值,每个ID对应两行数据(分别对应原字段的内容)。 - 如果需要记录每个值来自原哪个字段,可以保留
原字段标识字段(脚本中不删除即可)。
方法二:前端可视化临时处理(无需修改脚本)
如果只是临时分析需求,不想改动数据模型,可以在表格组件中直接实现:
- 添加表格组件,将
ID拖入维度列表。 - 创建一个计算维度,输入以下表达式:
Pick(ValueLoop(1, 2), 字段1, 字段2) - 在表格的维度设置中,勾选「显示所有值」,确保计算维度生效。
这种方式会在前端动态生成合并后的字段行,仅对当前表格组件生效。
原数据与预期结果示例
内容的提问来源于stack exchange,提问作者Rachel F
相关产品推荐
相关产品推荐

