簡體   English   中英

分組和旋轉

[英]Groupings and pivoting

在此處輸入圖像描述我正在嘗試為該場景編寫代碼。

列 a- 組 - 1-4 、 5-7 、 8-10、 11+ 和新(5 組)

金額字段、計數字段

因此,對於 2020 財年 - 除了 New 之外,我有 4 行。

對於 2019 財年,除了 5-7 和 New 之外,我得到了 3 行。 12

我必須旋轉才能並排獲得上一年的度量和本年度的度量。

組容量

1-4 amout1 Amount2 5-7 amount1 null 8-10 amount1 amount2 11+ amount1 amount2

我嘗試了滯后功能,但是由於我有分組,因此無法按預期對 py 起作用。 非常感謝任何幫助!

謝謝

在此輸入圖片說明 在輸入圖片說明

您可以通過正確使用sysdate偽列來匹配當前年份和以前的計算來使用Conditional Aggregation

SELECT TO_CHAR(sysdate,'YYYY') AS "Year",
       "Group",
       NVL(MAX(CASE WHEN year = TO_CHAR(sysdate,'YYYY') THEN 
                     amount
                 END),0) AS "Amount",
       NVL(MAX(CASE WHEN year = TO_CHAR(sysdate,'YYYY') THEN 
                     count
                 END),0) AS "Count",                 
       NVL(MAX(CASE WHEN year = TO_CHAR(sysdate,'YYYY') - 1 THEN 
                     amount
                 END),0) AS "Amount PY",
       NVL(MAX(CASE WHEN year = TO_CHAR(sysdate,'YYYY') - 1 THEN 
                     count
                 END),0) AS "Count PY"                                  
  FROM t
 GROUP BY "Group" 
 ORDER BY TO_NUMBER( REGEXP_SUBSTR("Group",'[^-+]+') )

演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM