Условные выражения используются для создания выражений, преобразующих значения.
Описанные в этом разделе условные выражения представляют собой составные компоненты для создания условных выражений, преобразующих значения из одной формы в другую.
Соблюдайте следующие правила:
CASE
оператор AND
имеет приоритет над оператором OR
.Выражение | Пример | Описание | Синтаксис |
---|---|---|---|
CASE (If) |
|
Оценивает каждое условие Если ни одно из условий Примечание. См. раздел Передовой опыт использования инструкций CASE в анализах и визуализациях. |
|
CASE (Switch) |
|
Также называется Если не найдено соответствия ни одному выражению Если первое выражение соответствует одному из выражений в нескольких фразах |
|
IfCase > ELSE |
- |
- |
|
IfCase > IFNULL |
- |
- |
|
IfCase > NULLIF |
- |
- |
|
IfCase > WHEN |
- |
- |
|
IfCase > CASE |
- |
- |
|
SwitchCase > ELSE |
- |
- |
|
SwitchCase >IFNULL |
- |
- |
|
SwitchCase > NULLIF |
- |
- |
|
SwitchCase > WHEN |
- |
- |
|
При использовании операторов CASE в отчетах и рабочих книгах следует учитывать столбцы отчета и порядок агрегирования, поскольку они влияют способы вычисления выражений и промежуточные итоги.
В целом, при использовании выражений CASE убедитесь, что в отчет включены все столбцы, используемые в выражении.
Если условие должно быть оценено до вычисления агрегации (например, если отфильтрованный столбец не отображается в отчете), используйте функцию FILTER.
Пример
В этом примере используются данные для столбцов "Марка", "Тип продукта" и "Доход".
.png
Чтобы применить условие и задать доходу от камеры значение 0, создайте следующее условное выражение: CASE WHEN Product_Type = ‘Camera’ THEN 0 ELSE Revenue END
.
Если исключить Product_Type из отчета, данные недоступны для оценки выражения, поскольку оно содержит Product_Type, и результаты таковы:
.png
.
Если добавить PRODUCT_TYPE в отчет и задать агрегацию отчета SUM, результат агрегируется после вычисления значений базового уровня:
.png
.
В качестве альтернативы вместо инструкции CASE можно использовать выражение фильтра: FILTER(Доход с использования Product_Type != ‘Camera’). Выражение вычисляется независимо от столбцов отчета, а агрегирования применяются после вычисления:
.png