【问题标题】:How to change data from row to column如何将数据从行更改为列
【发布时间】:2019-09-12 17:19:04
【问题描述】:

我有数据的交互式报告

Name    STATUS  CNT
----------------------------
Vinu    20Q1    595
Kuma    19Q2    31
john    19Q3    502
Stev    19Q4    458

但是,我需要这个格式。

Name    20Q1 19Q3 19Q2 19Q1
-----------------------------------
Vinu    XXX  XXX  XXX  XXX
Kuma    XXX  XXX  XXX  XXX
John    XXX  XXX  XXX  XXX
Stev    XXX  XXX  XXX  XXX

【问题讨论】:

  • 在编译时是否知道结果中所需的列集?还是仅在运行时?看起来这些是季度数字 - 您是否期望列数会随着时间的推移而增加
  • 是的,一旦季度改变,列就会改变,我们需要考虑最后4个季度。我不知道编译时和运行时的区别,对不起,我是apex的新手
  • 这称为数据透视查询。在 APEX 5.1 及更高版本中,交互式报表以声明方式支持数据透视查询。我会先试试。

标签: oracle-apex oracle-apex-5.1


【解决方案1】:

这听起来像是一个 SQL 问题,使用 REGEXP_REPLACE https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/REGEXP_REPLACE.html#GUID-EA80A33C-441A-4692-A959-273B5A224490

select regexp_replace('19Q3 502','\w','x') from dual

REGEXP_R
--------
xxxx xxx

如何应用这实际上取决于您没有提供的数据结构。

【讨论】:

  • 也许我误解了这个写得很少的问题。这是一个支点问题吗?如果声明性选项不好,并且您有不同数量的列,则有一些动态数据透视选项grassroots-oracle.com/2015/07/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-03
  • 1970-01-01
  • 2012-07-28
  • 2021-10-10
  • 2018-10-30
相关资源
最近更新 更多