Сравнение версий
Ключ
- Эта строка добавлена.
- Эта строка удалена.
- Изменено форматирование.
Функция проверяет указанное выражение на соответствие ряду условий и возвращает значения в зависимости от этих условий. Это позволяет более гибко управлять логикой вычислений, заменяя несколько вложенных операторов IF.
Примечание | ||
---|---|---|
Данная реализация функции SWITCH не поддерживает использование произвольных логических выражений в качестве первого аргумента. Например:
|
Синтаксис
SWITCH(<Expression>, <Value 1>, <Result 1>[, <Value 2>, <Result 2>], ... [, <Else>])
где
<Expression>
– выражение, которое будет вычислено и использовано для проверки значений. Допускается любое скалярное выражение или логическая константа (TRUE или FALSE).<Value 1>, <Result 1>, ...
– пары значений и соответствующих им результатов. Если<Expression>
совпадает с<Value n>
, то возвращается<Result n>
. Вы можете указать множество таких пар.<Else>
– (необязательно) значение, которое возвращается, если<Expression>
не совпадает ни с одним из указанных значений.
Пример
Предположим, у вас есть таблица с данными о продажах и вы хотите вычислить общую сумму продаж с учетом повышения цен для различных годов. Для этой цели можно использовать следующую формулу:
Блок кода |
---|
Сумма продаж после повышения цен = SUMX( 'факты онлайн продаж', 'факты онлайн продаж'[unitprice] * SWITCH ( YEAR('факты онлайн продаж'[datekey]), 2022, 1.2, 2023, 1.3, 2024, 1.4, 1 ) ) |
где
'факты онлайн продаж'[unitprice]
– цена за единицу товара.SWITCH
– определяет коэффициент повышения цены в зависимости от года, взятого из столбца[datekey]
В 2022 году цена увеличивается в 1,2 раза. В 2023 году цена увеличивается в 1,3 раза. В 2024 году цена увеличивается в 1,4 раза. Для всех других лет применяется коэффициент 1 (то есть, цена не изменяется).
Смотрите также
📄 Моделирование данных с помощью DAX
📄 Поддерживаемые функции DAX
📄 Математические операторы
Нужна дополнительная помощь?