gpt4 book ai didi

OBIEE:将字符串转换为日期然后将日期转换为字符串

转载 作者:行者123 更新时间:2023-12-05 07:56:06 26 4
gpt4 key购买 nike

FILTER("source"."recordCount" USING "source"."snapshot_date" = 
EVALUATE('TO_CHAR(%1, ''YYYYMMDD'')', TIMESTAMPADD(SQL_TSI_DAY, -7, EVALUATE('TO_DATE(%1, %2)', "source"."snapshot_date" , 'YYYYMMDD'))))

所以我这里有这段代码。我知道有些人会说“只需使用 AGO 函数”,但由于它与其他表的连接,它会以某种方式引起问题,所以我在这里试图实现的目标就像是重制。过程是这样的:

snapshot_date 实际上是varchar 格式而不是date。所以它就像“20131016”,我试图将它更改为一个日期,然后使用 TIMESTAMPADD 函数从中减去 7 天,然后最后将它返回到 varchar 以将其与 FILTER 一起使用。

此代码段在使用硬编码值(例如“20131016”)测试 FILTER 时以某种方式起作用,但在使用上面的代码进行测试时,所有行都是空白的。在纸面上,我假设会发生的过程是这样的。 "20131016"转为格式为 20131016 (yyyymmdd) 的日期,然后少于 7 天:20131009,然后再次转为 char "20131009"以用于过滤器。

但不知何故,这并没有发生。我认为数据格式不适用于字符串-> 日期或日期-> 字符串转换。这导致值根本不匹配。

有人知道我的代码有什么问题吗?

顺便说一下,我已经尝试使用 CAST 而不是 EVALUATE 或 TO_TIMEDATE 来获得相同的结果。哦,这就是 BMM 中列的公式。

谢谢

最佳答案

您可能会通过查看 BI 服务器生成的 SQL 获得一些线索。我看不出您的列表达式有任何问题,因此我不会将您的调试仅限于此。

返回空值的查询通常是由设置的不正确级别引起的(尤其是在逻辑表源上,但也可能在度量列上)。这通常会导致物理 SQL 中出现某种形式的 SELECT NULL FROM ...

关于OBIEE:将字符串转换为日期然后将日期转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28723590/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com