Перейти к основному содержимому Перейти к дополнительному содержимому

Расширение со знаком доллара с использованием переменной

При использовании переменной для текстового замещения в скрипте или в выражении используется следующий синтаксис:

$(variablename)      

$(variablename) расширяется до значения в переменной. Если элемент variablename не существует, расширение будет пустой строкой.

Для расширений числовых переменных используется следующий синтаксис:

$(#variablename)      

Он всегда возвращает допустимое представление десятичной точки числового значения переменной, возможно, в экспоненциальной нотации (для очень больших/малых чисел). Если элемент variablename не существует или не содержит числовое значение, вместо этого будет выполнено расширение до 0.

Пример:  

SET DecimalSep=',';

LET X = 7/2;

Расширение со знаком доллара $(X) будет расширяться до 3,5, в то время как $(#X) будет расширяться до 3.5.

Пример:  

Set Mypath=C:\MyDocs\Files\;

...

LOAD * from $(MyPath)abc.csv;

Данные будут загружены из файла по пути C:\MyDocs\Files\abc.csv.

Пример:  

Set CurrentYear=1992;

...

SQL SELECT * FROM table1 WHERE Year=$(CurrentYear);

Строки с элементом Year=1992 будут выбраны.

Пример:  

Set vConcatenate = ; For each vFile in FileList('.\*.txt') Data: $(vConcatenate) LOAD * FROM [$(vFile)]; Set vConcatenate = Concatenate ; Next vFile

В этом примере все файлы .txt в каталоге загружаются с помощью префикса Concatenate. Это может потребоваться, если поля отличаются незначительно, так как в этом случае автоматическое объединение не работает. Переменная vConcatenate изначально задается в пустую строку, поскольку префикс Concatenate не используется при первой загрузке. Если каталог содержит три файла под именами file1.txt, file2.txt и file3.txt, оператор LOAD за время трех итераций расширится до:

LOAD * FROM[.\file1.txt];

Concatenate LOAD * FROM[.\file2.txt];

Concatenate LOAD * FROM[.\file3.txt];

Расширение переменных в альтернативных состояниях

Переменная имеет только одно значение, и оно используется во всех альтернативных состояниях. При расширении переменной ее значение также остается неизменным, независимо от места ее создания и состояния объекта.

Если переменная является вычисляемой, то есть ее определение начинается со знака равенства, вычисление производится в состоянии по умолчанию, если в определении переменной не указано альтернативное состояние.

Пример:  

Если имеется состояние MyState и переменная vMyVar:

vMyvar: =only({MyState} MyField)

Содержимое определения переменной с явной ссылкой на имя альтернативного состояния определяет, в каком состоянии будет оцениваться содержимое переменной.

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!

Присоединяйтесь к программе модернизации аналитики

Remove banner from view

Модернизируйте ваши важные приложения QlikView без ущерба с помощью программы модернизации аналитики. Щелкните здесь для получения дополнительной информации или свяжитесь с нами: ampquestions@qlik.com