【问题标题】:Using Excel File for Variables in Qlikview says File not found在 Qlikview 中对变量使用 Excel 文件说找不到文件
【发布时间】:2017-12-21 14:57:01
【问题描述】:

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

未找到字段 =

变量列表:

加载,

来自 [D:\Development\UserDocs\ExpressionDictionary.xlsx] (ooxml, 嵌入标签,表格为 $(ExcelTable)) WHERE [Load Flag];

sub GetVariables(TableName, ExcelTable, NameColumn, VariableColumn)
    
        $(TableName):
        
        LOAD 
             $(NameColumn), 
             $(ExpressionColumn)
        FROM [D:\Development\UserDocs\ExpressionDictionary.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') 

我知道它看不到名称列,但我不知道如何让它工作。我已经尝试过在加载脚本中使用和不使用 ' 围绕美元扩展。我错过了什么?

【问题讨论】:

    标签: subroutine qlikview


    【解决方案1】:

    您拥有的 GetVariables 函数有 4 个参数 - TableName、ExcelTable、NameColumn 和 VariableColumn。

    当你调用它时,你只指定了前 2 个,所以 NameColumn 和 Variable Column 是空白的。要修复它,您需要告诉它您希望它加载 Excel 中的变量表中的列名。可能是“VariableName”和“VariableValue”,但我不能说没有看到文件本身。

    类似:

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

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

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

    请注意,由于未定义这些变量值,因此 LOAD 语句中没有字段名称。

    【讨论】:

    • 哇,谢谢。愚蠢的错误。我一直在这样做并绞尽脑汁。再次感谢您。
    • 没问题,请随意投票或将其标记为正确答案:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-28
    • 1970-01-01
    • 1970-01-01
    • 2019-05-05
    • 2018-05-14
    • 2011-10-14
    • 2022-11-10
    相关资源
    最近更新 更多