用于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语句仅适用于一个条件或其他条件,而不适用于所有条件。