Функция проверяет указанное выражение на соответствие ряду условий и возвращает значения в зависимости от этих условий. Это позволяет более гибко управлять логикой вычислений, заменяя несколько вложенных операторов IF.
<Expression> – выражение, которое будет вычислено и использовано для проверки значений. Допускается любое скалярное выражение или логическая константа (TRUE или FALSE).
<Value 1>, <Result 1>, ... – пары значений и соответствующих им результатов. Если <Expression> совпадает с <Value n>, то возвращается <Result n>. Вы можете указать множество таких пар.
<Else> – (необязательно) значение, которое возвращается, если <Expression> не совпадает ни с одним из указанных значений.
Данная реализация функции SWITCH не поддерживает использование произвольных логических выражений в качестве первого аргумента. Например:
Предположим, у вас есть таблица с данными о продажах и вы хотите вычислить общую сумму продаж с учетом повышения цен для различных годов. Для этой цели можно использовать следующую формулу:
'факты онлайн продаж'[unitprice] – цена за единицу товара.
SWITCH – определяет коэффициент повышения цены в зависимости от года, взятого из столбца [datekey] В 2022 году цена увеличивается в 1,2 раза. В 2023 году цена увеличивается в 1,3 раза. В 2024 году цена увеличивается в 1,4 раза. Для всех других лет применяется коэффициент 1 (то есть, цена не изменяется).