OBIEE CASE语句中是否可以有AND运算符

时间:2020-06-30 16:37:52

标签: oracle obiee

用于OTBI / OBIEE分析

我希望显示RAG状态,以显示如果当天有银行对帐单,则我们为绿色,否则为红色。在周末,我们需要能够显示星期一的-3天。

是否可以在CASE语句中使用AND运算符,所以如果当天是星期一,我可以-3天,如果星期天是-2我可以显示星期五的银行对帐单。

查看代码

CASE  WHEN DAYNAME(CURRENT_DATE) = DAYNAME(TIMESTAMP'2020-06-30 00:00:00')  
AND max("- Header Information"."Statement Period End Date" by "Bank Account"."Bank Account Name") >= 
(TIMESTAMPADD(SQL_TSI_DAY, -1, CURRENT_DATE)) THEN 'G' WHEN DAYNAME(CURRENT_DATE) = 
DAYNAME(TIMESTAMP'2020-07-01 00:00:00') AND max("- Header Information"."Statement Period End Date" 
by "Bank Account"."Bank Account Name") >= (TIMESTAMPADD(SQL_TSI_DAY, -1, CURRENT_DATE)) THEN 'G'  
WHEN DAYNAME(CURRENT_DATE) = DAYNAME(TIMESTAMP'2020-07-02 00:00:00') AND max("- Header Information"."Statement Period End Date" 
by "Bank Account"."Bank Account Name") >= (TIMESTAMPADD(SQL_TSI_DAY, -1, CURRENT_DATE)) THEN 'G'  
WHEN DAYNAME(CURRENT_DATE) = DAYNAME(TIMESTAMP'2020-07-03 00:00:00')   AND max("- Header Information"."Statement Period End Date" 
by "Bank Account"."Bank Account Name") >= (TIMESTAMPADD(SQL_TSI_DAY, -1, CURRENT_DATE)) THEN 'G'  
WHEN DAYNAME(CURRENT_DATE) = DAYNAME(TIMESTAMP'2020-07-04 00:00:00')  AND max("- Header Information"."Statement Period End Date" 
by "Bank Account"."Bank Account Name") >= (TIMESTAMPADD(SQL_TSI_DAY, -1, CURRENT_DATE)) THEN 'G'   
WHEN DAYNAME(CURRENT_DATE) = DAYNAME(TIMESTAMP'2020-07-05 00:00:00')  AND max("- Header Information"."Statement Period End Date" 
by "Bank Account"."Bank Account Name") >= (TIMESTAMPADD(SQL_TSI_DAY, -2, CURRENT_DATE)) THEN 'G'   
WHEN DAYNAME(CURRENT_DATE) = DAYNAME(TIMESTAMP'2020-07-06 00:00:00')   AND max("- Header Information"."Statement Period End Date" 
by "Bank Account"."Bank Account Name") >= (TIMESTAMPADD(SQL_TSI_DAY, -3, CURRENT_DATE)) THEN 'G'   
ELSE 'R' END

当前,Case语句仅适用于一个条件或其他条件,而不适用于所有条件。

0 个答案:

没有答案