Использование шаблона RTF для динамического создания столбцов
У меня есть запрос, который дает результат, как это...
EMPLOYEE_NUMBER, NAME, QUESTION, ANSWER.
Мне нужно показать эту информацию в таком отчете
НОМЕР СОТРУДНИКА | ИМЯ | ВОПРОС 01 | ВОПРОС 02 | ВОПРОС 03 ...
В этих столбцах вопросов должны отображаться ответы, данные сотрудниками на этот конкретный вопрос.
Эти столбцы вопросов должны генерироваться динамически, поскольку количество вопросов может изменяться время от времени. Я использую PIVOT/ UNPIVOT в запросе, чтобы обработать это, и все в порядке, за исключением шаблона rtf.
Я использую Oracle Report Builder для создания отчетов, а шаблоны RTF используются для форматирования. Наконец, эти файлы.rdf и.rtf загружаются в приложение Oracle. В приложении oracle rtf out put установлен в Excel. Так что пользователь должен иметь возможность загрузить отчет в виде файла Excel.
Поэтому я пытаюсь добиться этого с помощью шаблона RTF следующим образом...
В первой ячейке первого столбца EMPLOYEE_NUMBER:
<?for-each-group@section:G_EMPLOYEE_NUMBER;./ EMPLOYEE_NUMBER?> <?variable@incontext:IND;EMPLOYEE_NUMBER?>
В столбце QUESTION (последний столбец, который является динамическим) заголовок:
<?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>
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>