OBIEE 表达式按上一个营业日期过滤

Posted

技术标签:

【中文标题】OBIEE 表达式按上一个营业日期过滤【英文标题】:OBIEE expression to filter by previous business date 【发布时间】:2020-08-11 23:25:15 【问题描述】:

我正在尝试提出解决方案,为上一个营业日期自动生成自动 OBIEE 12 报告(例如,在星期一生成报告时,想过滤星期五的数据)。我想出了两个解决方案:

CURRENT_DATE-1

这显然只适用于周二至周六生成的报告。

我还想出了一个更复杂的解决方案,它没有返回任何结果(不知道为什么):

CASE 
   WHEN DayOfWeek(TimestampAdd (SQL_TSI_DAY, -1 , CURRENT_DATE)) = 1 
     THEN TimestampAdd (SQL_TSI_DAY, -3 , CURRENT_DATE)
   WHEN DayOfWeek(TimestampAdd (SQL_TSI_DAY, -1 , CURRENT_DATE)) = 7 
     THEN TimestampAdd (SQL_TSI_DAY, -2 , CURRENT_DATE)
   ELSE TimestampAdd (SQL_TSI_DAY, -1 , CURRENT_DATE)
END  

当使用此表达式过滤日期时,OBIEE 返回没有数据匹配的信息。对于同一日期,使用 CURRENT_DATE-1 生成正确的结果(除了在星期一、星期六和星期日生成的报告之外,ofc)

【问题讨论】:

【参考方案1】:

这可能对你有用:

case trim(to_char(sysdate,'DAY'))
when 'MONDAY' then sysdate-3
when 'SUNDAY' then sysdate-2
else sysdate-1 
end 

返回前一个工作日的日期。

鲍比

【讨论】:

感谢 Bobby,这是完美的 Oracle SQL 语句,可以在常规 Oracle 数据库中正常工作,但对于不支持此语法的 Oracle OBIEE 而言毫无用处。 很抱歉。我猜你需要一个了解 OBIEE 的人。我们有它,但我只看到数据库部分。

以上是关于OBIEE 表达式按上一个营业日期过滤的主要内容,如果未能解决你的问题,请参考以下文章

OBIEE 逻辑表达式 - 按属性求和

如何使用 django F 表达式仅过滤日期时间字段的日期

OBIEE 年初至今的问题

BI Answers/OBIEE- 在不影响行结果的情况下在列上创建过滤器

带有熊猫的日期正则表达式过滤器不起作用

营业执照编号 正则表达式