2017-12-21 12 views
1

私の会社では、Excelファイルを使用して式と変数を格納していますので、それらを一箇所で更新できるようにしています。彼らは組織化された。私はコードの重複が気に入らなかったので、私はサブプロシージャを作成し、変数を変更して呼び出すだけでした。構文が正しいに見えるが、それは私に言うのスクリプトエラー与え続け:\開発:[DからQlikviewの変数にExcelファイルを使用するとファイルが見つかりません

ロード、

:= <、>

VariableList見つかりません

フィールドを\ 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') 

私はそれは、列名が表示されませんが、私はそれが動作するように取得する方法がわからないことを理解しています。私は、Loadスクリプトのドル拡張を回避するかどうかを試してみました。私は何が欠けていますか?

答えて

1

そこにあるGetVariables関数は、TableName、ExcelTable、NameColumn、およびVariableColumnの4つのパラメータをとります。

これを呼び出すと、最初の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文ではありませんことを。

+0

ありがとうございます。愚かな間違い。私はこれをして、私の脳をぶら下げている。ありがとうございました。 – djblois

+0

問題はありません。気をつけて投票してください。それは正しい答えです。 – x3ja

関連する問題