Классический динамический заголовок отчета в APEX 5.1 - PullRequest
0 голосов
/ 15 февраля 2019

У меня классический отчет, управляемый запросом SQL.

Как динамически установить заголовки столбцов на основе значения другого столбца?

Например, мой SQL возвращает столбцы A, B, VERSION.Мне бы хотелось, чтобы заголовок классического отчета для столбца SQL A имел значение 'Foo', если VERSION равно 1, но 'Bar', если VERSION равно 2.

1 Ответ

0 голосов
/ 17 февраля 2019

Я не знаю, что вы имели в виду, говоря, что запрос ограничен первичным ключом .

В любом случае, вот предложение, которое может (или не может) помочь.

На основе примера схемы SCOTT я создал простой классический отчет как

select e.ename, e.job
from emp e 
where e.deptno = :P42_DEPTNO

Я также создал элемент P42_DEPTNO, который - вид - ограничивает результаттолько в один отдел.Например, если вы введете 10 в P42_DEPTNO, вы получите сотрудников, которые работают в отделе БУХГАЛТЕРСКОГО УЧЕТА.

Кроме того, я создал скрытый элемент P42_DNAME, источником которого является SQL-запрос

select dname
from dept
where deptno = :P42_DEPTNO

, и он возвращает имя отдела для значения P42_DEPTNO.Его свойство «Используется» имеет значение «Всегда, заменяя любое существующее значение в состоянии сеанса».Этот элемент (P42_DNAME) будет использоваться в качестве пользовательского заголовка для столбца ENAME, возвращаемого отчетом.

Для этого откройте свойства столбца ENAME ипоместите это в свойство «Имя»: &P42_DNAME. (буквально амперсанд + имя элемента + точка - не забывайте завершающую точку!).

Вот и все;

  • запустите отчет
  • введите 10 в P42_DEPTNO элемент
  • нажмите ENTER клавишу
  • отчет будетотображать сотрудников, которые работают в отделе 10, а заголовок ENAME будет ACCOUNTING
...