【问题标题】:Classic report dynamic heading in APEX 5.1APEX 5.1 中的经典报表动态标题
【发布时间】:2019-02-15 12:18:07
【问题描述】:

我有一个由 SQL 查询驱动的经典报表。

如何根据另一列的值动态设置列标题?

例如,我的 SQL 返回列 A, B, VERSION。如果VERSION 为1,我希望SQL 列A 的经典报告列标题为“Foo”,但如果VERSION 为2,则为“Bar”。

【问题讨论】:

  • 如果结果集同时包含版本 1 和 2 怎么办?在这种情况下,您希望使用哪个标题?如果 VERSION 既不是 1 也不是 2 怎么办?
  • 查询受主键约束。

标签: oracle dynamic report oracle-apex oracle-apex-5


【解决方案1】:

我不明白你说的查询受主键约束是什么意思

无论如何,这里有一个可能(或可能不会)有帮助的建议。

基于示例 SCOTT 架构,我创建了一个简单的经典报告

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

我还创建了一个P42_DEPTNO 项目,它 - 有点 - 将结果限制到一个部门。例如,如果您在P42_DEPTNO 中输入10,您将获得在会计部门工作的员工。

此外,我创建了一个隐藏项 P42_DNAME,其源是 SQL 查询

select dname
from dept
where deptno = :P42_DEPTNO

它返回P42_DEPTNO 值的部门名称。其“已使用”属性设置为“始终,替换会话状态中的任何现有值”。此项目 (P42_DNAME) 将用作报告返回的 ENAME 列的自定义标题

为此,请打开 ENAME 列的属性并将其放入“名称”属性中:&P42_DNAME.(字面意思是 & 符号 + 项目名称 + 点 - 不要忘记尾随点!)。

仅此而已;

  • 运行报告
  • P42_DEPTNO项目中输入10
  • ENTER
  • 报告将显示在10 部门工作的员工,ENAME 列的标题将为ACCOUNTING

【讨论】:

    猜你喜欢
    • 2016-03-12
    • 2019-09-28
    • 1970-01-01
    • 1970-01-01
    • 2016-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多