Использование шаблона RTF для динамического создания столбцов

У меня есть запрос, который выдает такой вывод...

НОМЕР СОТРУДНИКА, ИМЯ, ВОПРОС, ОТВЕТ.

Мне нужно показать эту информацию в отчете, подобном этому

НОМЕР СОТРУДНИКА | ИМЯ | ВОПРОС 01 | ВОПРОС 02 | ВОПРОС 03...

В этих столбцах вопросов должны отображаться ответы сотрудников на этот конкретный вопрос.

Эти столбцы вопросов должны создаваться динамически, так как количество вопросов может время от времени меняться. Я использую PIVOT/UNPIVOT в запросе, чтобы справиться с этим, и все в порядке, кроме шаблона rtf.

Я использую построитель отчетов Oracle для создания отчетов, а шаблоны RTF используются для форматирования. Наконец, эти файлы .rdf и .rtf загружаются в приложение Oracle. В приложении oracle для вывода rtf установлено значение Excel. Так что пользователь должен иметь возможность загрузить отчет в виде файла Excel.

Итак, я пытаюсь добиться этого, используя шаблон RTF следующим образом...

В первой ячейке первого столбца EMPLOYEE_NUMBER:

<?for-each-group@section:G_EMPLOYEE_NUMBER;./ EMPLOYEE_NUMBER?>  <?variable@incontext:IND;EMPLOYEE_NUMBER?>

В столбце ВОПРОС (последний динамический столбец) заголовок:

<?for-each-group@column: G_EMPLOYEE_NUMBER;QUESTION?>

В первой ячейке столбца ВОПРОС:

<?for-each-group@cell://G_EMPLOYEE_NUMBER;QUESTION?>
<?current-group()[EMPLOYEE_NUMBER=$IND]/ANSWER?>

Но это не дает желаемого результата. Кажется, что-то не так в шаблоне .rtf, и даже вывод не поступает в Excel. Он просто открывается при просмотре, и столбцы не отображаются должным образом. Любые мысли, пожалуйста? Видите ли вы какие-либо ошибки в приведенном выше коде?

Примечание. G_EMPLOYEE_NUMBER — это название группы в отчете. Я новичок в этих технологиях.

Пример данных в строке в формате xml:

<Row>
<Employee_Number>5001419</Employee_Number>
<Name>David Fernando</Name>
<Question>I'm able to use internal systems to find information on policies/people/projects</Question>
<Answer>b. Agree</Answer>          
</Row>

person CAD    schedule 30.03.2015    source источник


Ответы (1)


пример RTF Пример данных: <DATA_DS><P_LDG></P_LDG><P_UDT>ANNUAL_PERFORMANCE_GRID</P_UDT><G_1><BASE_USER_TABLE_NAME>ANNUAL_PERFORMANCE_GRID</BASE_USER_TABLE_NAME<BASE_USER_COLUMN_NAME>LE_MIN</BASE_USER_COLUMN_NAME><ROW_LOW_RANGE_OR_NAME>INR.ALL.9581.ALL.ALL.ALL.ALL.1.1.ALL.ALL</ROW_LOW_RANGE_OR_NAME><VALUE>0.00</VALUE><LDG>IN Legislative Data Group</LDG><VALUE_ORIG>0.00</VALUE_ORIG><ROWNAME>IN Legislative Data Group|INR.ALL.9581.ALL.ALL.ALL.ALL.1.1.ALL.ALL</ROWNAME></G_1><G_1><BASE_USER_TABLE_NAME>ANNUAL_PERFORMANCE_GRID</BASE_USER_TABLE_NAME><BASE_USER_COLUMN_NAME>TARGET_TYPE</BASE_USER_COLUMN_NAME><ROW_LOW_RANGE_OR_NAME>INR.ALL.9581.ALL.ALL.ALL.ALL.1.1.ALL.ALL</ROW_LOW_RANGE_OR_NAME><VALUE>1</VALUE><LDG>IN Legislative Data Group</LDG><VALUE_ORIG>Percentage Base</VALUE_ORIG><ROWNAME>IN Legislative Data Group|INR.ALL.9581.ALL.ALL.ALL.ALL.1.1.ALL.ALL</ROWNAME></G_1><G_1><BASE_USER_TABLE_NAME>ANNUAL_PERFORMANCE_GRID</BASE_USER_TABLE_NAME><BASE_USER_COLUMN_NAME>PT_DEDUCTION</BASE_USER_COLUMN_NAME><ROW_LOW_RANGE_OR_NAME>INR.ALL.9581.ALL.ALL.ALL.ALL.1.1.ALL.ALL</ROW_LOW_RANGE_OR_NAME><VALUE>1</VALUE><LDG>IN Legislative Data Group</LDG><VALUE_ORIG>Y</VALUE_ORIG><ROWNAME>IN Legislative Data Group|INR.ALL.9581.ALL.ALL.ALL.ALL.1.1.ALL.ALL</ROWNAME></G_1></DATA_DS>

person Lakshya Kapoor    schedule 01.03.2017