我有多个按惯例命名的文件:"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);
下一个文件