Batch file 使用批处理文件在QlikView中导入文本文件或压缩文件
我在一个文件夹中有多个文本文件。我需要每天将这些文件导入QlikView。是否有任何方法可以使用批处理/命令文件导入这些文件Batch file 使用批处理文件在QlikView中导入文本文件或压缩文件,batch-file,qlikview,Batch File,Qlikview,我在一个文件夹中有多个文本文件。我需要每天将这些文件导入QlikView。是否有任何方法可以使用批处理/命令文件导入这些文件 此外,我可以将压缩文件导入QlikView吗?我不确定加载脚本是如何设置的,但是如果您希望刷新QlikView文档,并且您没有QlikView服务器,那么您可以按如下方式使用批处理文件: "<Path To QlikView>\QV.exe" /r "ReportToReload.qvw" “\QV.exe”/r“reportoreload.qvw” /r
此外,我可以将压缩文件导入QlikView吗?我不确定加载脚本是如何设置的,但是如果您希望刷新QlikView文档,并且您没有QlikView服务器,那么您可以按如下方式使用批处理文件:
"<Path To QlikView>\QV.exe" /r "ReportToReload.qvw"
“\QV.exe”/r“reportoreload.qvw”
/r
命令参数告诉QlikView打开文档,重新加载文档,然后保存并关闭文档。但是,您必须确保QlikView用户首选项“重新加载后保持进度打开”未启用,否则重新加载文档后,进度对话框将等待您关闭
然后,您可以通过Windows的任务计划程序或您喜爱的计划工具计划此批处理文件的运行
QlikView无法导入压缩文件(例如Zip/RAR等),因此您需要先使用批处理脚本提取这些文件。您可以循环查看目录结构并读取加载脚本中的现有文件
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
正如我所看到的,QlikView无法导入压缩文件。如果需要读取压缩文件,可以使用解压工具对其进行批处理
你应该看看
21.1从文件加载数据
在参考手册中
下面的脚本检查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;
你能看看我问题中的剧本吗。怎么了?对不起,我现在没时间。你说:但是它没有给出预期的结果。结果如何?尝试使用少量数据并尝试跟踪输出。尽管此答案仅回答了问题的第二部分,因为您实际上并没有使用源文件列表,而只是将所有内容加载到文件夹中,但您可以使用通配符加载来简化操作:data2:load*FROM[G:\Test*](txt,代码页为1252,显式标签,分隔符为空格,msq);如果不为空(qvdCreateTime('G:\TestQvd\Data.qvd')),则数据2:LOAD*FROM G:\TestQvd\Data.qvd(qvd);End如果有新问题,请提出新问题。不要将其编辑到原始帖子中。