BI Publisher RTF 模板中的独立 ELSE
Standalone ELSE in BI Publisher RTF Templates
我知道有一个 IF-ELSE Statement in XML Publisher RTF Templates,如下所示:
<?xdofx:if ELEMENT1='A' then 'The Letter is A' else 'The Letter is not A' end if?>
但是,我希望使用 IF
语句根据值显示不同的数据表。类似于下面的伪代码:
IF BUSINESS_GROUP IS BG-A THEN SHOW TABLE with COLUMNS A B and C, IF NOT, then SHOW TABLE with COLUMNS X Y and Z
我能够通过使用 2 个单独的 IF 语句来做到这一点:
<?xdofx:if BUSINESS_GROUP='A'> SHOW TABLE with COLUMNS A B and C <?end if?>
<?xdofx:if BUSINESS_GROUP!='A'> SHOW TABLE with COLUMNS X Y and Z <?end if?>
我希望我可以只使用像<?ELSE?>
这样的语句,但它不起作用。
有什么建议吗?
你是对的,没有独立的 'else' 块。根据您的要求,您将需要使用 to if 表达式评估相反的条件。
Here 是在 BIP 中使用 if 表达式的所有不同方式的列表。
以下满足您的功能要求,但不是 if else
语句。
<?choose:?>
<?when: BUSINESS_GROUP='A'?>
SHOW TABLE with COLUMNS A B and C
<?end when?>
<?otherwise:?>
SHOW TABLE with COLUMNS X Y and Z
<?end otherwise?>
<?end choose?>
这相当于其他编程语言中的 switch/case/evaluate 语句。
如@Peter Paff 所示,<?choose:?>
是一条不错的路线。它可能有点 "bulky",但如果您需要添加更多条件,它似乎更容易遵循。
对于您非常具体的情况,还有另一个(也许 "bulkier")选项:如果您引用的 TABLE
是一个 table 而您只想 show/hide根据条件 table 的某些列,您可以将这些条件添加到您希望显示(或隐藏)的每一列(或一组列),使用:<?if@column:?>
.
有关详细信息,请参阅 Oracle Fusion Middleware Report Designer's Guide for Oracle Business Intelligence Publisher 12.2.1.2.0 -> Creating RTF Templates -> Using Conditional Formatting - 特别是有关格式化列的部分。
我知道有一个 IF-ELSE Statement in XML Publisher RTF Templates,如下所示:
<?xdofx:if ELEMENT1='A' then 'The Letter is A' else 'The Letter is not A' end if?>
但是,我希望使用 IF
语句根据值显示不同的数据表。类似于下面的伪代码:
IF BUSINESS_GROUP IS BG-A THEN SHOW TABLE with COLUMNS A B and C, IF NOT, then SHOW TABLE with COLUMNS X Y and Z
我能够通过使用 2 个单独的 IF 语句来做到这一点:
<?xdofx:if BUSINESS_GROUP='A'> SHOW TABLE with COLUMNS A B and C <?end if?>
<?xdofx:if BUSINESS_GROUP!='A'> SHOW TABLE with COLUMNS X Y and Z <?end if?>
我希望我可以只使用像<?ELSE?>
这样的语句,但它不起作用。
有什么建议吗?
你是对的,没有独立的 'else' 块。根据您的要求,您将需要使用 to if 表达式评估相反的条件。
Here 是在 BIP 中使用 if 表达式的所有不同方式的列表。
以下满足您的功能要求,但不是 if else
语句。
<?choose:?>
<?when: BUSINESS_GROUP='A'?>
SHOW TABLE with COLUMNS A B and C
<?end when?>
<?otherwise:?>
SHOW TABLE with COLUMNS X Y and Z
<?end otherwise?>
<?end choose?>
这相当于其他编程语言中的 switch/case/evaluate 语句。
如@Peter Paff 所示,<?choose:?>
是一条不错的路线。它可能有点 "bulky",但如果您需要添加更多条件,它似乎更容易遵循。
对于您非常具体的情况,还有另一个(也许 "bulkier")选项:如果您引用的 TABLE
是一个 table 而您只想 show/hide根据条件 table 的某些列,您可以将这些条件添加到您希望显示(或隐藏)的每一列(或一组列),使用:<?if@column:?>
.
有关详细信息,请参阅 Oracle Fusion Middleware Report Designer's Guide for Oracle Business Intelligence Publisher 12.2.1.2.0 -> Creating RTF Templates -> Using Conditional Formatting - 特别是有关格式化列的部分。