如何制作加载脚本,将多个文件加载到一个表中

gab*_*bba 1 qlikview

我有多个按惯例命名的文件:"data_YYYY.MM.xslx"我需要将所有这些文件加载​​到一个qlikview表中,但是当我这样做时:

Tab:
load Name, Number from [data_*.csv];
Run Code Online (Sandbox Code Playgroud)

我得到每个文件的Tab,Tab-1,Tab-2文件.

我也尝试过这样做:

Tab:
add load Name, Number from [data_*.csv];
Run Code Online (Sandbox Code Playgroud)

具有相同的效果.

如果有人知道怎么做,请帮忙.

小智 5

这个问题毫无意义,除非你省略了一些细节.

QlikView 通过以下语句隐式将所有数据附加到原始表'Tab':

选项卡:从[data _*.csv](txt)加载名称,编号;

请注意括号中指定的文件格式.

当加载的表与已创建的表具有完全相同的字段名时,会隐式发生附加数据.因此,在您的示例中,遇到的第一个文件构成了该文件的数据加载.假设根据您的问题确实引用了字段名称,结果表中应该包含两个字段:"Name"和"Number".当通过通配符匹配遇到第二个文件时,第二个加载发生,它会将该数据附加到表'Tab'.

如果您不希望依赖IMPLICIT连接(QlikView术语将数据附加到现有表),那么您可以使用显式CONCATENATE加载前缀来编写FOR循环以加载文件,以指向要附加数据的表. .

例如

// QV技巧'声明'表格

Tab:LOAD null()AS名称AUTOGENERATE(1)WHERE RecNo()<0;

对于每个文件IN文件列表('data _*.csv')

CONCATENATE('Tab')LOAD*FROM [$(file)](txt);

下一个文件