Files
MarketAnalysis-ETL/EXTERNAL/CHPA/03 dm_ims_td_calendar.sql
2026-04-20 14:55:25 +08:00

58 lines
1.5 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- Databricks notebook source
-- 源表DWS.DWS_IMS_TD_DATE
-- 目标表DM.DM_IMS_TD_CALENDAR,DM.DM_IMS_S_DATE
-- COMMAND ----------
--DM 逻辑
--DATE
INSERT OVERWRITE TABLE DM.DM_IMS_TD_CALENDAR
--当前年销量日期日历表缺少的用去年补全
SELECT
CAST(YM+100 AS INT) AS YYYYMM,
CAST(YEAR+1 AS INT) AS YEAR,
MONTH,
QUARTER,
CONCAT(CAST(LEFT(YQ,4) AS INT)+1,QUARTER) AS YQ ,
CAST(CONCAT(CAST(YEAR AS INT)+1,'-',MONTH,'-01') AS DATE) AS DAY_DATE,
CASE WHEN YM+100= (SELECT MAX(YM) FROM TMP.TMP_IMS_TF_FACT_SALES) THEN 'R' ELSE DATE_FLAG END,
CONCAT(CAST(LEFT(HALF_YEAR,4) AS INT)+1,RIGHT(HALF_YEAR,2)) AS HALF_YEAR,
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') ETL_INSERT_DT,
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') ETL_UPDATE_DT
FROM DWS.DWS_IMS_TD_DATE
WHERE YEAR+1=(SELECT MAX(YEAR) FROM DWS.DWS_IMS_TD_DATE)
--前四年的日历表
UNION ALL
SELECT
CAST(YM AS INT) AS YYYYMM,
CAST(YEAR AS INT),
MONTH,
QUARTER,
YQ,
CAST(CONCAT(YEAR,'-',MONTH,'-01') AS DATE) AS DAY_DATE,
DATE_FLAG,
HALF_YEAR,
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') ETL_INSERT_DT,
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') ETL_UPDATE_DT
FROM DWS.DWS_IMS_TD_DATE
WHERE YEAR<(SELECT MAX(YEAR) FROM DWS.DWS_IMS_TD_DATE)
AND YEAR+9>(SELECT MAX(YEAR) FROM DWS.DWS_IMS_TD_DATE)
-- COMMAND ----------
INSERT OVERWRITE TABLE DM.DM_IMS_S_DATE
SELECT
YYYYMM,
YEAR,
MONTH,
QUARTER,
YQ,
DAY_DATE,
DATE_FLAG,
HALF_YEAR,
ETL_INSERT_DT,
ETL_UPDATE_DT
FROM DM.DM_IMS_TD_CALENDAR