【问题标题】:OBIEE 12C multiple conditional formattingOBIEE 12C 多条件格式
【发布时间】:2016-09-21 21:59:31
【问题描述】:

我正在尝试在 OBIEE 中组合多种条件格式。我需要根据 2 条规则更改数据透视表中字段的背景颜色。我使用本教程 (http://www.rittmanmead.com/blog/2014/03/the-secret-life-of-conditional-formatting-in-obiee/) 在 xml 中更改它。然而,“AND”关系似乎不起作用。我尝试将其更改为“OR”,并且我的两个规则都被单独评估和工作。我究竟做错了什么?我知道测试是分开工作的。第一个测试列是否等于 null,第二个测试列值是否等于字母 T。

这是我的这个专栏的 xml 代码:

<saw:conditionalDisplayFormat>
                 <saw:formatRule>
                    <saw:condition>

                        <sawx:expr xsi:type="sawx:logical" op="and">
                           <sawx:expr xsi:type="sawx:comparison" op="null">
                              <sawx:expr xsi:type="sawx:columnRefExpr" columnID="cd59ed399a6f037eb"/>
                            </sawx:expr>
                            <sawx:expr xsi:type="sawx:comparison" op="equal">
                                 <sawx:expr xsi:type="sawx:columnRefExpr" columnID="c267e812e3cddb2f4"/>
                                 <sawx:expr xsi:type="xsd:string">T</sawx:expr>
                            </sawx:expr>
                        </sawx:expr></saw:condition>
                    <saw:formatSpec backgroundColor="#FF9900" wrapText="true"/></saw:formatRule></saw:conditionalDisplayFormat>

【问题讨论】:

  • 你能告诉我们&lt;saw:conditionalDisplayFormat&gt;标签内的所有XML吗?也许您在该标签中缺少其他部分。
  • 嗨,马克,我已将上面请求的部分放在我的问题中。
  • 没有不正确的跳出。我将使用一个示例进行测试,其中进行的两个比较都是equal 比较。如果这不起作用,可能是在 11g 和 12c 之间发生了一些变化,从而阻止了它的工作。我在 11.1.1.7。我现在要去测试一下。
  • 这是对的!我试过了,它奏效了,但我的问题没有解决。我有一列具有 NULL 值,所以我认为我不能测试相等的 null 吗?那应该是什么数据类型?
  • 你能做一个IFNULL 并将所有空值都更改为0,然后等于0吗?我不知道您的数据,因此在这种情况下可能不起作用。我将在 11.1.1.7 中对 null 比较类型进行测试。

标签: xml obiee


【解决方案1】:

我的示例使用以下 XML 代码在 OBIEE 11.1.1.7.140527 中工作:

<saw:conditionalDisplayFormats>
<saw:conditionalDisplayFormat>
    <saw:formatRule>
        <saw:condition>
            <sawx:expr op="equal" xsi:type="sawx:comparison">
                <sawx:expr xsi:type="sawx:columnRefExpr" columnID="c0d250507b6b80abe"/>
                <sawx:expr xsi:type="xsd:decimal">18</sawx:expr></sawx:expr>
        </saw:condition>
            <saw:formatSpec backgroundColor="#FF0000" wrapText="true"/>
    </saw:formatRule>
</saw:conditionalDisplayFormat>
<saw:conditionalDisplayFormat>
    <saw:formatRule>
        <saw:condition>
            <sawx:expr op="equal" xsi:type="sawx:comparison">
                <sawx:expr xsi:type="sawx:columnRefExpr" columnID="ca67cc42b11c6301a"/>
                <sawx:expr xsi:type="xsd:string">EXW</sawx:expr></sawx:expr>
        </saw:condition>
            <saw:formatSpec backgroundColor="#FFFF00" wrapText="true"/>
    </saw:formatRule>
</saw:conditionalDisplayFormat>
<saw:conditionalDisplayFormat>
    <saw:formatRule>
        <saw:condition>
            <sawx:expr xsi:type="sawx:logical" op="and">
                <sawx:expr op="equal" xsi:type="sawx:comparison">
                    <sawx:expr xsi:type="sawx:columnRefExpr" columnID="c0d250507b6b80abe"/>
                    <sawx:expr xsi:type="xsd:decimal">18</sawx:expr>
                </sawx:expr>
                <sawx:expr op="equal" xsi:type="sawx:comparison">
                    <sawx:expr xsi:type="sawx:columnRefExpr" columnID="ca67cc42b11c6301a"/>
                    <sawx:expr xsi:type="xsd:string">EXW</sawx:expr>
                </sawx:expr>
            </sawx:expr>
        </saw:condition>
            <saw:formatSpec backgroundColor="#FF9900" wrapText="true"/>
    </saw:formatRule>
</saw:conditionalDisplayFormat>
</saw:conditionalDisplayFormats>

确保您只是在其他两个条件(红色和黄色)之后添加那段代码,而不是完全替换它们。

如果您的代码与我的匹配,我会查看 Oracle 是否在 12c 版本中更改了条件格式的 XML 格式。

【讨论】:

  • 我试过这个,这也对我有用。问题是我至少需要一个 NULL 条件。我这样做是为了让另一个条件也评估为 NULL,但两个 NULL 似乎不起作用。
  • 这是我在 NULL 条件下的尝试:&lt;sawx:expr xsi:type="sawx:logical" op="and"&gt; &lt;sawx:expr xsi:type="sawx:comparison" op="null"&gt; &lt;sawx:expr xsi:type="sawx:columnRefExpr" columnID="cd59ed399a6f037eb"/&gt; &lt;/sawx:expr&gt; &lt;sawx:expr xsi:type="sawx:comparison" op=“null”&gt; &lt;sawx:expr xsi:type="sawx:columnRefExpr" columnID="c267e812e3cddb2f4”/&gt; &lt;/sawx:expr&gt; &lt;/sawx:expr&gt;
  • 这一切对我来说都是正确的......我不确定为什么这些 XML 更新不适用于空值,特别是因为我们现在知道不使用空值可以让它工作。
  • 我再次查看并测试了其他一些东西。唯一令人烦恼的是,一个条件测试测量值,另一个条件测试属性。第一个评估我的数据透视表中的所有单元格,另一个评估每行的行。这可能是问题(以及我应该如何解决这个问题)?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多