В моей компании мы используем файл Excel для хранения наших выражений и переменных, чтобы мы могли обновлять их в одном центральном месте, и мы используем несколько вкладок (в таблицах qlikview), чтобы они были организованы. Мне не нравилось дублирование кода, поэтому я создал подпроцедуру, а затем просто вызывал ее с изменяющимися переменными. синтаксис выглядит правильно, но он продолжает выдавать мне ошибку сценария, которая говорит:
Поле не найдено = ‹,›
Список переменных:
Нагрузка ,
From [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')
Я понимаю, что он не видит столбца Names, но я не знаю, как заставить его работать. Я пробовал как с расширением доллара в сценарии загрузки, так и без него. Что мне не хватает?