多个字段的CASE语句

问题描述 投票:0回答:1

我是初学者,我想设计公式将来自三个不同字段(A2 Temp、A3 Temp、A4 Temp)的温度数据分类为不同的范围。 例如,如果任何温度读数(A2 Temp、A3 Temp、A4 Temp)小于 28,则分配“<28" category.

我写了下面的公式,但它仅适用于 A2 温度数据。 知道如何做到这一点吗? 顺便说一句,我正在 Looker Studio 工作。

我写了下面的公式,但它仅适用于 A2 温度数据。 知道如何做到这一点吗? 顺便说一句,我正在 Looker Studio 工作。

CASE 
  WHEN A2 Temp < 28 THEN "<28" 
  WHEN A2 Temp >= 28 AND A2 Temp < 29 THEN "28-29"
  WHEN A2 Temp >= 29 AND A2 Temp < 30 THEN "29-30"
  WHEN A2 Temp >= 30 AND A2 Temp < 31 THEN "30-31"
  WHEN A2 Temp >= 31 AND A2 Temp < 32 THEN "31-32"
  WHEN A2 Temp >= 32 AND A2 Temp < 33 THEN "32-33"
  WHEN A2 Temp >= 33 THEN ">33" 
  WHEN A3 Temp < 28 THEN "<28" 
  WHEN A3 Temp >= 28 AND A3 Temp < 29 THEN "28-29"
  WHEN A3 Temp >= 29 AND A3 Temp < 30 THEN "29-30"
  WHEN A3 Temp >= 30 AND A3 Temp < 31 THEN "30-31"
  WHEN A3 Temp >= 31 AND A3 Temp < 32 THEN "31-32"
  WHEN A3 Temp >= 32 AND A3 Temp < 33 THEN "32-33"
  WHEN A3 Temp >= 33 THEN ">33" 
  WHEN A4 Temp < 28 THEN "<28" 
  WHEN A4 Temp >= 28 AND A4 Temp < 29 THEN "28-29"
  WHEN A4 Temp >= 29 AND A4 Temp < 30 THEN "29-30"
  WHEN A4 Temp >= 30 AND A4 Temp < 31 THEN "30-31"
  WHEN A4 Temp >= 31 AND A4 Temp < 32 THEN "31-32"
  WHEN A4 Temp >= 32 AND A4 Temp < 33 THEN "32-33"
  WHEN A4 Temp >= 33 THEN ">33" 
END

我也尝试过这个,但是根本没用

CASE 
  WHEN A2 Temp < 28 OR A3 Temp < 28 OR A4 Temp < 28 THEN "<28" 
  WHEN (A2 Temp >= 28 AND A2 Temp < 29) OR (A3 Temp >= 28 AND A3 Temp < 29) OR (A4 Temp >= 28 AND A4 Temp < 29) THEN "28-29"
  WHEN (A2 Temp >= 29 AND A2 Temp < 30) OR (A3 Temp >= 29 AND A3 Temp < 30) OR (A4 Temp >= 29 AND A4 Temp < 30) THEN "29-30"
  WHEN (A2 Temp >= 30 AND A2 Temp < 31) OR (A3 Temp >= 30 AND A3 Temp < 31) OR (A4 Temp >= 30 AND A4 Temp < 31) THEN "30-31"
  WHEN (A2 Temp >= 31 AND A2 Temp < 32) OR (A3 Temp >= 31 AND A3 Temp < 32) OR (A4 Temp >= 31 AND A4 Temp < 32) THEN "31-32"
  WHEN (A2 Temp >= 32 AND A2 Temp < 33) OR (A3 Temp >= 32 AND A3 Temp < 33) OR (A4 Temp >= 32 AND A4 Temp < 33) THEN "32-33"
  WHEN A2 Temp >= 33 OR A3 Temp >= 33 OR A4 Temp >= 33 THEN ">33" 
END

我想要分组条形图中的输出。 在 x 轴上您可以看到温度范围。 y 轴上是每个字段(A2、A3、A4)的平均数据。

case looker-studio
1个回答
0
投票

如果我正确理解你的情况,如果

A2 Temp
A3 Temp
A4 Temp
中的任何一个低于给定阈值,则需要将一行放入一个组中。您可以在 Looker Studio 中执行此操作:

CASE 
  WHEN NARY_MIN(A2 Temp, A3 Temp, A4 Temp) < 28 THEN "<28" 
  WHEN NARY_MIN(A2 Temp, A3 Temp, A4 Temp) < 29 THEN "<28-29" 
  WHEN NARY_MIN(A2 Temp, A3 Temp, A4 Temp) < 30 THEN "<29-30" 
  WHEN NARY_MIN(A2 Temp, A3 Temp, A4 Temp) < 31 THEN "<30-31" 
  WHEN NARY_MIN(A2 Temp, A3 Temp, A4 Temp) < 32 THEN "<31-32" 
  WHEN NARY_MIN(A2 Temp, A3 Temp, A4 Temp) < 33 THEN "<32-33" 
  ELSE ">=33"
END

它使用

NARY_MIN
函数获取三个值中的最小值并将其与阈值进行比较。

© www.soinside.com 2019 - 2024. All rights reserved.