2017-12-21 1 views
1

우리 회사에서는 수식 파일을 사용하여 식과 변수를 저장하므로 하나의 중앙 위치에서 업데이트 할 수 있으며 여러 탭 (qlikview 테이블)을 사용하여 그들 조직. 코드 복제가 맘에 들지 않았으므로 하위 프로 시저를 만든 다음 변경되는 변수를 호출합니다. 구문은 올바른 보이지만 그것은 나에게 말한다 스크립트 오류주고 유지 :Qlikview의 변수에 Excel 파일을 사용하면 파일을 찾을 수 없습니다.

필드 = <를 찾을 수 없음>

VariableList :

로드, [D에서

: \ 개발 \ UserDocs \ ExpressionDictionary.xlsx] (ooxml, 임베디드 레이블, 테이블은 $ (ExcelTable)) WHERE [로드 플래그];

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') 

가 나는 열 이름이 표시되지 않습니다하지만 난 그것을 작동하도록하는 방법을 알고하지 않는 것으로 알고 있습니다. 나는로드 스크립트에서 달러 확장을 둘러싼 것과없는 것을 모두 시도했다. 내가 뭘 놓치고 있니?

답변

1

거기에있는 GetVariables 함수는 TableName, ExcelTable, NameColumn 및 VariableColumn의 4 개 매개 변수를 사용합니다.

호출했을 때 처음 2 개만 지정 했으므로 NameColumn 및 변수 열은 비어 있습니다. 이 문제를 해결하려면로드 할 Excel의 변수 시트에서 열 이름이 무엇인지 말해야합니다. "VariableName"과 "VariableValue"일 수 있지만 파일 자체를 보지 않고는 말할 수 없습니다. 같은

뭔가 :이 코드를 실행 있기 때문에

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

오류는 다음과 같습니다이 변수 값이 정의되지로 LOAD 문에는 필드 이름이 없는지

VariableList: 
LOAD 
    , 

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

참고.

+0

와우 감사합니다. 멍청한 실수. 나는 이것을 해왔고 내 머리를 깎고 있었다. 다시 감사합니다. – djblois

+0

문제 없습니다, 자유롭게 투표하거나 정답으로 표시하십시오 :) – x3ja

관련 문제