Sql Oracle发现者:第一个值在案例中不起作用
首先,请允许我先说一句,我使用的是Oracle的BI工具“Discoverer”,没有直接选择查询的权限。我写这篇文章是为了计算。我没有访问管理版本的权限,无法编辑当前功能。然而,这类建议仍然是受欢迎的 我在网上搜遍了,找不出这个。在discoverer中,我有一个函数,可以为多个记录(正是我想要的)提取2015年11月6日的日期,如下所示:Sql Oracle发现者:第一个值在案例中不起作用,sql,oracle,oracle10g,business-intelligence,Sql,Oracle,Oracle10g,Business Intelligence,首先,请允许我先说一句,我使用的是Oracle的BI工具“Discoverer”,没有直接选择查询的权限。我写这篇文章是为了计算。我没有访问管理版本的权限,无法编辑当前功能。然而,这类建议仍然是受欢迎的 我在网上搜遍了,找不出这个。在discoverer中,我有一个函数,可以为多个记录(正是我想要的)提取2015年11月6日的日期,如下所示: FIRST_VALUE(Sla Due Date) OVER(PARTITION BY Vw Research Sla.Loan Id ORDER BY
FIRST_VALUE(Sla Due Date) OVER(PARTITION BY Vw Research Sla.Loan Id ORDER BY Sla Type )
CASE WHEN Contract Type IN ('Recon Contract') AND State IN ('GA')
THEN TRUNC(Static OOC Date)-35
WHEN Contract Type IN ('Recon Contract')
THEN TRUNC(Static OOC Date)
WHEN Contract Type IN ('Assignment Contract')
THEN FIRST_VALUE(Sla Due Date) OVER(PARTITION BY Vw Research Sla.Loan Id ORDER BY Sla Type )
ELSE TRUNC(Sla Due Date) END
但是,当我将此函数插入CASE when THEN ELSE函数时,它不会返回值(它返回null而不是FIRST_value值),如下所示:
FIRST_VALUE(Sla Due Date) OVER(PARTITION BY Vw Research Sla.Loan Id ORDER BY Sla Type )
CASE WHEN Contract Type IN ('Recon Contract') AND State IN ('GA')
THEN TRUNC(Static OOC Date)-35
WHEN Contract Type IN ('Recon Contract')
THEN TRUNC(Static OOC Date)
WHEN Contract Type IN ('Assignment Contract')
THEN FIRST_VALUE(Sla Due Date) OVER(PARTITION BY Vw Research Sla.Loan Id ORDER BY Sla Type )
ELSE TRUNC(Sla Due Date) END
我试图用计算名称替换CASE语句中的第一个_值,而不是使用直接分析函数,但它仍然给出空值
CASE WHEN Contract Type IN ('Recon Contract') AND State IN ('GA') THEN TRUNC(Static NTC OOC Date)-35 WHEN Contract Type IN ('Recon Contract') THEN TRUNC(Static NTC OOC Date) WHEN Contract Type IN ('Assignment Contract') THEN **mSLA** ELSE TRUNC(Sla Due Date) END
更新:我与我的一家公司的DBA交谈,他们将SQL Inspector中的代码插入Dell的TOAD for Oracle,它可以很好地输出数据。这似乎只是一个与Discoveryr如何编译CASE语句中的分析函数有关的问题。对此有任何建议或其他人有类似问题吗?应在Discoverer Administrator中将第一个\u值计算添加到文件夹中。Discoverer的问题在于,它无法根据CASE语句所需的第一个_值正确确定数据类型
10多年的Oracle Discoveryr经验。更新:我与我的一家公司的DBA交谈,他们将SQL Inspector中的代码插入Dell的TOAD for Oracle,它可以很好地输出数据。这似乎只是一个与Discoveryr如何编译CASE语句中的分析函数有关的问题。对此有什么建议,或者其他人有类似的问题吗?虽然我恐怕没有答案,但我只想建议你编辑你的问题,将注释包含在评论中。这里的评论可能是暂时的,因此,最好编辑您的问题以包含所有相关信息。谢谢