我有一个由SQL查询驱动的经典报告。
如何根据另一列的值动态设置列标题?
例如,我的SQL返回列A, B, VERSION
。如果A
为1,我希望SQL列VERSION
的经典报告列标题为'Foo',如果VERSION
为2,则为'Bar'。
我不知道你的意思是说查询受主键约束。
无论如何,这是一个可能(或可能不)帮助的建议。
基于SCOTT模式示例,我创建了一个简单的经典报告
select e.ename, e.job
from emp e
where e.deptno = :P42_DEPTNO
我还创建了一个P42_DEPTNO
项目 - 有点 - 将结果限制在一个部门。例如,如果您将10
输入P42_DEPTNO
,您将获得在ACCOUNTING部门工作的员工。
此外,我创建了一个隐藏的项目qazxsw poi,其源代码是SQL查询
P42_DNAME
它返回select dname
from dept
where deptno = :P42_DEPTNO
值的部门名称。其“已使用”属性设置为“始终,替换会话状态中的任何现有值”。此项目(P42_DEPTNO
)将用作报告返回的P42_DNAME
列的自定义标题。
为了做到这一点,打开ENAME
列的属性并将其放入“Name”属性:ENAME
(字面上的&符号+项目名称+点 - 不要忘记尾随点!)。
就这样;
&P42_DNAME.
输入10
项目P42_DEPTNO
工作的员工,10
专栏的标题将是ENAME