我有一个由SQL查询驱动的经典报告。
如何根据另一列的值动态设置列标题?
例如,我的SQL返回列A, B, VERSION
。我希望如果A
为1,SQL列VERSION
的经典报告列标题为'Foo',但如果VERSION
为2,则为'Bar'。
答案 0 :(得分:1)
我不知道您所说的查询受主键约束是什么意思。
无论如何,这是一条建议,可能会(或可能不会)有所帮助。
基于示例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
项10
工作的员工,并且ENAME
列的标题为ACCOUNTING