我在一个文件夹中有多个文本文件。我需要每天将这些文件导入QlikView。有没有办法使用批处理/命令文件导入这些文件?
此外,我可以将压缩文件导入QlikView吗?
答案 0 :(得分:1)
我不确定您的加载脚本是如何设置的,但是如果您想刷新QlikView文档,而您没有QlikView Server,那么您可以按如下方式使用批处理文件:
"<Path To QlikView>\QV.exe" /r "ReportToReload.qvw"
/r
命令参数告诉QlikView打开文档,重新加载它然后保存并关闭文档。但是,您必须确保QlikView用户首选项选项&#34;重新加载后保持进度打开&#34;未启用,否则进度对话框将等待您在重新加载文档后关闭它。
然后,您可以安排此批处理文件通过Windows&#39;任务计划程序,或您最喜欢的计划工具。
QlikView无法导入压缩文件(例如Zip / RAR等),因此您需要先使用批处理脚本提取这些文件。
答案 1 :(得分:1)
您可以遍历目录结构并读取加载脚本中的现有文件。
LET vCustCount = NoOfRows('Kunde');
TRACE Anzahl Kunden: $(vCustCount);
FOR i=1 TO $(vCustCount)
LET vNameKunde = FieldValue('name_kunde',$(i));
FOR each vFile in filelist ('$(vNameKunde)/umsatz.qvd')
TRACE $(vFile) hat eine umsatz.qvd;
LOAD ....
FROM [$(vFile)] (qvd);
NEXT vFile
NEXT
在这种情况下,我加载了预先计算好的qvd文件,但是您可以使用txt,csv ...
正如 i_saw_drones 所提到的,QlikView无法导入压缩文件。如果您需要读取压缩文件,可以使用解压缩工具批量操作它们。
你应该看看 21.1从文件加载数据 在参考手册。
中HTH
答案 2 :(得分:0)
以下脚本检查qvd是否存在。如果,是的话它会更新它,否则会创建一个新的qvd
IF NOT isNull(qvdCreateTime('G:\TestQvd\Data.qvd')) THEN
data2:
load * from G:\TestQvd\Data.qvd(qvd);
FOR each vFille in filelist ('G:\Test\*')
LOAD * FROM
[$(vFille)]
(txt, codepage is 1252, explicit labels, delimiter is spaces, msq);
NEXT vFille
ELSE
FOR each vFille in filelist ('G:\Test\*')
data2:
LOAD * FROM
[$(vFille)]
(txt, codepage is 1252, explicit labels, delimiter is spaces, msq);
NEXT vFille
ENDIF
STORE data2 into G:\TestQvd\Data.qvd;
exit Script;