Автономный ELSE в шаблонах BI Publisher RTF - PullRequest
0 голосов
/ 11 октября 2018

Я понимаю, что в шаблонах RTF XML Publisher есть оператор IF-ELSE, который выглядит примерно так:

<?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?>, но оно не работает.

Любые советы?

Ответы [ 3 ]

0 голосов
/ 12 октября 2018

Следующее удовлетворяет вашим функциональным требованиям, но это не оператор 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 / define в других языках программирования.

0 голосов
/ 04 декабря 2018

Как показал @Peter Paff, <?choose:?> - хороший путь.Это может быть немного «громоздко», но если вам когда-нибудь понадобится добавить больше условий, вам будет легче следовать.

Существует еще один (возможно, «более громоздкий») вариант для вашего весьма специфического условия: еслиTABLE вы ссылаетесь на одну таблицу, и вы хотите показать / скрыть только определенные столбцы этой таблицы в зависимости от условий; вы можете добавить эти условия в каждый столбец (или группу столбцов), который хотите отобразить (или скрыть), используя: <?if@column:?>.

Подробнее см. Руководство разработчика отчетов Oracle Fusion Middleware для Oracle Business Intelligence Publisher 12.2.1.2.0 -> Создание шаблонов RTF -> Использование условного форматирования - особенно разделпо форматированию столбцов.

0 голосов
/ 11 октября 2018

Вы правы, отдельного блока «еще» нет.Для ваших требований вам нужно будет использовать выражения if, оценивающие противоположные условия.

Здесь - это список всех различных способов использования выражения if в BIP.

...