Oracle BI Publisher- 10G和11G之间的不同行为



我找到了在Oracle BI Publisher 10G数据集中编写条件SQL语句的语法。例如,我希望数据详细介绍或根据我定义的参数进行区分。

说明我想要什么:

将有一个参数,例如P_UNIQUE,这是用户可以从中选择的选择列表,列表保留这些值

数据是唯一的,值= 1

数据不是唯一的,值= 2

然后基于用户选择,运行时数据集中执行的SQL命令将是:

SELECT 
        DISTINCT 
        FIRSTNAME || ' ' || LASTNAME AS EMP_NAME, 
        DECODE(TRANSACTIONTYPE, 19, 'SUCCESS', 'FAILURE') AS ACCESS_ATTEMPT, 
        READERDESCRIPTION AS DOOR,
        etc…

   SELECT 
        FIRSTNAME || ' ' || LASTNAME AS EMP_NAME, 
        DECODE(TRANSACTIONTYPE, 19, 'SUCCESS', 'FAILURE') AS ACCESS_ATTEMPT, 
        READERDESCRIPTION AS DOOR,
        etc…

(请注意上一个代码代码段中的独特关键字)

当然,这在SQL中是不可能的,但是我在BI 10G中遇到了这一惊人的功能,请参见下面的代码:

SELECT 
    
    {$ if ${P_UNIQUE}='1' $}
    DISTINCT 
    {$endif$}
    /*no need for else, the distinct keyword will simply not be presented if the p_unique parameter value is not equal to 1*/
    
    FIRSTNAME || ' ' || LASTNAME AS EMP_NAME, 
    DECODE(TRANSACTIONTYPE, 19, 'SUCCESS', 'FAILURE') AS ACCESS_ATTEMPT, 
    READERDESCRIPTION AS DOOR,
        etc…

这在10G

中完美工作

现在我遇到的问题是,我们迁移到11G,所有10G的报告现在都在工作通常,at in 11 g中的 in Expect 在11G中,但是您无法写入该代码从头开始,在11G的开发时间未识别它,如果包含错误,您将无法保存查询,尽管它在迁移的报告中工作。

,而且,出于相同的原因,我无法在那些迁移的报告中编辑和保存我的编辑。

因此,如何克服此开发时间限制并能够保存查询,无论其内部写了什么?

正如我之前说过的,它在11G中工作,但我无法编辑现有或使用这些特殊命令创建新的。

因此,任何建议都将不胜感激。

尝试Flexfields的概念,它是新介绍给BI 11G

链接到Oracle帮助

现在在最新的Oracle 11G补丁中修复了此问题

11g Release 1 (11.1.1)

是在先前的版本中。

已添加了一个下拉框,以允许开发人员选择查询类型Type of SQL,最适合此类型查询的是Non-Standard SQL

刚刚测试,它正常工作

最新更新