logo

6 янв. 2013 г.

BIP: объединение ячеек родительской группы

Всем привет!
Сегодня расскажу о полезном трюке, используемом в RTF шаблонах BI Publisher, с помощью которого вы сможете объединить строки родительской группировки в отчете-таблице.
Картинка скажет больше:



В качестве примера используется простенький RTF шаблон, использующий данные XML файла PODataSample.xml.
Этот файл входит в стандартную поставку BI Publisher 11g (Middleware\user_projects\domains\bifoundation_domain\config\bipublisher\repository\DemoFiles\PODataSample.xml).

Сам RTF шаблон выглядит следующим образом:

(также шаблон доступен для скачивания)

Элементы шаблона достаточно очевидны.
1) Вместо того, чтобы всю строку помещать внутрь header-группировки и 2 крайние ячейки в detail-группировку, мы всю строку "гоним" по самой детальной группе.

2) Само собой в этом случае нам нужно использовать XPath адресацию с элементам родительской группы, например, <?../POH_VENDOR_NAME?> , где "../" говорит парсеру подняться на уровень выше от текущего узла в XML дереве и обратиться там к элементу POH_VENDOR_NAME.

3) Ну и наконец, сам трюк - как "схлопнуть" ячейки с данными родительской группировки.
Для этого используется field Word (xsl-конструкции допустимы лишь внутри них) со следующим содержимым:
<xsl:if xdofo:ctx="cell" test="position()=1"></xsl:if><xsl:attribute xdofo:ctx="block" name="number-rows-spanned"><xsl:value-of select="last()"/></xsl:attribute>

Вот и все!

2 комментария:

  1. Спасибо! Очень помогло!

    ОтветитьУдалить
  2. Я видел комментарии людей, которые уже получили ссуду от г-на Бенджамина Ли, кредитного специалиста, которые предлагали мне ссуду со ставкой 2% рентабельности инвестиций, и я решил подать заявку в соответствии с их рекомендациями, и всего через 5 дней я подтвердил на своем личном банковском счете общая сумма в 90000 долларов, которую я запросил. Это действительно отличная новость, и я советую всем, кому нужен настоящий кредитор, подать заявку по электронной почте: 247officedept@gmail.com или WhatsApp: + 1-989-394-3740. Я счастлив, что получил ссуду, о которой просил.

    ОтветитьУдалить