簡體   English   中英

如何使用 LAG FUNCTION 在 Snowflake 中顯示今年與去年的收入?

[英]How can I use the LAG FUNCTION to show revenue this year vs last year in Snowflake with?

我想在同一行中按地區每種類型顯示當前收入與去年的收入。 示例:對於 2022-04-01,美國,類型 1 --> REVENUE: 2456, REVENUE_LAST_YEAR: 4000

2021 年 4 月 1 日,美國,類型 1 --> 收入:4000,REVENUE_LAST_YEAR:0

出於某種原因,Snowflake 中的 Lag 公式顯示了錯誤的值。 有人可以幫忙嗎?

 WITH
indata(dt,region,type,revenue) AS (
          SELECT DATE '2021-04-01','US','Type 1',4000 UNION ALL SELECT DATE '2021-05-01','Europe','Type 2',5777
UNION ALL SELECT DATE '2021-06-01','US','Type 1',45433 UNION ALL SELECT DATE '2021-07-01','Europe','Type 2',8955
UNION ALL SELECT DATE '2021-08-01','US','Type 1',45777 UNION ALL SELECT DATE '2021-09-01','Asia','Type 1',7533
UNION ALL SELECT DATE '2021-10-01','US','Type 1',8866 UNION ALL SELECT DATE '2021-11-01','Asia','Type 2',5534
UNION ALL SELECT DATE '2021-12-01','US','Type 2',4000 UNION ALL SELECT DATE '2022-01-01','Asia','Type 1',7244
UNION ALL SELECT DATE '2022-02-01','US','Type 1',6678 UNION ALL SELECT DATE '2022-03-01','Asia','Type 1',5654
UNION ALL SELECT DATE '2022-04-01','US','Type 1',2456 UNION ALL SELECT DATE '2022-05-01','Asia','Type 1',4525
UNION ALL SELECT DATE '2022-06-01','US','Type 1',6677 UNION ALL SELECT DATE '2022-07-01','Asia','Type 1',6654
UNION ALL SELECT DATE '2022-08-01','US','Type 1',6677 UNION ALL SELECT DATE '2022-09-01','Asia','Type 2',5754
UNION ALL SELECT DATE '2022-10-01','US','Type 1',7744 UNION ALL SELECT DATE '2022-11-01','Asia','Type 2',5644
UNION ALL SELECT DATE '2022-12-01','Europe','Type 2',6775 UNION ALL SELECT DATE '2023-01-01','Asia','Type 2',6777
UNION ALL SELECT DATE '2023-02-01','Europe','Type 2',7755
)


SELECT indata.*, 
lag(REVENUE, 1, 0)  over (partition by region,type,revenue order by year(dt)) REVENUE_last_year


FROM indata

order by year(dt)

按地區、類型和月日分區:

SELECT indata.*, 
LAG(REVENUE, 1, 0)  over (partition by region,type, TO_VARCHAR(dt, 'mmdd') 
                          order by dt) AS REVENUE_last_year
FROM indata
ORDER BY dt;

Output:

在此處輸入圖像描述

暫無
暫無

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

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