Qlik Sense 多表串联详解(Concatenate、NoConcatenate)

1 概述

多表串联
默认串联: 相同字段,自动连接
强制串联:关键词 Concatenate
防止串联:关键词 NoConcatenate

2 示例

2.1 自动串联

2.1.1 所有列名均相同时 - 组合为一张表

  • 如果两个或多个已加载表格的 字段名字段数量 完全相同,Qlik Sense 会自动串联不同语句的内容到 一个表格中

“数据加载编辑器:”

Table1:
Load * Inline [
	Sno, Name, Sex
	1, 张三, 1
	2, 李四, 2
	3, 王五, 1
];

Table2:
Load * Inline [
	Sno, Name, Sex
	4, 张三, 1
	5, 李四, 2
];

加载数据:
在这里插入图片描述

数据模型查看器:
在这里插入图片描述

2.1.2 部分列名相同时,自动连接

数据加载编辑器:

Table1:
Load * Inline [
	Sno, Name, Sex
	1, 张三, 1
	2, 李四, 2
	3, 王五, 1
];

Table2:
Load * Inline [
	Sex, Sex_Desc
	1,2,3, 未说明
];

加载数据:
在这里插入图片描述

数据模式查看器:
在这里插入图片描述

工作表:
在这里插入图片描述

2.2 强制串联 - Concatenate

  • 即使两个或多个表格的字段名和字段数量并不完全相同,仍有可能强制 Qlik Sense 串联两个表格。
  • 这可以使用脚本的 Concatenate 前缀来实现,即将一个表格串联至另一个命名表格或最新创建的表格。

数据加载编辑器:

Table1:
Load * Inline [
	Sno, Name, Sex
	1, 张三, 1
	2, 李四, 2
	3, 王五, 1
];

Table2:
Concatenate
Load * Inline [
	Sex, Sex_desc
	1,2,];

加载数据:
在这里插入图片描述

数据模型查看器:
在这里插入图片描述

2.3 防止串联 - NoConcatenate

  • 如果两个或多个已加载表格的字段名和字段数量完全相同,Qlik Sense 会自动串联不同语句的内容到一个表格中。
  • 可以使用 NoConcatenate 语句来防止此行为。
  • 然后,使用相关 LOAD 或 SELECT 语句加载的表格不会与现有表格串联。

数据加载编辑器:

Table1:
LOAD
    SNO,
    SNAME
FROM [lib://测试 (cmicbiad_administrator)/测试.qvd]
(qvd);

Table2:
NoConcatenate
LOAD
    SNO as SNO2,
    SNAME as SNAME2
FROM [lib://测试 (cmicbiad_administrator)/测试.qvd]
(qvd);

???待存疑问 ???
感觉是别名起了作用, NoConcatenate 有和没有效果一样
因为:若将 Table2 的别名去掉,会生产 合成钥,表格还是会串联

数据模型查看器:Table1 和 Table2 之间没有联系
在这里插入图片描述

3 扩展

3.1 Qlik Sense 重复数据默认处理逻辑

  • Qlik Sense 特性,若存在相同的数据行时
    • 对于维度:仅保留一条
    • 对于度量:累加
  • 验证如下

数据加载编辑器:
在这里插入图片描述

工作表:

  • “数据加载编辑器” 中有 5 条数据,其中 Sno=3 的数据重复 2 条
  • “工作表” 中,存在如下默认处理逻辑
    • 对于 维度(列的右上角是放大镜):自动去重,只展示 4 条数据
    • 对于 度量:累加,如:1 + 1 = 2 条

在这里插入图片描述

3.2 官方文档

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼丸丶粗面

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值