Синтаксис для создания ссылок на переменные

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

Тип ссылки на переменную зависит от выполняемой задачи. Для задач, где пользователю предлагается заполнить поля в диалоговом окне, необходимо указывать только тип и имя переменной (не полный синтаксис). В качестве примера можно привести ссылку на переменную в определении фильтра.

Для других задач, таких как создание ссылки на переменную в представлении заголовка, указывается синтаксис переменной. Используемый синтаксис зависит от типа переменной (см. нижеприведенную таблицу).

Тип Синтаксис Пример

Сеанс

@{biServer.variables['NQ_SESSION.variablename']}

где variablename – имя переменной сеанса, например DISPLAYNAME.

@{biServer.variables['NQ_SESSION.SalesRegion']}

Семантическая модель (репозиторий)

@{biServer.variables.variablename}

или

@{biServer.variables['variablename']}

где variablename – имя переменной, например prime_begin

@{biServer.variables.prime_begin}

или

@{biServer.variables['prime_begin']}

Презентация или запрос

@{variables.variablename}[format]{defaultvalue}

или

@{scope.variables['variablename']}

где:

variablename – имя переменной презентации или запроса, например MyFavoriteRegion.

(не обязательно) format – маска формата, зависящая от типа данных переменной, например: #,##0, ММ/DD/YY hh:mm:ss. (Обратите внимание, что формат не применяется к значению по умолчанию.)

(Не обязательно) defaultvalue – ссылка на константу или переменную, указывающая значение, которое будет использоваться, если не заполнена переменная, на которую ссылается variablename.

scope – квалификаторы переменной. Область указывается, когда переменная используется на нескольких уровнях (анализы, страницы информационной панели, информационные панели) и требуется доступ к определенному значению. (Если область не указана, при использовании переменной соблюдается следующий порядок очередности: "анализы - страницы информационной панели - информационные панели".)

При использовании запроса информационной панели с переменной презентации, которая может принимать несколько значений, синтаксис зависит от типа столбца. Несколько значений разделяются запятыми, поэтому любой оператор форматирования применяется к каждому значению до того, как значения соединяются запятыми.

@{variables.MyFavoriteRegion}{EASTERN REGION}

или

@{dashboard.MyFavoriteRegion}{EASTERN REGION}

или

@{dashboard.variables['MyFavoriteRegion']}

или

(@{myNumVar}[#,##0]{1000})

или

(@{variables.MyOwnTimestamp}[YY-MM-DD hh:mm:ss]{)

или

(@{myTextVar}{A, B, C})

Глобальные

@{global.variables.variablename}

где variablename – имя глобальной переменной, например gv_region. При создании ссылки на глобальную переменную необходимо использовать полное имя, как показано в примере.

Имена глобальных переменных должны соответствовать спецификациям языка ECMA Scripting для JavaScript. Длина имени не должна превышать 200 символов. Имя не должно содержать встроенных пробелов, зарезервированных слов и специальных символов. Если вы не знакомы с требованиями языка JavaScripting, обратитесь к вспомогательной документации

@{global.variables.gv_date_n_time}

Также можно ссылаться на переменные в выражениях. Инструкции по созданию ссылок на переменные в выражениях приведены в последующих разделах.

Переменные сеанса

Ссылаясь на переменные сеанса в выражениях, можно использовать следующие рекомендации.

  • Включите переменную сеанса в функцию VALUEOF в качестве аргумента.
  • Заключите имя переменной в двойные кавычки.
  • Перед переменной сеанса поместите оператор NQ_SESSION и точку.
  • Заключите NQ_SESSION в двойные кавычки.
  • Заключите фрагмент NQ_SESSION и имя переменной сеанса в круглые скобки.

Пример:

"Market"."Region"=VALUEOF("NQ_SESSION"."SalesRegion")

Переменные презентации

Ссылаясь на переменные презентации в выражениях, можно использовать следующие рекомендации.

Ссылаясь на переменную презентации, используйте следующий синтаксис:

@{variablename}{defaultvalue}

где variablename – имя переменной презентации, defaultvalue (не обязательно) – ссылка на константу или переменную, указывающая значение, которое используется, если не заполна переменная, на которую ссылается variablename.

Чтобы преобразовать переменную в строку или включить в нее несколько переменных, заключите всю переменную в одинарные кавычки, например:

'@{user.displayName}'

Если за символом @ не следует фигурная скобка {, он расценивается как символ @. При использовании переменной презентации, которая может принимать несколько значений, синтаксис меняется в зависимости от типа столбца.

Для создания корректных инструкций SQL используйте следующий синтаксис для указанного типа столбца:

  • Текст — (@{variablename}['@']{'defaultvalue'})

  • Числовые значения — (@{variablename}{defaultvalue})

  • Дата-время – (@{variablename}{timestamp 'defaultvalue'})

  • Дата (только указанная дата) – (@{variablename}{date 'defaultvalue'})

  • Время (только указанное время) – (@{variablename}{time 'defaultvalue'})

Пример:

'@{user.displayName}'

Переменные семантической модели (репозитория)

Ссылаясь на переменные семантической модели (репозитория) в выражениях, можно использовать следующие рекомендации.

  • Включите переменную в функцию VALUEOF в качестве аргумента.
  • Заключите имя переменной в двойные кавычки.
  • Ссылайтесь на статические переменные семантической модели (репозитория) по их именам.
  • Ссылайтесь на динамические переменные семантической модели (репозитория) по их полным именам.

Пример:

CASE WHEN "Hour" >= VALUEOF("prime_begin") AND "Hour" < VALUEOF("prime_end") THEN 'Prime Time' WHEN ... ELSE...END