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