我想获取多个文件中所有行的总计,并保存为QVD。实际上,只有一个文件,我可以这样完成:
data:
LOAD count(id) AS counter FROM data.qvd (qvd);
LET number = Peek('counter');
当然,我知道我也可以在一个命令中使用整个表RowNo()
或Count()
,但是我想用该解决方案尝试一下。
现在,当我尝试在一个语句中获取多个文件时,如下所示,我总是只获得最后加载文件的计数,而不是总数:
data_multiple:
LOAD count(id) AS counter FROM data_*.qvd (qvd);
LET number_multiple = Peek('counter');
现在我的问题是如何获取全部行,而不仅仅是最后一行。
到目前为止我尝试过的事情
我已经试图像这样重新排列语句:
data:
LOAD id FROM data_*.qvd (qvd);
LOAD Count(id) AS counter Resident data;
LET number = Peek('counter');
但是我仍然得到相同的结果。有什么方法可以实现这一目标吗?
答案 0 :(得分:1)
我问过同样的question on the official Qlik Community page。在那里我收到了答案:
let total_number = 0;
for each file in filelist('D:\Data\data_*.qvd')
QVDRecords: load QvdNoOfRecords('$(file)') as Counter, '$(file)' as Source autogenerate 1;
total_number = total_number + Peek('Counter');
next
trace QVD: $(total_number);