在qlikview中使用excel文件表示未找到文件



在我的公司中,我们正在使用一个Excel文件来存储我们的表达式和变量,以便我们可以在一个中心位置更新它们,并且我们使用多个选项卡(在qlikview表中)来保持它们的组织。我不喜欢代码的重复,因此我创建了一个子过程,然后将其称为更改的变量。语法看起来正确,但它不断给我一个脚本错误,上面写着:

找不到字段=<,>

variablelist:

负载,

来自[d: development userDocs expressiveDictionary.xlsx](ooxml,嵌入式标签,表为$(可扣除))其中[load flag];

sub GetVariables(TableName, ExcelTable, NameColumn, VariableColumn)
    
        $(TableName):
        
        LOAD 
             $(NameColumn), 
             $(ExpressionColumn)
        FROM [D:DevelopmentUserDocsExpressionDictionary.xlsx] (ooxml, embedded labels, table is $(ExcelTable))
        WHERE [Load Flag];
        
        FOR counter = 1 TO NoOfRows('$(TableName)')
            LET vVariable = Peek('$(NameColumn)', $(counter) -1, '$(TableName)');
            LET $(vVariable) = Peek('$(ExpressionColumn)', $(counter) -1, '$(TableName)');
        NEXT 
        
        LET vVariable = null();
        LET counter = null();
    
end sub
call GetVariables('VariableList', 'Variables') 

我知道它没有看到列的名称,但我不知道如何使其正常工作。我尝试过有或没有围绕加载脚本的美元扩展。我想念什么?

您拥有的getVariobles函数需要4个参数 - tablename,exceltEltable,excelteL,namecolumn和variablecolumn。

当您打电话给它时,您仅指定了第一个2,因此NameColumn和Varible列是空白的。要修复它,您需要告诉它,您希望加载的变量表中的列名是什么。可以是" variablename"one_answers" variablevalue",但我不能不看文件本身。

类似:

call GetVariables('VariableList','Variables','VariableName','VariableValue')

错误是因为它正在运行此代码:

VariableList:
LOAD 
    , 
FROM [D:DevelopmentUserDocsExpressionDictionary.xlsx] 
(ooxml, embedded labels, table is Variables)
WHERE [Load Flag];

请注意,加载语句中没有字段名称,因为这些变量值未定义。

最新更新