new file: 01 dm_tf_external_sales.sql

new file:   02 dm_td_external_keycompatitor.sql
	new file:   03 dm_td_external_brand_market.sql
	new file:   04 dm_td_external_calendar.sql
	new file:   05 dm_td_external_exchangerate.sql
	new file:   07 dm_td_external_packinfo.sql
	new file:   08 dm_td_external_corp.sql
	new file:   09 dm_td_external_geo_type.sql
	new file:   11 DM_TD_EXTERNAL_MARKET_NEW.sql
	new file:   12 dm_td_external_org.sql
	new file:   13 external auth.sql
	new file:   14 dm_tf_external_retail_special_bkp.sql
	new file:   AIA/01 dm_aia_pack_property.sql
	new file:   AIA/02 dm_ext_aia_sales.sql
	new file:   AIA/02 dm_ext_aia_sales_bakup_20230327.sql
	new file:   AIA/03 dm_aia_flag.sql
	new file:   AIA/04 dm_aia_provided_flag.sql
	new file:   AIA/06 DM_TD_EXT_AIA_PACK_PROPERTY.sql
	new file:   AIA/07 DM_TD_EXT_AIA_PACK2MARKET.sql
	new file:   AIA/08 DM_TD_EXT_AIA_MARKET_RATIO.sql
	new file:   AIA/09 DM_TD_EXT_AIA_MARKET_BRAND_RATIO.sql
	new file:   AIA/10 DM_TD_EXT_AIA_MARKET_PACK_MAPPING.sql
	new file:   AIA/11 DM_TD_EXT_AIA_TARGET_INST.sql
	new file:   AIA/11 dm_aia_targethp_flag.sql
	new file:   "AIA/z_03 dm_aia_flag_\345\244\207\344\273\275\347\224\250.sql"
	new file:   CHC/01 dm_chc_pack_property.sql
	new file:   CHC/02 DM_TF_EXT_CHC_SALES.sql
	new file:   CHC/03 DM_TD_EXT_CHC_PACK_PROPERTY.sql
	new file:   CHC/04 DM_TD_EXT_CHC_PACK2MARKET.sql
	new file:   CHC/05 DM_TD_EXT_CHC_MARKET_RATIO.sql
	new file:   CHC/06 DM_TD_EXT_CHC_MARKET_BRAND_RATIO.sql
	new file:   CHC/07 DM_TD_EXT_CHC_MARKET_PACK_MAPPING.sql
	new file:   CHPA/01 dwd_ims_atc_hierarchy.sql
	new file:   CHPA/01 dwd_ims_nfc_hierarchy.sql
	new file:   CHPA/01 dwd_ims_td_manufacturer_corp.sql
	new file:   CHPA/01 dwd_ims_td_pack_property.sql
	new file:   CHPA/01 dwd_update.sql
	new file:   CHPA/01_FB_BLOB_TO_DWD.sql
	new file:   CHPA/02 DWS_IMS_TD_GEO.sql
	new file:   CHPA/02 dws_ims_td_atc_cn.sql
	new file:   CHPA/02 dws_ims_td_corp_cn.sql
	new file:   CHPA/02 dws_ims_td_date.sql
	new file:   CHPA/02 dws_ims_td_manu_cn.sql
	new file:   CHPA/02 dws_ims_td_market.sql
	new file:   CHPA/02 dws_ims_td_market_ta.sql
	new file:   CHPA/02 dws_ims_td_nfc_cn.sql
	new file:   CHPA/02 dws_ims_td_prod_cn.sql
	new file:   CHPA/02 tmp_ims_td_prod_tmp.sql
	new file:   CHPA/02 tmp_ims_tf_fact_sales.sql
	new file:   CHPA/03 DM_TD_EXT_CHPA_MARKET_BRAND_RATIO.sql
	new file:   CHPA/03 DM_TD_EXT_CHPA_MARKET_PACK_MAPPING.sql
	new file:   CHPA/03 DM_TD_EXT_CHPA_MARKET_RATIO.sql
	new file:   CHPA/03 DM_TD_EXT_CHPA_PACK2MARKET.sql
	new file:   CHPA/03 DM_TD_EXT_CHPA_PACK_PROPERTY.sql
	new file:   CHPA/03 DM_TF_EXT_CHPA_SALES.sql
	new file:   CHPA/03 dm_ims_td_calendar.sql
	new file:   CHPA/03 dm_ims_td_geo.sql
	new file:   CHPA/03 dm_ims_td_market_property.sql
	new file:   CHPA/03 dm_ims_td_org.sql
	new file:   CHPA/03 dm_ims_td_org_hvh.sql
	new file:   CHPA/03 dm_ims_td_pack_property.sql
	new file:   CHPA/03 dm_ims_tf_sales.sql
	new file:   CHPA/03 dm_td_chpa_market_definition.sql
	new file:   CHPA/03 dm_td_ims_city_mapping.sql
	new file:   EC/03 ec_load_data.sql
	new file:   EC/04 DM_TD_EXT_EC_PACK_PROPERTY.sql
	new file:   EC/05 DM_TF_EXT_EC_SALES.sql
	new file:   EC/06 DM_TD_EXT_EC_PACK2MARKET.sql
	new file:   EC/07 DM_TD_EXT_EC_MARKET_RATIO.sql
	new file:   EC/08 DM_TD_EXT_EC_MARKET_BRAND_RATIO.sql
	new file:   EC/09 DM_TD_EXT_EC_MARKET_PACK_MAPPING.sql
	new file:   EC/1 (ec)blob_to_dwd.sql
	new file:   EC/2 dwd_inc_gnd_ext_ec_nationnal_pack_union_all.py
	new file:   Merged_Data/Merged_Data_Config_table_bkp.sql
	new file:   Merged_Data/Merged_Data_Config_table_bymonth.sql
	new file:   Merged_Data/dm_tf_exteranl_sales_merged_data_dtp_others_bkp.sql
	new file:   Merged_Data/dm_tf_exteranl_sales_merged_data_dtp_others_bymonth_bkp.sql
	new file:   ORG/DM_TD_EXT_AIA_ORG.sql
	new file:   ORG/DM_TD_EXT_CHC_ORG.sql
	new file:   ORG/DM_TD_EXT_CHPA_ORG.sql
	new file:   ORG/DM_TD_EXT_COUNTY_ORG.sql
	new file:   ORG/DM_TD_EXT_EC_ORG.sql
	new file:   ORG/DM_TD_EXT_RETAIL_ORG.sql
	new file:   ORG/DM_TD_EXT_THC_ORG.sql
	new file:   ORG/DM_TD_EXT_XIEHE_ORG.sql
	new file:   OTHERS/01 dm_td_report_url.sql
	new file:   OTHERS/02 dws_ext_email_warning.sql
	new file:   OTHERS/external_triggered_email.py
	new file:   Retail/01 load_tmp_data.py
	new file:   Retail/02 split_brand_data.py
	new file:   Retail/03 split_pack_data.py
	new file:   Retail/04 map_to_dws_table.py
	new file:   Retail/05 load_dtp_temp_data.py
	new file:   Retail/06 split_dtp_brand_data.py
	new file:   Retail/07 split_dtp_pack_data.py
	new file:   Retail/08 map_to_dtp_dws_table.py
	new file:   Retail/09 dwd_inc_gnd_ext_retail_nataional.py
	new file:   Retail/10 map_to_retail_dm_table.py
	new file:   Retail/11 map_to_overview_dm_table.py
	new file:   Retail/12 dws_tf_external_retail_dtp_special.sql
	new file:   Retail/13 DM_TF_EXT_RETAIL_SALES.sql
	new file:   Retail/14 DM_TF_EXT_RETAIL_DTP_SALES.sql
	new file:   Retail/15 DM_TD_EXT_RETAIL_PACK_PROPERTY.sql
	new file:   Retail/16 DM_TD_EXT_RETAIL_DTP_PACK_PROPERTY.sql
	new file:   Retail/17 DM_TD_EXT_DTP_PACK2MARKET.sql
	new file:   Retail/17 DM_TD_EXT_RETAIL_PACK2MARKET.sql
	new file:   Retail/18 DM_TD_EXT_DTP_MARKET_RATIO.sql
	new file:   Retail/18 DM_TD_EXT_RETAIL_MARKET_RATIO.sql
	new file:   Retail/19 DM_TD_EXT_DTP_MARKET_BRAND_RATIO.sql
	new file:   Retail/19 DM_TD_EXT_RETAIL_MARKET_BRAND_RATIO.sql
	new file:   Retail/20 DM_TD_EXT_DTP_MARKET_PACK_MAPPING.sql
	new file:   Retail/20 DM_TD_EXT_RETAIL_MARKET_PACK_MAPPING.sql
	new file:   "Retail/z1 dwd_inc_gnd_ext_retail_nataional_\344\275\234\345\272\237.py"
	new file:   "Retail/z2 retail_load_data_\344\275\234\345\272\237.sql"
	new file:   "Retail/z3 retail_overview_data_\344\275\234\345\272\237.sql"
	new file:   THC/01 dm_thc_pack_property.sql
	new file:   THC/02 dm_ext_thc_sales.sql
	new file:   THC/02 dm_ext_thc_sales_bakup_20260327.sql
	new file:   THC/03 DM_TF_EXT_THC_MARKET_SALES_CHT.sql
	new file:   THC/04 dm_tf_external_sales_thc.sql
	new file:   THC/05 DM_TD_EXT_THC_PACK_PROPERTY.sql
	new file:   THC/06 DM_TD_EXT_THC_PACK2MARKET.sql
	new file:   THC/07 DM_TD_EXT_THC_MARKET_RATIO.sql
	new file:   THC/08 DM_TD_EXT_THC_MARKET_BRAND_RATIO.sql
	new file:   THC/09 DM_TD_EXT_THC_MARKET_PACK_MAPPING.sql
	new file:   UNIONALL/DM_TD_EXT_UNIONALL_MARKET_PACK_MAPPING.sql
	new file:   UNIONALL/DM_TD_EXT_UNIONALL_PACKINFO.sql
	new file:   UNIONALL/DM_TF_EXT_UNIONALL_MARKET_SALES.sql
	new file:   UNIONALL/DM_TF_EXT_UNIONALL_MARKET_SALES_v1.0.sql
	new file:   UNIONALL/DM_TF_EXT_UNIONALL_SALES.sql
	new file:   UNIONALL/DM_TF_EXT_UNIONALL_SALES_MAPPING.sql
	new file:   UNIONALL/DM_TF_EXT_UNIONALL_SALES_MAPPING_NIAD.sql
	new file:   XIEHE/01 xiehe_blob_to_dwd.py
	new file:   XIEHE/02 dm_xiehe_pack_property.sql
	new file:   XIEHE/03 dm_ext_xiehe_geo.sql
	new file:   XIEHE/04 dm_ext_xiehe_sales.sql
	new file:   XIEHE/05 dm_td_xiehe_core_dept.sql
	new file:   XIEHE/06 DM_TF_EXT_XIEHE_SALES.sql
	new file:   XIEHE/07 DM_TD_EXT_XIEHE_PACK_PROPERTY.sql
	new file:   XIEHE/08 DM_TD_EXT_XIEHE_PACK2MARKET.sql
	new file:   XIEHE/09 DM_TD_EXT_XIEHE_MARKET_RATIO.sql
	new file:   XIEHE/10 DM_TD_EXT_XIEHE_MARKET_BRAND_RATIO.sql
	new file:   XIEHE/11 DM_TD_EXT_XIEHE_MARKET_PACK_MAPPING.sql
	new file:   XIEHE/bkp_01 xiehe_blob2dwd.py
	new file:   XIEHE/bkp_02 dm_ext_xiehe_sales.sql
	new file:   XIEHE/bkp_03 dm_ext_xiehe_pack_property.sql
	new file:   county/01 tmp_ims_county_fact_sales_sum.sql
	new file:   county/02 tmp_imscounty_Result.sql
	new file:   county/03 dm_ims_td_county_geo.sql
	new file:   county/04 dws_ext_county_tf_sales.sql
	new file:   county/05 dm_ext_county_td_pack_property.sql
	new file:   county/06 dm_td_county_pack_region.sql
	new file:   county/07 dm_ext_county_tf_sales_region.sql
	new file:   county/08 DM_TD_EXT_COUNTY_PACK_PROPERTY.sql
	new file:   county/09 DM_TF_EXT_COUNTY_SALES.sql
	new file:   county/10 DM_TD_EXT_COUNTY_PACK2MARKET.sql
	new file:   county/11 DM_TD_EXT_COUNTY_MARKET_RATIO.sql
	new file:   county/12 DM_TD_EXT_COUNTY_MARKET_BRAND_RATIO.sql
	new file:   county/13 DM_TD_EXT_COUNTY_MARKET_PACK_MAPPING.sql
	new file:   for_AIA_Dashboard/01 dm_td_aia_inst_mkt.sql
	new file:   for_AIA_Dashboard/02 dm_td_aia_auth_sales.sql
	new file:   for_AIA_Dashboard/03 dm_td_aia_original_col.sql
	new file:   for_AIA_Dashboard/04 dm_td_aia_nosales_inst.sql
	new file:   for_AIA_Dashboard/05 dm_td_aia_is_eagle_flag.sql
	new file:   for_AIA_Dashboard/06 dm_td_aia_rank.sql
	new file:   for_AIA_Dashboard/07 dm_ext_aia_data_remove_flag.sql
	new file:   for_AIA_Dashboard/07 dm_td_aia_remove_special_ins_bkp.py
	new file:   for_AIA_Dashboard/08 dm_ext_aia_data_quality_flag.sql
	new file:   z 01 dm_tf_external_sales.sql
	new file:   "z 10 dm_td_external_market_pack_mapping_\344\275\234\345\272\237.sql"
	new file:   "z 11 dm_td_external_market_\344\275\234\345\272\237.sql"
	new file:   "\344\270\212\347\272\277\350\204\232\346\234\254.sql"
	new file:   "\346\225\260\346\215\256\351\252\214\350\257\201.sql"
