Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сохраняет результат выражения в виде именованной переменной, которая затем может быть передана в качестве аргумента другим выражениям мер. После вычисления результирующих значений для выражения переменной эти значения не изменяются, даже если переменная ссылается в другом выражении.
Синтаксис
VAR <name> = <expression>
Параметры
Срок | Определение |
---|---|
name |
Имя переменной (идентификатор). Разделители не поддерживаются. Например, "varName" или [varName] приведет к ошибке. Поддерживаемый набор символов: a-z, A-Z, 0-9. Значение 0-9 недопустимо в качестве первого символа. __ (двойной подчеркивание) допускается в качестве префикса имени идентификатора. Другие специальные символы не поддерживаются. Зарезервированные ключевые слова не разрешены. Имена существующих таблиц не допускаются. Пустые пробелы не допускаются. |
expression |
Выражение DAX, которое возвращает скалярное или табличное значение. |
Возвращаемое значение
Именованной переменной, содержащей результат аргумента выражения.
Замечания
Выражение, переданное в качестве аргумента для VAR, может содержать другое объявление VAR.
При ссылке на переменную:
- Меры не могут ссылаться на переменные, определенные вне выражения меры, но могут ссылаться на переменные функциональной области, определенные в выражении.
- Переменные могут ссылаться на меры.
- Переменные могут ссылаться на ранее определенные переменные.
- Столбцы в табличных переменных нельзя ссылаться с помощью синтаксиса TableName[ColumnName].
Рекомендации по использованию VARсм. в статье Использование переменных для улучшения DAX формул.
Дополнительные сведения о том, как
используется в запросе, см. в запросов.
Пример
Чтобы вычислить процент роста по сравнению с годом без использования переменной, можно создать три отдельных меры. Первая мера вычисляет сумму продаж:
Sum of Sales Amount =
SUM ( Sales[Sales Amount] )
Вторая мера вычисляет сумму продаж за предыдущий год:
Sales Amount PreviousYear =
CALCULATE ( [Sum of Sales Amount], SAMEPERIODLASTYEAR ( 'Date'[Date] ) )
Затем можно создать третью меру, которая объединяет другие две меры, чтобы вычислить процент роста. Обратите внимание, что мера Sum of SalesAmount используется в двух местах; сначала, чтобы определить, есть ли продажа, снова вычислить процент.
Sum of SalesAmount YoY%: =
IF (
[Sum of Sales Amount] && [Sales Amount PreviousYear],
DIVIDE (
( [Sum of Sales Amount] - [Sales Amount PreviousYear] ),
[Sales Amount PreviousYear]
)
)
С помощью переменной можно создать одну меру, которая вычисляет тот же результат:
YoY% =
VAR Sales =
SUM ( Sales[Sales Amount] )
VAR SalesLastYear =
CALCULATE ( SUM ( Sales[Sales Amount] ), SAMEPERIODLASTYEAR ( 'Date'[Date] ) )
RETURN
IF ( Sales && SalesLastYear, DIVIDE ( Sales - SalesLastYear, SalesLastYear ) )
Используя переменную, вы можете получить тот же результат, но более читаемым способом. И поскольку результат выражения хранится в переменной, производительность меры может быть значительно улучшена, так как она не должна пересчитываться при каждом использовании.