Выражения скрипта

Выражения можно использовать как в операторе LOAD, так и SELECT. Описываемые в данном разделе синтаксис и функции применяются к оператору LOAD, а не к оператору SELECT, поскольку последний интерпретируется драйвером ODBC, а не программой QlikView. Тем не менее большинство драйверов ODBC зачастую могут интерпретировать ряд описанных ниже функций.

Выражения состоят из функций, полей и операторов, соединенных по синтаксическим правилам.

Все выражения в скрипте QlikView возвращают число и/или строку, в зависимости от ситуации. Логические функции и операторы возвращают значение 0 для элемента False и -1 для элемента True. Преобразования числа в строку и наоборот являются неявными. Логические операторы и функции интерпретируют значение 0 как False, а все остальные как True.

Ниже представлен общий синтаксис выражения:

expression ::= (constant constant |
  fieldref |
  operator1 expression |
  expression operator2 expression |
  function |
  ( expression ) )

где

элемент constant — строка (текст, дата или время), заключенная в одиночные прямые кавычки, или число. Константы записываются без разделителя тысяч, а в качестве разделителя десятичной части используется десятичный разделитель.

fieldref — имя поля загруженной таблицы.

элемент operator1 — унарный оператор (работающий над одним выражением, справа).

элемент operator2 — бинарный оператор (работающий над двумя выражениями, по одному с каждой стороны).

function ::= functionname( parameters)

parameters ::= expression { , expression }

Число и типы параметров не являются произвольными. Они зависят от используемой функции.

Следовательно, выражения и функции можно свободно вкладывать, и, пока выражение возвращает интерпретируемое значение, программа QlikView не будет выдавать никаких сообщений об ошибках.