使用批处理文件在QlikView中导入文本文件或压缩文件

时间:2014-07-11 10:57:53

标签: batch-file qlikview

我在一个文件夹中有多个文本文件。我需要每天将这些文件导入QlikView。有没有办法使用批处理/命令文件导入这些文件?

此外,我可以将压缩文件导入QlikView吗?

3 个答案:

答案 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;