This commit is contained in:
2026-04-27 15:48:38 +08:00
parent d2485035c0
commit 832c7bcd69
173 changed files with 62579 additions and 0 deletions

View File

@@ -0,0 +1,382 @@
-- Databricks notebook source
---------------------------------------------------------------------------
--修改时间20241126
--Fanxujia
--
--THC渠道分为14省的数据源以及全国的数据源两种2union在一起
----------------------------------------------------------------------------
create or replace temporary view external_sales_union as
select YYYYMM,SALES_VALUE_CAL,DATA_SOURCE from dm.dm_tf_ext_unionall_sales
union all
select YYYYMM,SALES_VALUE_CAL,DATA_SOURCE from dm.dm_tf_external_sales_thc
-- COMMAND ----------
---------------------------------------------------------------------------
--修改时间20260309
--chenwu
--
--niad
----------------------------------------------------------------------------
create or replace temporary view retail_niad_sales as
select
GREATEST(niad_month, OTHERS_MONTH) as YYYYMM,
NIAD_MONTH
from
(
select
max(niad_month) as niad_month,
max(OTHERS_MONTH) as OTHERS_MONTH
from
(
select
niad_month,
OTHERS_MONTH
from
tmp.tmp_dm_td_ext_retail_niad_month
union all
select
niad_month,
OTHERS_MONTH
from
tmp.tmp_dm_td_ext_ec_niad_month
)
)
-- COMMAND ----------
create or replace temporary view merged_date_calender as
WITH ALL_DATA_YYYY (
select
max(yyyymm) YYYYMM,
'AIA' DATATYPE
from
dm.dm_tf_ext_unionall_sales
where
DATA_SOURCE = 'AIA(Monthly)'
union all
select
max(yyyymm) YYYYMM,
'DTP' DATATYPE
from
dm.dm_tf_ext_unionall_sales
where
DATA_SOURCE = 'DTP(Quarterly)'
union all
select
max(yyyymm) YYYYMM,
'CHPA' DATATYPE
from
dm.dm_tf_ext_unionall_sales
where
DATA_SOURCE = 'IQVIA-CHPA(Monthly)'
)
SELECT
min(YYYYMM) AS MERGED_DATA_MONTH,
GREATEST(
'202401',
CAST((CAST(LEFT(min(yyyymm), 4) AS INT) - 3) * 100 + 1 AS VARCHAR(6)) --
) AS MERGED_DATA_MONTH_START
from
ALL_DATA_YYYY
-- COMMAND ----------
insert overwrite dm.dm_td_external_calendar (
date,
yyyymmdd,
yyyymm,
year,
quarter,
month,
month_cn,
day,
is_holiday,
work_days,
mtd_work_days,
left_work_days,
year_quater,
half_year,
dd,
YYYYMM_EXTERNAL,
MONTH_EXTERNAL,
YEAR_EXTERNAL,
YYYYMM_EXTERNAL_AIA,
YYYYMM_EXTERNAL_NIAD,
YYYYMM_MERGED_DATA
)
--20182018
--31
with day_31 as (select
explode(
array(
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31
)
) as day
),
--30
day_30 as (select
day
from
day_31
where
day <= 30
),
--292
day_29 as (select
day
from
day_31
where
day <= 29
),
--282
day_28 as (select
day
from
day_31
where
day <= 28
),
--31
month_31 as (select
explode(array(1, 3, 5, 7, 8, 10, 12)) as month
),
--30
month_30 as (select
explode(array(4, 6, 9, 11)) as month
),
--2
month_2 as (select
2 as month
),
--
mmdd_365 as (select
month,
day
from
month_31 cross join day_31
union all
select
month,
day
from
month_30 cross join day_30
union all
select
month,
day
from
month_2 cross join day_28
),
--
mmdd_366 as (select
month,
day
from
month_31 cross join day_31
union all
select
month,
day
from
month_30 cross join day_30
union all
select
month,
day
from
month_2 cross join day_29
),
--
--20402041使
--
year_365 as (select
explode(
array(
2018,
2019,
2021,
2022,
2023,
2025,
2026,
2027,
2029,
2030,
2031,
2033,
2034,
2035,
2037,
2038,
2039
)
) as year
),
--
year_366 as (select
explode(array(2020, 2024, 2028, 2032, 2036, 2040)) as year
),
--20181120401231
--dm表时还会在此基础上框定时间范围
yyyymmdd as (select
year,
month,
day
from
year_365 cross join mmdd_365
union all
select
year,
month,
day
from
year_366 cross join mmdd_366
),
--
tmp_calendar as (select
make_date(year, month, day) as `date`,
year * 10000 + month * 100 + day as yyyymmdd,
year * 100 + month as yyyymm,
concat(month, '') as month_cn,
year,
month,
day,
case
when month <= 3 then 1
when month <= 6 then 2
when month <= 9 then 3
else 4
end as quarter,
case
when month <= 3 then concat(year, 'Q1')
when month <= 6 then concat(year, 'Q2')
when month <= 9 then concat(year, 'Q3')
else concat(year, 'Q4')
end as year_quater,
case
when month <= 6 then concat(year, 'H1')
else concat(year, 'H2')
end as half_year,
--4PBI上没有用到0
0 as work_days,
0 as mtd_work_days,
0 as is_holiday,
0 as left_work_days
from
yyyymmdd
)
select
`date`,
yyyymmdd,
A.yyyymm,
`year`,
quarter,
`month`,
month_cn,
`day`,
is_holiday,
work_days,
mtd_work_days,
left_work_days,
year_quater,
half_year,
substring(yyyymmdd, 7, 2) dd,
CASE
WHEN A.yyyymm = B.YYYYMM THEN 'R'
ELSE A.yyyymm
END YYYYMM_EXTERNAL,
CASE
WHEN A.yyyymm = B.YYYYMM THEN 'R'
ELSE `month`
END MONTH_EXTERNAL,
CASE
WHEN A.`year` = LEFT(B.YYYYMM, 4) THEN 'R'
ELSE A.`year`
END YEAR_EXTERNAL,
-- from DM.DM_TD_CALENDAR A
----------------------------------------------------
--修改时间20241211
--Fanxujia
--
--AIA报告增加单独的R月标记
----------------------------------------------------
case
when A.yyyymm = C.YYYYMM THEN 'R'
WHEN A.yyyymm >= C.min_yyyymm AND A.yyyymm <=C.yyyymm
THEN A.YYYYMM
ELSE NULL
end as YYYYMM_EXTERNAL_AIA,
case
when A.yyyymm = D.NIAD_MONTH THEN 'R'
else A.yyyymm
end as YYYYMM_EXTERNAL_NIAD,
case
when A.yyyymm = E.MERGED_DATA_MONTH THEN 'R'
when A.yyyymm >= E.MERGED_DATA_MONTH_START AND A.YYYYMM<= E.MERGED_DATA_MONTH THEN A.yyyymm
else null
end as YYYYMM_MERGED_DATA
from
tmp_calendar A
join (
select
MAX(YYYYMM) YYYYMM
from
external_sales_union
where
SALES_VALUE_CAL <> 0
) B
on 1 = 1
--AIA数据的最新月
cross join (
select
max(YYYYMM) as YYYYMM,min(yyyymm) AS min_yyyymm
from
dm.dm_tf_ext_unionall_sales
where
DATA_SOURCE = 'AIA(Monthly)'
and SALES_VALUE_CAL <> 0
) C
left join retail_niad_sales AS D
left join merged_date_calender as E
WHERE
A.yyyymm >= (
SELECT
MIN(YYYYMM)
FROM
external_sales_union
)
AND A.yyyymm <= (LEFT(D.YYYYMM, 4) * 100 + 12)
AND A.day = 1