在 Snowflake 中,如何派生日期维度表中所有日期的过去 365 天



我的日期维度表有一列"date_id",其日期从 2016-01-01 到 2025-01-01。我想在此日期表的顶部创建一个视图,并引入一个额外的列,说"date_id_365"。新列应包含每个date_id的所有过去 365 个日期。

例如,如果我选择一个date_id说 2020-01-15,则该date_id应该返回从 2019-01-15 到 2020-01-15 的日期。

如何为此在雪花中编写 SQL?

我想也许你正在寻找这样的东西......这是非常标准的SQL,而不是专门针对Snowflake的。 这假设date_id是一个 DATE 字段,我没有在您的评论中看到,但您可以转换它或使用日期字段。

SELECT a.date_id, b.date_id as date_id_365
FROM dim_date a
JOIN dim_date b
ON b.date_id BETWEEN DATEADD(year,-1,a.date_id) AND a.date_id

我自己还没有测试过这个,但很确定这对你有用。 唯一的问题是你2016年的日期,因为它在2015年没有任何日期可以加入。

相关内容

最新更新