county以及xiehe修改合并 #2

Merged
chenwu merged 7 commits from county_2026 into master 2026-05-26 14:36:03 +08:00
Showing only changes of commit f5811e941f - Show all commits

View File

@@ -151,39 +151,6 @@ and province_name not in ('台湾','澳门','香港')
-- COMMAND ----------
WITH original_sales AS (
SELECT /*+ BROADCAST(T2,T3) */
T1.YM AS YYYYMM,
T2.PROVINCE_CODE AS AUDIT_COD,
T3.IQVIA_PACK_CODE AS PACK_CODE,
T1.VALUE AS SALES_VALUE,
T1.TOTALUNIT AS SALES_UNIT,
T1.COUNTINGUNIT AS COUNTINGUNIT
FROM FACT_COUNTY_PREVIOUS AS T1
LEFT JOIN DIM_PROVINCE AS T2 ON T1.PROVINCE_C = T2.PROVINCE_NAME
LEFT JOIN DIM_PACK_INFO AS T3 ON T1.PHCD = T3.PACK_COD
)
SELECT
cy.YYYYMM,
cy.AUDIT_COD,
cy.PACK_CODE,
cy.SALES_VALUE,
cy.SALES_UNIT,
cy.COUNTINGUNIT,
-- 去年同期YYYYMM 为 6 位整数,减 100 即同月上一年(如 202403 → 202303
ly.SALES_VALUE AS SALES_VALUE_LY,
ly.SALES_UNIT AS SALES_UNIT_LY,
ly.COUNTINGUNIT AS COUNTINGUNIT_LY
FROM original_sales AS cy
LEFT JOIN original_sales AS ly
ON ly.YYYYMM = cy.YYYYMM - 100 -- 同月去年
AND ly.AUDIT_COD = cy.AUDIT_COD
AND ly.PACK_CODE = cy.PACK_CODE
-- COMMAND ----------
INSERT OVERWRITE TABLE DM.DM_TF_EXT_COUNTY_SALES (
YYYYMM,
PACK_CODE,
@@ -227,15 +194,16 @@ WITH original_sales AS (
T1.YM AS YYYYMM,
T2.PROVINCE_CODE AS AUDIT_COD,
T3.IQVIA_PACK_CODE AS PACK_COD,
T1.VALUE AS SALES_VALUE_CAL,
T1.TOTALUNIT AS SALES_UNIT_CAL,
T1.COUNTINGUNIT AS CONUTING_UNIT
SUM(T1.VALUE ) AS SALES_VALUE_CAL,
SUM(T1.TOTALUNIT ) AS SALES_UNIT_CAL,
SUM(T1.COUNTINGUNIT ) AS CONUTING_UNIT
FROM FACT_COUNTY_PREVIOUS AS T1
LEFT JOIN DIM_PROVINCE AS T2 ON T1.PROVINCE_C = T2.PROVINCE_NAME
LEFT JOIN DIM_PACK_INFO AS T3 ON T1.PHCD = T3.PACK_COD
GROUP BY T1.YM,T2.PROVINCE_CODE,T3.IQVIA_PACK_CODE
)
,formated_count_sales_table (
,formated_count_sales_table_detail (
SELECT
cy.YYYYMM,
cy.AUDIT_COD,
@@ -243,15 +211,41 @@ WITH original_sales AS (
cy.SALES_VALUE_CAL,
cy.SALES_UNIT_CAL,
cy.CONUTING_UNIT,
-- 去年同期YYYYMM 为 6 位整数,减 100 即同月上一年(如 202403 → 202303
0 AS SALES_VALUE_CAL_LY,
0 AS SALES_UNIT_CAL_LY,
0 AS CONUTING_UNIT_LY
FROM original_sales AS cy
union ALL
SELECT
ly.YYYYMM+100 as YYYYMM,
ly.AUDIT_COD,
ly.PACK_COD,
0 as SALES_VALUE_CAL,
0 as SALES_UNIT_CAL,
0 as CONUTING_UNIT,
-- 去年同期
ly.SALES_VALUE_CAL AS SALES_VALUE_CAL_LY,
ly.SALES_UNIT_CAL AS SALES_UNIT_CAL_LY,
ly.CONUTING_UNIT AS CONUTING_UNIT_LY
FROM original_sales AS cy
LEFT JOIN original_sales AS ly
ON ly.YYYYMM = cy.YYYYMM - 100 -- 同月去年
AND ly.AUDIT_COD = cy.AUDIT_COD
AND ly.PACK_COD = cy.PACK_COD
FROM original_sales AS ly
WHERE ly.yyyymm+100 <= (select max( yyyymm ) from original_sales )
)
,formated_count_sales_table (
SELECT
YYYYMM,
AUDIT_COD,
PACK_COD,
SUM(SALES_VALUE_CAL) AS SALES_VALUE_CAL,
SUM(SALES_UNIT_CAL) AS SALES_UNIT_CAL,
SUM(CONUTING_UNIT) AS CONUTING_UNIT,
SUM(SALES_VALUE_CAL_LY) AS SALES_VALUE_CAL_LY,
SUM(SALES_UNIT_CAL_LY) AS SALES_UNIT_CAL_LY,
SUM(CONUTING_UNIT_LY) AS CONUTING_UNIT_LY
FROM formated_count_sales_table_detail
GROUP BY 1,2,3
)
-- ════════════════════════════════════════════