【发布时间】:2021-01-30 03:18:34
【问题描述】:
感谢您对此进行调查,非常感谢。
我想要一个名为 “SHOW_or_HIDE” 的附加列,以便在 Tableau 中添加过滤器功能。
下面是我的 Tableau 的 SQL 表,我想根据同一季度是否有 BOTH 类型“POR”和“CWV”创建一个 IF 语句,然后我想将其分类为“SHOW " 但如果它只在一个季度中显示一个 POR 或 CWV,则“隐藏”。基本上,我只希望我的表格条形图仅显示包含 POR 和 CWV 的完整季度,如果该季度只有 POR 或 CWV 之一,我想隐藏但仍然可以选择在 Tableau 中显示它们。
我对 SQL 非常陌生,所以我也很难嵌套它。
当前表
| SCENARIO | TYPE | QUARTER | PROGRAM | GEO | UNITS | SHOW or HIDE |
|---|---|---|---|---|---|---|
| (4) FY20-Q1_POR | POR | FY20-Q1 | XYZ | USA | 2 | HIDE |
| (3) FY20-Q2_CWV | CWV | FY20-Q2 | XYZ | USA | 1 | show |
| (4) FY20-Q2_POR | POR | FY20-Q2 | XYZ | USA | 5 | show |
| (3) FY20-Q3_CWV | CWV | FY20-Q3 | XYZ | USA | 3 | show |
| (4) FY20-Q3_POR | POR | FY20-Q3 | XYZ | USA | 4 | show |
| (3) FY20-Q4_CWV | CWV | FY20-Q4 | XYZ | USA | 9 | HIDE |
| (3) FY21-Q1_CWV | CWV | FY21-Q1 | XYZ | USA | 1 | show |
| (4) FY21-Q1_POR | POR | FY21-Q1 | XYZ | USA | 1 | show |
| etc |
#legacy sql
SELECT CASE WHEN TYPE ='CWV' THEN CONCAT('(3) ',QUARTER,'_',TYPE)
WHEN TYPE ='POR' THEN CONCAT('(4) ',QUARTER,'_',TYPE)
END AS SCENARIO
, CASE WHEN TYPE = 'ACTL' THEN 'ACTUALS'
WHEN TYPE = 'OTLK' THEN 'OUTLOOK'
ELSE TYPE END AS TYPE
, QUARTER
, BC.PROGRAM AS PROGRAM
, CASE WHEN GEO = 'Europe' THEN 'EUROPE'
WHEN GEO = 'India' THEN 'Pan India'
WHEN GEO = 'LATAM' THEN 'LA'
ELSE GEO END GEO
, FLOAT(SUM(CA)) AS UNITS
***, #--> ?? HERE: my guess is in this line is where I would put the coding?? AS "SHOW_or_HIDE"***
FROM [xxxxxxxxxxxxxxxxxxxxxxxxxxx.BC_REPORTS] BC
where PROGRAM = 'XYZ' #these are my temporary filters for easier viewing
and TYPE <>'ACTL' #these are my temporary filters for easier viewing
and TYPE <>'OTLK' #these are my temporary filters for easier viewing
and GEO = 'NA' #these are my temporary filters for easier viewing
and CUSTOMER = 'xyz' #these are my temporary filters for easier viewing
group by 1,2,3,4,5
order by 3,2
[![enter image description here][1]][1]
[1]: https://i.stack.imgur.com/xRotX.png
【问题讨论】:
标签: sql tableau-api