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:
60
county/01 tmp_ims_county_fact_sales_sum.sql
Normal file
60
county/01 tmp_ims_county_fact_sales_sum.sql
Normal file
@@ -0,0 +1,60 @@
|
||||
-- Databricks notebook source
|
||||
--笛卡尔积生成PKAU维度表
|
||||
insert overwrite table tmp.tmp_ims_county_pack_audit
|
||||
SELECT
|
||||
PACK.Pack_ID,
|
||||
if( Pack_Code REGEXP '^[0-9]',right(concat('000000000000',Pack_Code),12),Pack_Code) as PACK_CODE,--RIGHT(concat('0000000',Pack_Code),7)
|
||||
AUDI.Audit_ID,
|
||||
AUDI.Audit_Name AS AUDIT_COD,
|
||||
concat(REPLACE(AUDI.Audit_Name,' ','') , '_', if( Pack_Code REGEXP '^[0-9]',right(concat('000000000000',Pack_Code),12),Pack_Code))as PKAU_INDEX,
|
||||
from_utc_timestamp(current_timestamp,'UTC+8') as etl_insert_dt,
|
||||
from_utc_timestamp(current_timestamp,'UTC+8') as etl_update_dt
|
||||
FROM dwd.dwd_gnd_county_dim_pack PACK
|
||||
CROSS JOIN (
|
||||
SELECT
|
||||
Audit_ID,
|
||||
Audit_Type,
|
||||
Audit_Name
|
||||
FROM dwd.dwd_gnd_county_dim_audit
|
||||
) AUDI
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
---------------------------------------------事实表添加lastyear的KPI字段---------------------------------------------
|
||||
insert overwrite table tmp.tmp_ims_county_fact_sales_sum
|
||||
select
|
||||
distinct
|
||||
t1.qtr
|
||||
,left(t1.qtr,4)*100+right(t1.qtr,1)*3 as yyyymm
|
||||
,t2.pack_code as pack_cod
|
||||
,t2.audit_cod as region_cod
|
||||
,sum(SalesValue_LC ) as SalesValue_LC
|
||||
,sum(SalesValue_LC_LY) as SalesValue_LC_LY
|
||||
,sum(Counting_Unit ) as Counting_Unit
|
||||
,sum(Counting_Unit_LY) as Counting_Unit_LY
|
||||
,sum(Sales_Unit ) as Sales_Unit
|
||||
,sum(Sales_Unit_LY) as Sales_Unit_LY
|
||||
,from_utc_timestamp(current_timestamp,'UTC+8') as etl_insert_dt
|
||||
,from_utc_timestamp(current_timestamp,'UTC+8') as etl_update_dt
|
||||
from(
|
||||
select DISTINCT left(concat(year,'Q',month/3),6) as qtr,pack_id,audit_id,
|
||||
nvl(SalesValue_LC,0) AS SalesValue_LC,
|
||||
0 AS SalesValue_LC_LY,
|
||||
nvl(Counting_Unit,0) AS Counting_Unit,
|
||||
0 AS Counting_Unit_LY,
|
||||
nvl(Sales_Unit,0) AS Sales_Unit,
|
||||
0 AS Sales_Unit_LY
|
||||
from dwd.dwd_gnd_county_fact_sales
|
||||
union all
|
||||
select DISTINCT left(concat(left(year,4),'Q',month/3),6) as qtr,pack_id,audit_id,
|
||||
0 AS SalesValue_LC,
|
||||
nvl(SalesValue_LC,0) AS SalesValue_LC_LY,
|
||||
0 AS Counting_Unit,
|
||||
nvl(Counting_Unit,0) AS Counting_Unit_LY,
|
||||
0 AS Sales_Unit,
|
||||
nvl(Sales_Unit,0) AS Sales_Unit_LY
|
||||
from (select DISTINCT year+1 as year,month,SalesValue_LC,Counting_Unit,Sales_Unit,pack_id,audit_id from dwd.dwd_gnd_county_fact_sales) fact_ly
|
||||
where year*100+month in (select distinct year*100+month from dwd.dwd_gnd_county_fact_sales)
|
||||
)t1
|
||||
left join tmp.tmp_ims_county_pack_audit t2 on t1.pack_id=t2.pack_id and t1.audit_id=t2.audit_id
|
||||
group by t1.qtr,t2.pack_code,t2.audit_cod
|
||||
64
county/02 tmp_imscounty_Result.sql
Normal file
64
county/02 tmp_imscounty_Result.sql
Normal file
@@ -0,0 +1,64 @@
|
||||
-- Databricks notebook source
|
||||
-------------------------------------county新倒减拆分需求代码示例之KPI递减-------------------------------------
|
||||
insert overwrite table tmp.tmp_imscounty_Result
|
||||
with ObuEast5 as (
|
||||
--取OBU 东五的数据(仅包含L01+L02)
|
||||
SELECT YYYYMM,region_cod,pack_cod,SalesValue_LC,SalesValue_LC_LY,Counting_Unit,Counting_Unit_LY,Sales_Unit,Sales_Unit_LY
|
||||
FROM tmp.tmp_ims_county_fact_sales_sum
|
||||
WHERE region_cod = 'County2'
|
||||
),CountyProv as (
|
||||
--得到省份的数据
|
||||
SELECT YYYYMM,region_cod,pack_cod,SalesValue_LC,SalesValue_LC_LY,Counting_Unit,Counting_Unit_LY,Sales_Unit,Sales_Unit_LY
|
||||
FROM tmp.tmp_ims_county_fact_sales_sum
|
||||
WHERE region_cod NOT IN ('County','County2','National')
|
||||
)
|
||||
,CountyProvSH as (
|
||||
--取河南、四川的数据(肿瘤+非肿瘤)
|
||||
SELECT YYYYMM,pack_cod,SUM(Counting_Unit) Counting_Unit,sum(Counting_Unit_LY) Counting_Unit_LY,SUM(Sales_Unit) Sales_Unit,sum(Sales_Unit_LY) Sales_Unit_LY,SUM(SalesValue_LC) SalesValue_LC,sum(SalesValue_LC_LY) SalesValue_LC_LY
|
||||
FROM CountyProv
|
||||
WHERE region_cod IN ('Sichuan','Henan')
|
||||
GROUP BY YYYYMM,pack_cod
|
||||
),BBU_Other as (
|
||||
--减去重复的四川河南部分的BBU County数据,即可得到BBU Others数据
|
||||
--BBU County = BBU_OtherProv+四川+河南(肿瘤+非肿瘤产品)
|
||||
SELECT A.YYYYMM,'BBU_OtherProv' region_cod,A.pack_cod,A.Counting_Unit-NVL(B.Counting_Unit,0) Counting_Unit,A.Counting_Unit_LY-NVL(B.Counting_Unit_LY,0) Counting_Unit_LY,
|
||||
A.Sales_Unit-NVL(B.Sales_Unit,0) Sales_Unit, A.Sales_Unit_LY-NVL(B.Sales_Unit_LY,0) Sales_Unit_LY,A.SalesValue_LC-NVL(B.SalesValue_LC,0) SalesValue_LC,A.SalesValue_LC_LY-NVL(B.SalesValue_LC_LY,0) SalesValue_LC_LY
|
||||
FROM tmp.tmp_ims_county_fact_sales_sum A
|
||||
LEFT JOIN CountyProvSH B ON A.YYYYMM = B.YYYYMM AND
|
||||
A.pack_cod = B.pack_cod
|
||||
WHERE A.region_cod = 'County'
|
||||
),CountyProvOthers_tmp as (
|
||||
--取山东、江苏、浙江、广东四省数据
|
||||
SELECT YYYYMM,pack_cod,SUM(Counting_Unit) Counting_Unit,sum(Counting_Unit_LY) Counting_Unit_LY,SUM(Sales_Unit) Sales_Unit,sum(Sales_Unit_LY) Sales_Unit_LY,SUM(SalesValue_LC) SalesValue_LC,sum(SalesValue_LC_LY) SalesValue_LC_LY
|
||||
FROM CountyProv
|
||||
WHERE region_cod IN ('Shandong','Jiangsu','Zhejiang','Guangdong')
|
||||
GROUP BY YYYYMM,pack_cod
|
||||
),CountyProvFJ as (
|
||||
--通过OBU东五的数据倒减四省数据,得到福建省的数据
|
||||
SELECT A.YYYYMM, 'OBU_OtherProv' region_cod,A.pack_cod,A.Counting_Unit-NVL(B.Counting_Unit,0) Counting_Unit,A.Counting_Unit_LY-NVL(B.Counting_Unit_LY,0) Counting_Unit_LY,
|
||||
A.Sales_Unit-NVL(B.Sales_Unit,0) Sales_Unit, A.Sales_Unit_LY-NVL(B.Sales_Unit_LY,0) Sales_Unit_LY,A.SalesValue_LC-NVL(B.SalesValue_LC,0) SalesValue_LC,A.SalesValue_LC_LY-NVL(B.SalesValue_LC_LY,0) SalesValue_LC_LY
|
||||
FROM ObuEast5 A
|
||||
LEFT JOIN CountyProvOthers_tmp B ON A.YYYYMM = B.YYYYMM AND A.pack_cod = B.pack_cod
|
||||
),Result_NonOthers as (
|
||||
--汇总省份+BBU other+obu otter
|
||||
SELECT YYYYMM,region_cod,pack_cod,SalesValue_LC,SalesValue_LC_LY,Counting_Unit,Counting_Unit_LY,Sales_Unit,Sales_Unit_LY
|
||||
FROM CountyProv
|
||||
UNION ALL
|
||||
SELECT YYYYMM,region_cod,pack_cod,SalesValue_LC,SalesValue_LC_LY,Counting_Unit,Counting_Unit_LY,Sales_Unit,Sales_Unit_LY
|
||||
FROM CountyProvFJ
|
||||
UNION ALL
|
||||
SELECT YYYYMM,region_cod,pack_cod,SalesValue_LC,SalesValue_LC_LY,Counting_Unit,Counting_Unit_LY,Sales_Unit,Sales_Unit_LY
|
||||
FROM BBU_Other
|
||||
),Result_NonOthersGroup AS (
|
||||
--用于全国产品数据倒减,得到other省份数据
|
||||
SELECT YYYYMM,pack_cod,SUM(Counting_Unit) Counting_Unit,sum(Counting_Unit_LY) Counting_Unit_LY,SUM(Sales_Unit) Sales_Unit,sum(Sales_Unit_LY) Sales_Unit_LY,SUM(SalesValue_LC) SalesValue_LC,sum(SalesValue_LC_LY) SalesValue_LC_LY
|
||||
FROM Result_NonOthers
|
||||
GROUP BY YYYYMM,pack_cod
|
||||
)
|
||||
SELECT YYYYMM,region_cod,pack_cod,SalesValue_LC,SalesValue_LC_LY,Counting_Unit,Counting_Unit_LY,Sales_Unit,Sales_Unit_LY
|
||||
FROM Result_NonOthers
|
||||
UNION ALL
|
||||
SELECT A.YYYYMM,'Others' region_cod,A.pack_cod,A.SalesValue_LC-NVL(B.SalesValue_LC,0) SalesValue_LC,A.SalesValue_LC_LY-NVL(B.SalesValue_LC_LY,0) SalesValue_LC_LY,A.Counting_Unit-NVL(B.Counting_Unit,0) Counting_Unit,A.Counting_Unit_LY-NVL(B.Counting_Unit_LY,0) Counting_Unit_LY,
|
||||
A.Sales_Unit-NVL(B.Sales_Unit,0) Sales_Unit, A.Sales_Unit_LY-NVL(B.Sales_Unit_LY,0) Sales_Unit_LY
|
||||
FROM (SELECT * from tmp.tmp_ims_county_fact_sales_sum WHERE region_cod = 'National') A
|
||||
LEFT JOIN Result_NonOthersGroup B ON A.YYYYMM = B.YYYYMM AND A.pack_cod = B.pack_cod
|
||||
24
county/03 dm_ims_td_county_geo.sql
Normal file
24
county/03 dm_ims_td_county_geo.sql
Normal file
@@ -0,0 +1,24 @@
|
||||
-- Databricks notebook source
|
||||
-----------------------------------------------创建county geo表-----------------------------------------------
|
||||
insert overwrite table dm.dm_ims_td_county_geo
|
||||
with geo as (
|
||||
select
|
||||
distinct
|
||||
REGION_COD
|
||||
from tmp.tmp_imscounty_Result
|
||||
)
|
||||
select distinct
|
||||
case when A.PROVINCE_CODE is not null then A.PROVINCE_CODE
|
||||
when A.PROVINCE_CODE is null and geo.REGION_COD = 'Others' then 'ROC'
|
||||
when A.PROVINCE_CODE is null and geo.REGION_COD = 'OBU_OtherProv' then 'OBUROC'
|
||||
when A.PROVINCE_CODE is null and geo.REGION_COD = 'BBU_OtherProv' then 'BBUROC'
|
||||
end AUDIT_COD,
|
||||
geo.REGION_COD,
|
||||
nvl(A.PROVINCE_C,geo.REGION_COD ) PROVINCE_C,
|
||||
nvl(A.PROVINCE_MAP,geo.REGION_COD ) PROVINCE_MAP,
|
||||
nvl(INITCAP(A.REGION_CENTER),geo.REGION_COD ) REGION_CENTER
|
||||
from geo
|
||||
left join (select * from dm.dm_ims_td_geo where PROVINCE_CODE is not null) A
|
||||
on geo.REGION_COD = A.PROVINCE
|
||||
|
||||
|
||||
36
county/04 dws_ext_county_tf_sales.sql
Normal file
36
county/04 dws_ext_county_tf_sales.sql
Normal file
@@ -0,0 +1,36 @@
|
||||
-- Databricks notebook source
|
||||
---------------------------------bbu county、obu county拆分需求代码示例之事实表字段开发---------------------------------
|
||||
insert overwrite table dws.dws_ext_county_tf_sales
|
||||
select
|
||||
distinct
|
||||
cast(cast(t1.YYYYMM as int) as string) as YYYYMM
|
||||
,concat(left(cast(t1.YYYYMM as int),4 ),'-',right(cast(t1.YYYYMM as int),2),'-01') as DAY_DATE
|
||||
,t1.pack_cod as PACK_COD
|
||||
,t1.region_cod as REGION_COD
|
||||
,geo.AUDIT_COD
|
||||
,'ALL' as RELATED_FLAG
|
||||
,'' as ORG_KEY
|
||||
,'IMS ALL Market' as MARKET
|
||||
, concat('IMS ALL Market','_',t1.pack_cod ) as MARKET_PACK_KEY
|
||||
,'' as MARKET_AUDIT_KEY
|
||||
,'' as SALES_VALUE
|
||||
,'' as SALES_VALUE_LY
|
||||
,'' as SALES_VALUE_L2Y
|
||||
,'' as SALES_UNIT
|
||||
,'' as SALES_UNIT_LY
|
||||
,'' as SALES_UNIT_L2Y
|
||||
,t1.Counting_Unit as CONUTING_UNIT
|
||||
,t1.Counting_Unit_LY as CONUTING_UNIT_LY
|
||||
,'' as CONUTING_UNIT_L2Y
|
||||
,t1.Counting_Unit as PDOT
|
||||
,'' as PDOT_LY
|
||||
,'' as PDOT_L2Y
|
||||
,t1.SalesValue_LC as SALES_VALUE_CAL
|
||||
,t1.SalesValue_LC_LY as SALES_VALUE_CAL_LY
|
||||
,t1.Sales_Unit as SALES_UNIT_CAL
|
||||
,t1.Sales_Unit_LY as SALES_UNIT_CAL_LY
|
||||
,from_utc_timestamp(current_timestamp,'UTC+8') as etl_insert_dt
|
||||
,from_utc_timestamp(current_timestamp,'UTC+8') as etl_update_dt
|
||||
from tmp.tmp_imscounty_Result t1
|
||||
left join dm.dm_ims_td_county_geo geo
|
||||
on t1.region_cod = geo.REGION_COD
|
||||
236
county/05 dm_ext_county_td_pack_property.sql
Normal file
236
county/05 dm_ext_county_td_pack_property.sql
Normal file
@@ -0,0 +1,236 @@
|
||||
-- Databricks notebook source
|
||||
-- county 自己的维度表 dm_ext_county_td_pack_property
|
||||
insert overwrite table dm.dm_ext_county_td_pack_property --------------------------------------------county事实表中与CHPA匹配到的维度信息--------------------------------------------
|
||||
with county_matched_value as (
|
||||
select
|
||||
concat(t2.MARKET,t1.PACK_COD) as MARKET_PACK_KEY,
|
||||
t1.PACK_COD,
|
||||
t1.PACK_DES,
|
||||
t1.STGH_DES,
|
||||
t1.PACK_LCH,
|
||||
t1.Family_Code,
|
||||
t1.Family_Name,
|
||||
t1.PROD_COD,
|
||||
t1.PROD_DES,
|
||||
t1.PROD_DES_C,
|
||||
t1.CMPS_COD,
|
||||
t1.CMPS_DES,
|
||||
t1.ATC1_COD,
|
||||
t1.ATC2_COD,
|
||||
t1.ATC3_COD,
|
||||
t1.ATC4_COD,
|
||||
t1.APP1_COD,
|
||||
t1.APP2_COD,
|
||||
t1.APP3_COD,
|
||||
t1.BIO_DESC,
|
||||
t1.GENE_ORIG_DESC,
|
||||
t1.ETH_OTC_DESC,
|
||||
t1.NRDL_DESC,
|
||||
t1.NRDL_Entry_Date,
|
||||
t1.EDL_DESC,
|
||||
t1.TCM_DESC,
|
||||
t1.PAED_DESC,
|
||||
t1.GQCE_DESC,
|
||||
t1.VBP_DESC,
|
||||
t1.MANU_COD,
|
||||
t1.MANU_DES,
|
||||
t1.MNFL_COD,
|
||||
t1.MNFL_DES,
|
||||
t1.CORP_COD,
|
||||
t1.CORP_DES,
|
||||
t1.CORP_DES_C,
|
||||
t1.BrandType,
|
||||
t2.MARKET,
|
||||
t2.KEY_COMPETITOR,
|
||||
t1.IS_AZ,
|
||||
t1.AZ_MAIN,
|
||||
null AZ_Related,
|
||||
t1.atc1_des,
|
||||
t1.atc1_des_c,
|
||||
t1.atc2_des,
|
||||
t1.atc2_des_c,
|
||||
t1.atc3_des,
|
||||
t1.atc3_des_c,
|
||||
t1.atc4_des,
|
||||
t1.atc4_des_c,
|
||||
t1.app1_des,
|
||||
t1.app1_des_c,
|
||||
t1.app2_des,
|
||||
t1.app2_des_c,
|
||||
t1.app3_des,
|
||||
t1.app3_des_c,
|
||||
t2.Class,
|
||||
t1.ETL_INSERT_DT,
|
||||
t1.ETL_UPDATE_DT
|
||||
from
|
||||
dm.dm_ims_td_pack_property t1
|
||||
left join DM.DM_TD_EXT_CHPA_MARKET_PACK_MAPPING t2 on t1.PACK_COD = t2.PACK_CODE
|
||||
--事实表中有yyyymm字段,故要去重,防止数据发散
|
||||
|
||||
inner join (
|
||||
select distinct
|
||||
PACK_COD
|
||||
from
|
||||
dws.dws_ext_county_tf_sales
|
||||
) t3 on t1.PACK_COD = t3.PACK_COD
|
||||
),
|
||||
-------------------------------county事实表中与CHPA没有匹配到的维度信息取county维度表里的维度信息-------------------------------
|
||||
--获取county表与CHPA没有匹配到的MARKET_PACK_KEY
|
||||
county_notmatched_key as (select
|
||||
t3.PACK_COD
|
||||
from
|
||||
(
|
||||
select distinct
|
||||
PACK_COD
|
||||
from
|
||||
dws.dws_ext_county_tf_sales
|
||||
) t3
|
||||
where
|
||||
not exists (
|
||||
select
|
||||
1
|
||||
from
|
||||
dm.dm_ims_td_pack_property t4
|
||||
where
|
||||
t3.PACK_COD = t4.PACK_COD
|
||||
)
|
||||
),
|
||||
county_notmatched_value as (--获取county维度表里的维度信息
|
||||
select
|
||||
distinct
|
||||
t6.MARKET_PACK_KEY,
|
||||
t6.PACK_COD,
|
||||
t6.PACK_DES,
|
||||
t6.STGH_DES,
|
||||
t6.PACK_LCH,
|
||||
t6.Family_Code,
|
||||
t6.Family_Name,
|
||||
t6.PROD_COD,
|
||||
t6.PROD_DES,
|
||||
t6.PROD_DES_C,
|
||||
t6.CMPS_COD,
|
||||
t6.CMPS_DES,
|
||||
t6.ATC1_COD,
|
||||
t6.ATC2_COD,
|
||||
t6.ATC3_COD,
|
||||
t6.ATC4_COD,
|
||||
t6.APP1_COD,
|
||||
t6.APP2_COD,
|
||||
t6.APP3_COD,
|
||||
t6.BIO_DESC,
|
||||
t6.GENE_ORIG_DESC,
|
||||
t6.ETH_OTC_DESC,
|
||||
t6.NRDL_DESC,
|
||||
t6.NRDL_Entry_Date,
|
||||
t6.EDL_DESC,
|
||||
t6.TCM_DESC,
|
||||
t6.PAED_DESC,
|
||||
t6.GQCE_DESC,
|
||||
t6.VBP_DESC,
|
||||
t6.MANU_COD,
|
||||
t6.MANU_DES,
|
||||
t6.MNFL_COD,
|
||||
t6.MNFL_DES,
|
||||
t6.CORP_COD,
|
||||
t6.CORP_DES,
|
||||
t6.CORP_DES_C,
|
||||
t6.BrandType,
|
||||
t6.MARKET,
|
||||
t6.KEY_COMPETITOR,
|
||||
t6.IS_AZ,
|
||||
t6.AZ_MAIN,
|
||||
t6.AZ_Related,
|
||||
t6.atc1_des,
|
||||
t6.atc1_des_c,
|
||||
t6.atc2_des,
|
||||
t6.atc2_des_c,
|
||||
t6.atc3_des,
|
||||
t6.atc3_des_c,
|
||||
t6.atc4_des,
|
||||
t6.atc4_des_c,
|
||||
t6.app1_des,
|
||||
t6.app1_des_c,
|
||||
t6.app2_des,
|
||||
t6.app2_des_c,
|
||||
t6.app3_des,
|
||||
t6.app3_des_c,
|
||||
t6.Class,
|
||||
from_utc_timestamp(current_timestamp, 'UTC+8') ETL_INSERT_DT,
|
||||
from_utc_timestamp(current_timestamp, 'UTC+8') ETL_UPDATE_DT
|
||||
from
|
||||
county_notmatched_key t5
|
||||
left join dm.dm_ims_county_td_pack_property t6 --此表有重复数据(etl时间不同)
|
||||
on t5.PACK_COD = t6.PACK_COD
|
||||
),
|
||||
county_total_pack_property as (select
|
||||
*
|
||||
from
|
||||
county_matched_value
|
||||
union
|
||||
select
|
||||
*
|
||||
from
|
||||
county_notmatched_value
|
||||
)
|
||||
select
|
||||
MARKET_PACK_KEY,
|
||||
PACK_COD,
|
||||
PACK_DES,
|
||||
STGH_DES,
|
||||
PACK_LCH,
|
||||
Family_Code,
|
||||
Family_Name,
|
||||
PROD_COD,
|
||||
PROD_DES,
|
||||
PROD_DES_C,
|
||||
CMPS_COD,
|
||||
CMPS_DES,
|
||||
ATC1_COD,
|
||||
ATC2_COD,
|
||||
ATC3_COD,
|
||||
ATC4_COD,
|
||||
APP1_COD,
|
||||
APP2_COD,
|
||||
APP3_COD,
|
||||
BIO_DESC,
|
||||
GENE_ORIG_DESC,
|
||||
ETH_OTC_DESC,
|
||||
NRDL_DESC,
|
||||
NRDL_Entry_Date,
|
||||
EDL_DESC,
|
||||
TCM_DESC,
|
||||
PAED_DESC,
|
||||
GQCE_DESC,
|
||||
VBP_DESC,
|
||||
MANU_COD,
|
||||
MANU_DES,
|
||||
MNFL_COD,
|
||||
MNFL_DES,
|
||||
CORP_COD,
|
||||
CORP_DES,
|
||||
CORP_DES_C,
|
||||
BrandType,
|
||||
MARKET,
|
||||
upper(NVL(KEY_COMPETITOR, 'Others')) as KEY_COMPETITOR,
|
||||
IS_AZ,
|
||||
AZ_MAIN,
|
||||
AZ_Related,
|
||||
atc1_des,
|
||||
atc1_des_c,
|
||||
atc2_des,
|
||||
atc2_des_c,
|
||||
atc3_des,
|
||||
atc3_des_c,
|
||||
atc4_des,
|
||||
atc4_des_c,
|
||||
app1_des,
|
||||
app1_des_c,
|
||||
app2_des,
|
||||
app2_des_c,
|
||||
app3_des,
|
||||
app3_des_c,
|
||||
Class,
|
||||
ETL_INSERT_DT,
|
||||
ETL_UPDATE_DT
|
||||
from
|
||||
county_total_pack_property
|
||||
106
county/06 dm_td_county_pack_region.sql
Normal file
106
county/06 dm_td_county_pack_region.sql
Normal file
@@ -0,0 +1,106 @@
|
||||
-- Databricks notebook source
|
||||
-- --OBU COUNTY 改为 OBU EAST5、OBU_BU_COUNTY 改为 OBU NON EAST5
|
||||
-- drop table if exists dm.dm_td_county_pack_region;
|
||||
-- create table if not exists dm.dm_td_county_pack_region
|
||||
-- using delta
|
||||
-- as
|
||||
-- with tmp as (
|
||||
-- select
|
||||
-- t1.pack_cod,
|
||||
-- t1.region_cod,
|
||||
-- t2.ATC1_COD,
|
||||
-- t2.ATC2_COD
|
||||
-- from (select distinct PACK_COD,REGION_COD from dws.dws_ext_county_tf_sales) t1
|
||||
-- left join (select distinct PACK_COD,ATC1_COD,ATC2_COD from dm.dm_ext_county_td_pack_property) t2
|
||||
-- on t1.PACK_COD = t2.pack_cod
|
||||
-- ),obu_county as (
|
||||
-- select pack_cod,region_cod,'OBU East5' region_type from tmp where region_cod in ('Shandong','Jiangsu','Zhejiang','Guangdong','OBU_OtherProv') and (ATC2_COD = 'L01' OR ATC2_COD = 'L02')--ATC1_COD = 'L'
|
||||
-- ),bbu_county as (
|
||||
-- select pack_cod,region_cod,'BBU COUNTY' region_type from tmp where region_cod in('Henan','Sichuan','BBU_OtherProv')
|
||||
-- and ATC1_COD <> 'L'
|
||||
-- ),bbu_bu_county as (
|
||||
-- select pack_cod,region_cod,'BBU_BU_COUNTY' region_type from tmp where region_cod in ('Guangdong','Zhejiang','Shandong','Jiangsu','Others') and ATC1_COD <> 'L'
|
||||
-- ),obu_bu_county as (
|
||||
-- select pack_cod,region_cod,'OBU NonEast5' region_type from tmp where region_cod in ('Henan','Sichuan','Others','BBU_OtherProv') and (ATC2_COD = 'L01' OR ATC2_COD = 'L02')
|
||||
-- ),county_all as (
|
||||
-- select * from obu_county
|
||||
-- union
|
||||
-- select * from bbu_county
|
||||
-- union
|
||||
-- select * from bbu_bu_county
|
||||
-- union
|
||||
-- select * from obu_bu_county
|
||||
-- )
|
||||
-- select
|
||||
-- pack_cod,
|
||||
-- region_cod,
|
||||
-- region_type
|
||||
-- from county_all order by region_type
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
----------------------------------------------------------------------------------
|
||||
--修改时间:20240913
|
||||
--修改人:FanXujia
|
||||
--修改内容:
|
||||
--划分BBU_COUNTY、BBU_BU_COUNTY两个区域时,去掉ATC1_COD <> 'L'的限制
|
||||
--这个需求使得BBU和OBU会有一部分重叠的区域
|
||||
--因此对区域划分逻辑进行调整
|
||||
-----几个region_cod的含义
|
||||
--OBU_OtherProv:福建的ATC2=L01、L02
|
||||
--BBU_OtherProv:BBU_COUNTY的18个省减去四川、河南
|
||||
--Others:其他省份,这里面包含了福建的ATC2<>L01、L02的数
|
||||
----------------------------------------------------------------------------------
|
||||
insert overwrite table dm.dm_td_county_pack_region
|
||||
with tmp as (
|
||||
select
|
||||
t1.pack_cod,
|
||||
t1.region_cod,
|
||||
t2.ATC1_COD,
|
||||
t2.ATC2_COD
|
||||
from (select distinct PACK_COD,REGION_COD from dws.dws_ext_county_tf_sales) t1
|
||||
left join (select distinct PACK_COD,ATC1_COD,ATC2_COD from dm.dm_ext_county_td_pack_property) t2
|
||||
on t1.PACK_COD = t2.pack_cod
|
||||
)
|
||||
--单独bbu_bu_county
|
||||
,bbu_bu_county as (
|
||||
select pack_cod,region_cod,'BBU_BU_COUNTY' region_type from tmp
|
||||
where region_cod in ('Guangdong','Jiangsu','Others','Shandong','Zhejiang') and ATC2_COD NOT IN ('L01','L02')
|
||||
)
|
||||
--bbu_bu_county与OBU East5共有
|
||||
,bbu_bu_county_obu_East5 as (
|
||||
select pack_cod,region_cod,'bbu_bu_county_obu_East5' region_type from tmp
|
||||
where region_cod in ('Guangdong','Jiangsu','Shandong','Zhejiang','OBU_OtherProv') and ATC2_COD in ('L01','L02')
|
||||
)
|
||||
--bbu_bu_county与OBU NonEast5共有
|
||||
,bbu_bu_county_obu_nonEast5 as (
|
||||
select pack_cod,region_cod,'bbu_bu_county_obu_nonEast5' region_type from tmp
|
||||
where region_cod in ('Others') and ATC2_COD in ('L01','L02')
|
||||
)
|
||||
--bbu_county与OBU NonEast5共有
|
||||
,bbu_county_obu_nonEast5 as (
|
||||
select pack_cod,region_cod,'bbu_county_obu_nonEast5' region_type from tmp
|
||||
where region_cod in ('BBU_OtherProv','Henan','Sichuan') and ATC2_COD in ('L01','L02')
|
||||
)
|
||||
--单独bbu_county
|
||||
,bbu_county as (
|
||||
select pack_cod,region_cod,'BBU County' region_type from tmp
|
||||
where region_cod in('BBU_OtherProv','Henan','Sichuan') and ATC2_COD NOT IN ('L01','L02')
|
||||
)
|
||||
--全部
|
||||
,county_all as (
|
||||
select * from bbu_bu_county
|
||||
union
|
||||
select * from bbu_bu_county_obu_East5
|
||||
union
|
||||
select * from bbu_bu_county_obu_nonEast5
|
||||
union
|
||||
select * from bbu_county_obu_nonEast5
|
||||
union
|
||||
select * from bbu_county
|
||||
)
|
||||
select
|
||||
pack_cod,
|
||||
region_cod,
|
||||
region_type
|
||||
from county_all order by region_type
|
||||
37
county/07 dm_ext_county_tf_sales_region.sql
Normal file
37
county/07 dm_ext_county_tf_sales_region.sql
Normal file
@@ -0,0 +1,37 @@
|
||||
-- Databricks notebook source
|
||||
--county事实表加上region_type字段
|
||||
insert overwrite table dm.dm_ext_county_tf_sales_region
|
||||
select
|
||||
A.YYYYMM,
|
||||
A.DAY_DATE,
|
||||
A.PACK_COD,
|
||||
A.REGION_COD,
|
||||
A.AUDIT_COD,
|
||||
A.RELATED_FLAG,
|
||||
A.ORG_KEY,
|
||||
A.MARKET,
|
||||
A.MARKET_PACK_KEY,
|
||||
A.MARKET_AUDIT_KEY,
|
||||
A.SALES_VALUE,
|
||||
A.SALES_VALUE_LY,
|
||||
A.SALES_VALUE_L2Y,
|
||||
A.SALES_UNIT,
|
||||
A.SALES_UNIT_LY,
|
||||
A.SALES_UNIT_L2Y,
|
||||
A.CONUTING_UNIT,
|
||||
A.CONUTING_UNIT_LY,
|
||||
A.CONUTING_UNIT_L2Y,
|
||||
A.PDOT,
|
||||
A.PDOT_LY,
|
||||
A.PDOT_L2Y,
|
||||
A.SALES_VALUE_CAL,
|
||||
A.SALES_VALUE_CAL_LY,
|
||||
A.SALES_UNIT_CAL,
|
||||
A.SALES_UNIT_CAL_LY,
|
||||
A.etl_insert_dt,
|
||||
A.etl_update_dt,
|
||||
B.region_type as REGION_TYPE
|
||||
from dws.dws_ext_county_tf_sales A
|
||||
left join dm.dm_td_county_pack_region B
|
||||
on A.PACK_COD = B.pack_cod and A.REGION_COD = B.region_cod
|
||||
order by region_type
|
||||
146
county/08 DM_TD_EXT_COUNTY_PACK_PROPERTY.sql
Normal file
146
county/08 DM_TD_EXT_COUNTY_PACK_PROPERTY.sql
Normal file
@@ -0,0 +1,146 @@
|
||||
-- Databricks notebook source
|
||||
-- CREATE OR REPLACE TABLE DM.DM_TD_EXT_COUNTY_PACK_PROPERTY
|
||||
-- (
|
||||
-- MARKET_PACK_KEY STRING,
|
||||
-- PACK_CODE STRING,
|
||||
-- PACK_DESC STRING,
|
||||
-- STGH_DESC STRING,
|
||||
-- PACK_LCH STRING,
|
||||
-- FAMILY_CODE STRING,
|
||||
-- FAMILY_NAME STRING,
|
||||
-- PROD_CODE STRING,
|
||||
-- PROD_DESC STRING,
|
||||
-- PROD_DESC_C STRING,
|
||||
-- CMPS_CODE STRING,
|
||||
-- CMPS_DESC STRING,
|
||||
-- CMPS_DESC_C STRING,
|
||||
-- ATC1_CODE STRING,
|
||||
-- ATC2_CODE STRING,
|
||||
-- ATC3_CODE STRING,
|
||||
-- ATC4_CODE STRING,
|
||||
-- APP1_CODE STRING,
|
||||
-- APP2_CODE STRING,
|
||||
-- APP3_CODE STRING,
|
||||
-- BIO_DESC STRING,
|
||||
-- GENE_ORIG_DESC STRING,
|
||||
-- ETH_OTC_DESC STRING,
|
||||
-- NRDL_DESC STRING,
|
||||
-- NRDL_ENTRY_DATE STRING,
|
||||
-- EDL_DESC STRING,
|
||||
-- TCM_DESC STRING,
|
||||
-- PAED_DESC STRING,
|
||||
-- GQCE_DESC STRING,
|
||||
-- VBP_DESC_V STRING,
|
||||
-- VBP_DESC STRING,
|
||||
-- MANU_CODE STRING,
|
||||
-- MANU_DESC STRING,
|
||||
-- MANU_DESC_C STRING,
|
||||
-- MNFL_CODE STRING,
|
||||
-- MNFL_DESC STRING,
|
||||
-- CORP_CODE STRING,
|
||||
-- CORP_DESC STRING,
|
||||
-- CORP_DESC_C STRING,
|
||||
-- BRANDTYPE STRING,
|
||||
-- MARKET STRING,
|
||||
-- KEY_COMPETITOR STRING,
|
||||
-- IS_AZ STRING,
|
||||
-- AZ_MAIN STRING,
|
||||
-- AZ_RELATED STRING,
|
||||
-- ATC1_DESC STRING,
|
||||
-- ATC1_DESC_C STRING,
|
||||
-- ATC2_DESC STRING,
|
||||
-- ATC2_DESC_C STRING,
|
||||
-- ATC3_DESC STRING,
|
||||
-- ATC3_DESC_C STRING,
|
||||
-- ATC4_DESC STRING,
|
||||
-- ATC4_DESC_C STRING,
|
||||
-- APP1_DESC STRING,
|
||||
-- APP1_DESC_C STRING,
|
||||
-- APP2_DESC STRING,
|
||||
-- APP2_DESC_C STRING,
|
||||
-- APP3_DESC STRING,
|
||||
-- APP3_DESC_C STRING,
|
||||
-- CLASS STRING,
|
||||
-- MARKET_RATIO STRING,
|
||||
-- COUNTINGUNIT STRING,
|
||||
-- VBP_BRAND STRING,
|
||||
-- REPLENISH_FALG STRING,
|
||||
-- ETL_INSERT_DT TIMESTAMP,
|
||||
-- ETL_UPDATE_DT TIMESTAMP
|
||||
-- )
|
||||
-- USING delta
|
||||
-- -- LOCATION 'abfss://master@azcdatalakeprd.dfs.core.chinacloudapi.cn/DM/dm_td_ext_county_pack_property';
|
||||
-- -- 上面是生产环境location,下面是测试环境location
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_county_pack_property';
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
INSERT OVERWRITE TABLE DM.DM_TD_EXT_COUNTY_PACK_PROPERTY
|
||||
SELECT
|
||||
MARKET_PACK_KEY,
|
||||
PACK_COD AS PACK_CODE,
|
||||
PACK_DES AS PACK_DESC,
|
||||
STGH_DES AS STGH_DESC,
|
||||
PACK_LCH,
|
||||
FAMILY_CODE,
|
||||
FAMILY_NAME,
|
||||
PROD_COD AS PROD_CODE,
|
||||
PROD_DES AS PROD_DESC,
|
||||
PROD_DES_C AS PROD_DESC_C,
|
||||
CMPS_COD AS CMPS_CODE,
|
||||
CMPS_DES AS CMPS_DESC,
|
||||
NULL AS CMPS_DESC_C,
|
||||
ATC1_COD AS ATC1_CODE,
|
||||
ATC2_COD AS ATC2_CODE,
|
||||
ATC3_COD AS ATC3_CODE,
|
||||
ATC4_COD AS ATC4_CODE,
|
||||
APP1_COD AS APP1_CODE,
|
||||
APP2_COD AS APP2_CODE,
|
||||
APP3_COD AS APP3_CODE,
|
||||
BIO_DESC,
|
||||
GENE_ORIG_DESC,
|
||||
ETH_OTC_DESC,
|
||||
NRDL_DESC,
|
||||
NRDL_ENTRY_DATE,
|
||||
EDL_DESC,
|
||||
TCM_DESC,
|
||||
PAED_DESC,
|
||||
GQCE_DESC,
|
||||
NULL AS VBP_DESC_V,
|
||||
VBP_DESC,
|
||||
MANU_COD AS MANU_CODE,
|
||||
MANU_DES AS MANU_DESC,
|
||||
NULL AS MANU_DESC_C,
|
||||
MNFL_COD AS MNFL_CODE,
|
||||
MNFL_DES AS MNFL_DESC,
|
||||
CORP_COD AS CORP_CODE,
|
||||
CORP_DES AS CORP_DESC,
|
||||
CORP_DES_C AS CORP_DESC_C,
|
||||
BRANDTYPE,
|
||||
MARKET,
|
||||
KEY_COMPETITOR,
|
||||
IS_AZ,
|
||||
AZ_MAIN,
|
||||
AZ_RELATED,
|
||||
ATC1_DES AS ATC1_DESC,
|
||||
ATC1_DES_C AS ATC1_DESC_C,
|
||||
ATC2_DES AS ATC2_DESC,
|
||||
ATC2_DES_C AS ATC2_DESC_C,
|
||||
ATC3_DES AS ATC3_DESC,
|
||||
ATC3_DES_C AS ATC3_DESC_C,
|
||||
ATC4_DES AS ATC4_DESC,
|
||||
ATC4_DES_C AS ATC4_DESC_C,
|
||||
APP1_DES AS APP1_DESC,
|
||||
APP1_DES_C AS APP1_DESC_C,
|
||||
APP2_DES AS APP2_DESC,
|
||||
APP2_DES_C AS APP2_DESC_C,
|
||||
APP3_DES AS APP3_DESC,
|
||||
APP3_DES_C AS APP3_DESC_C,
|
||||
CLASS,
|
||||
NULL AS MARKET_RATIO,
|
||||
NULL AS COUNTINGUNIT,
|
||||
NULL AS VBP_BRAND,
|
||||
NULL AS REPLENISH_FALG,
|
||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') AS ETL_INSERT_DT,
|
||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') AS ETL_UPDATE_DT
|
||||
FROM DM.DM_EXT_COUNTY_TD_PACK_PROPERTY;
|
||||
128
county/09 DM_TF_EXT_COUNTY_SALES.sql
Normal file
128
county/09 DM_TF_EXT_COUNTY_SALES.sql
Normal file
@@ -0,0 +1,128 @@
|
||||
-- Databricks notebook source
|
||||
-- CREATE OR REPLACE TABLE DM.DM_TF_EXT_COUNTY_SALES (
|
||||
-- YYYYMM STRING,
|
||||
-- PACK_CODE STRING,
|
||||
-- CORP_CODE STRING,
|
||||
-- AUDIT_CODE STRING,
|
||||
-- PLATFORM_TYPE STRING,
|
||||
-- STORE_NAME STRING,
|
||||
-- STORE_TYPE STRING,
|
||||
-- REGION_TYPE STRING,
|
||||
-- PACK_FLAG INT,
|
||||
-- PROD_FLAG INT,
|
||||
-- DTP_FLAG INT,
|
||||
-- SALES_UNIT_CAL DECIMAL(38,10),
|
||||
-- SALES_UNIT_CAL_LY DECIMAL(38,10),
|
||||
-- SALES_VALUE_CAL DECIMAL(38,10),
|
||||
-- SALES_VALUE_CAL_LY DECIMAL(38,10),
|
||||
-- CONUTING_UNIT DECIMAL(38,10),
|
||||
-- CONUTING_UNIT_LY DECIMAL(38,10),
|
||||
-- DATA_SOURCE STRING,
|
||||
-- INST_CODE STRING COMMENT '内部机构编码',
|
||||
-- CMPS_FLAG STRING COMMENT '分子式标签',
|
||||
-- DEPT_NAME STRING COMMENT '科室名称',
|
||||
-- PRESCRIPTION DECIMAL(38,10) COMMENT '处方张数',
|
||||
-- PRESCRIPTION_LY DECIMAL(38,10) COMMENT '去年同期处方张数',
|
||||
-- NEW_CODE STRING COMMENT '主数据关联CODE',
|
||||
-- AREA STRING COMMENT '城市',
|
||||
-- H_LEVEL STRING COMMENT '医院类型',
|
||||
-- REIMBURSE STRING COMMENT '报销情况',
|
||||
-- REIMBURSE_TYPE STRING COMMENT '报销类型',
|
||||
-- PRESCRIPTION_SOURCE STRING COMMENT '处方来源',
|
||||
-- ETL_INSERT_DT TIMESTAMP,
|
||||
-- ETL_UPDATE_DT TIMESTAMP)
|
||||
-- USING delta
|
||||
-- -- LOCATION 'abfss://master@azcdatalakeprd.dfs.core.chinacloudapi.cn/DM/dm_tf_ext_county_sales';
|
||||
-- -- 上面是生产环境location,下面是测试环境location
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_tf_ext_county_sales';
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
INSERT OVERWRITE TABLE DM.DM_TF_EXT_COUNTY_SALES (
|
||||
YYYYMM,
|
||||
PACK_CODE,
|
||||
AUDIT_CODE,
|
||||
DATA_SOURCE,
|
||||
SALES_UNIT_CAL,
|
||||
SALES_UNIT_CAL_LY,
|
||||
SALES_VALUE_CAL,
|
||||
SALES_VALUE_CAL_LY,
|
||||
CONUTING_UNIT,
|
||||
CONUTING_UNIT_LY,
|
||||
PRESCRIPTION,
|
||||
PRESCRIPTION_LY,
|
||||
PACK_FLAG,
|
||||
PROD_FLAG,
|
||||
DTP_FLAG,
|
||||
CMPS_FLAG,
|
||||
PLATFORM_TYPE,
|
||||
STORE_NAME,
|
||||
STORE_TYPE,
|
||||
REGION_TYPE,
|
||||
INST_CODE,
|
||||
DEPT_NAME,
|
||||
NEW_CODE,
|
||||
AREA,
|
||||
H_LEVEL,
|
||||
REIMBURSE,
|
||||
REIMBURSE_TYPE,
|
||||
PRESCRIPTION_SOURCE,
|
||||
CORP_CODE,
|
||||
ETL_INSERT_DT,
|
||||
ETL_UPDATE_DT
|
||||
)
|
||||
SELECT
|
||||
A.YYYYMM,
|
||||
A.PACK_COD AS PACK_CODE,
|
||||
A.AUDIT_COD AS AUDIT_CODE,
|
||||
'IQVIA-COUNTY(Quarterly)' DATA_SOURCE,
|
||||
-------------------------------------
|
||||
SUM(SALES_UNIT_CAL) SALES_UNIT_CAL,
|
||||
SUM(SALES_UNIT_CAL_LY) as SALES_UNIT_CAL_LY,
|
||||
SUM(SALES_VALUE_CAL) SALES_VALUE_CAL,
|
||||
SUM(SALES_VALUE_CAL_LY) as SALES_VALUE_CAL_LY,
|
||||
SUM(CONUTING_UNIT) CONUTING_UNIT,
|
||||
SUM(CONUTING_UNIT_LY) as CONUTING_UNIT_LY,
|
||||
null as prescription,
|
||||
null as prescription_ly,
|
||||
-------------------------------------
|
||||
--Retail藏数逻辑标签------------------
|
||||
1 PACK_FLAG,
|
||||
1 PROD_FLAG,
|
||||
0 DTP_FLAG,
|
||||
null as cmps_flag,
|
||||
-------------------------------------
|
||||
--EC数据标签--------------------------
|
||||
'' PLATFORM_TYPE,
|
||||
'' STORE_NAME,
|
||||
'' STORE_TYPE,
|
||||
-------------------------------------
|
||||
--COUNTY数据标签----------------------
|
||||
NVL(A.REGION_TYPE, '') REGION_TYPE,
|
||||
-------------------------------------
|
||||
--AIA数据标签-------------------------
|
||||
null inst_code, --可以移除,报告没有使用
|
||||
-------------------------------------
|
||||
--XIE HE 数据标签---------------------
|
||||
'' as dept_name,
|
||||
'' as new_code,
|
||||
'' as area,
|
||||
'' as h_level,
|
||||
'' as reimburse,
|
||||
'' as reimburse_type,
|
||||
'' as prescription_source,
|
||||
-------------------------------------
|
||||
'' as CORP_CODE, --可以移除,报告没有使用
|
||||
-------------------------------------
|
||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(), 'UTC+8') AS ETL_INSERT_DT,
|
||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(), 'UTC+8') AS ETL_UPDATE_DT
|
||||
FROM
|
||||
DM.dm_ext_county_tf_sales_region A
|
||||
where
|
||||
A.YYYYMM >= '202001'
|
||||
AND A.MARKET = 'IMS ALL Market'
|
||||
GROUP BY
|
||||
A.YYYYMM,
|
||||
A.PACK_COD,
|
||||
A.AUDIT_COD,
|
||||
A.REGION_TYPE
|
||||
208
county/10 DM_TD_EXT_COUNTY_PACK2MARKET.sql
Normal file
208
county/10 DM_TD_EXT_COUNTY_PACK2MARKET.sql
Normal file
@@ -0,0 +1,208 @@
|
||||
-- Databricks notebook source
|
||||
-- CREATE OR REPLACE TABLE DM.DM_TD_EXT_COUNTY_PACK2MARKET (
|
||||
-- MARKET STRING,
|
||||
-- PACK_CODE STRING,
|
||||
-- PACK_DESC STRING,
|
||||
-- STGH_DESC STRING,
|
||||
-- PACK_LCH STRING,
|
||||
-- PROD_CODE STRING,
|
||||
-- CMPS_CODE STRING,
|
||||
-- CMPS_DESC STRING,
|
||||
-- ATC1_CODE STRING,
|
||||
-- ATC2_CODE STRING,
|
||||
-- ATC3_CODE STRING,
|
||||
-- ATC4_CODE STRING,
|
||||
-- APP1_CODE STRING,
|
||||
-- APP2_CODE STRING,
|
||||
-- APP3_CODE STRING,
|
||||
-- BIO_DESC STRING,
|
||||
-- GENE_ORIG_DESC STRING,
|
||||
-- ETH_OTC_DESC STRING,
|
||||
-- NRDL_DESC STRING,
|
||||
-- NRDL_ENTRY_DATE STRING,
|
||||
-- EDL_DESC STRING,
|
||||
-- TCM_DESC STRING,
|
||||
-- PAED_DESC STRING,
|
||||
-- GQCE_DESC STRING,
|
||||
-- VBP_DESC STRING,
|
||||
-- MANU_CODE STRING,
|
||||
-- MANU_DESC STRING,
|
||||
-- MNFL_CODE STRING,
|
||||
-- MNFL_DESC STRING,
|
||||
-- CORP_CODE STRING,
|
||||
-- CORP_DESC STRING,
|
||||
-- BRANDTYPE STRING,
|
||||
-- BU STRING,
|
||||
-- STARTTIME STRING,
|
||||
-- ENDTIME STRING,
|
||||
-- MARKET_RATIO STRING,
|
||||
-- ETL_INSERT_DT TIMESTAMP,
|
||||
-- ETL_UPDATE_DT TIMESTAMP)
|
||||
-- USING delta
|
||||
-- -- LOCATION 'abfss://master@azcdatalakeprd.dfs.core.chinacloudapi.cn/DM/dm_td_ext_county_pack2market';
|
||||
-- -- 上面是生产环境location,下面是测试环境location
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_county_pack2market';
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
-- 使用 EXCEPT(集合差操作)简化逻辑
|
||||
INSERT OVERWRITE TABLE DM.DM_TD_EXT_COUNTY_PACK2MARKET
|
||||
-- 包含规则
|
||||
SELECT DISTINCT
|
||||
T2.MARKET,
|
||||
T1.PACK_CODE,
|
||||
T1.PACK_DESC,
|
||||
T1.STGH_DESC,
|
||||
T1.PACK_LCH,
|
||||
T1.PROD_CODE,
|
||||
T1.CMPS_CODE,
|
||||
T1.CMPS_DESC,
|
||||
T1.ATC1_CODE,
|
||||
T1.ATC2_CODE,
|
||||
T1.ATC3_CODE,
|
||||
T1.ATC4_CODE,
|
||||
T1.APP1_CODE,
|
||||
T1.APP2_CODE,
|
||||
T1.APP3_CODE,
|
||||
T1.BIO_DESC,
|
||||
T1.GENE_ORIG_DESC AS GENE_ORIG,
|
||||
T1.ETH_OTC_DESC AS ETH_OTC_D,
|
||||
T1.NRDL_DESC,
|
||||
T1.NRDL_ENTRY_DATE AS NRDL_ENTR,
|
||||
T1.EDL_DESC,
|
||||
T1.TCM_DESC,
|
||||
T1.PAED_DESC,
|
||||
T1.GQCE_DESC,
|
||||
T1.VBP_DESC,
|
||||
T1.MANU_CODE,
|
||||
T1.MANU_DESC,
|
||||
T1.MNFL_CODE,
|
||||
T1.MNFL_DESC,
|
||||
T1.CORP_CODE,
|
||||
T1.CORP_DESC,
|
||||
T1.BRANDTYPE,
|
||||
T2.BU,
|
||||
T2.STARTTIME,
|
||||
T2.ENDTIME,
|
||||
COALESCE(T2.EXTEND_MARKET_RATIO, '1') AS MARKET_RATIO,
|
||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') AS ETL_INSERT_DT,
|
||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') AS ETL_UPDATE_DT
|
||||
FROM DM.DM_TD_EXT_COUNTY_PACK_PROPERTY AS T1
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
MARKET,
|
||||
BU,
|
||||
STARTTIME,
|
||||
ENDTIME,
|
||||
EXTEND_MARKET_RATIO,
|
||||
ATC1_CODE,
|
||||
ATC2_CODE,
|
||||
ATC3_CODE,
|
||||
ATC4_CODE,
|
||||
NFC1_CODE,
|
||||
NFC2_CODE,
|
||||
NFC3_CODE,
|
||||
CORPORATION_CODE,
|
||||
MANUFACTURER_CODE,
|
||||
PRODUCT_CODE,
|
||||
PACK_CODE,
|
||||
STRENGTH,
|
||||
MOLECULE_CODE
|
||||
FROM DWD.DWD_GND_IMS_TBLMARKET_BYMONTH
|
||||
WHERE EXTEND_MARKET IS NULL AND (NOT_IN_FLAG IS NULL OR NOT_IN_FLAG = '1')
|
||||
) AS T2
|
||||
ON (T2.ATC1_CODE IS NULL OR T1.ATC1_CODE = T2.ATC1_CODE)
|
||||
AND (T2.ATC2_CODE IS NULL OR T1.ATC2_CODE = T2.ATC2_CODE)
|
||||
AND (T2.ATC3_CODE IS NULL OR T1.ATC3_CODE = T2.ATC3_CODE)
|
||||
AND (T2.ATC4_CODE IS NULL OR T1.ATC4_CODE = T2.ATC4_CODE)
|
||||
AND (T2.NFC1_CODE IS NULL OR T1.APP1_CODE = T2.NFC1_CODE)
|
||||
AND (T2.NFC2_CODE IS NULL OR T1.APP2_CODE = T2.NFC2_CODE)
|
||||
AND (T2.NFC3_CODE IS NULL OR T1.APP3_CODE = T2.NFC3_CODE)
|
||||
AND (T2.CORPORATION_CODE IS NULL OR T1.CORP_CODE = T2.CORPORATION_CODE)
|
||||
AND (T2.MANUFACTURER_CODE IS NULL OR T1.MANU_CODE = T2.MANUFACTURER_CODE)
|
||||
AND (T2.PRODUCT_CODE IS NULL OR T1.PROD_CODE = T2.PRODUCT_CODE)
|
||||
AND (T2.PACK_CODE IS NULL OR T1.PACK_CODE = T2.PACK_CODE)
|
||||
AND (T2.STRENGTH IS NULL OR T1.STGH_DESC = T2.STRENGTH)
|
||||
AND (T2.MOLECULE_CODE IS NULL OR T1.CMPS_CODE = T2.MOLECULE_CODE)
|
||||
WHERE T2.MARKET IS NOT NULL
|
||||
|
||||
EXCEPT
|
||||
|
||||
-- 排除规则
|
||||
SELECT DISTINCT
|
||||
T2.MARKET,
|
||||
T1.PACK_CODE,
|
||||
T1.PACK_DESC,
|
||||
T1.STGH_DESC,
|
||||
T1.PACK_LCH,
|
||||
T1.PROD_CODE,
|
||||
T1.CMPS_CODE,
|
||||
T1.CMPS_DESC,
|
||||
T1.ATC1_CODE,
|
||||
T1.ATC2_CODE,
|
||||
T1.ATC3_CODE,
|
||||
T1.ATC4_CODE,
|
||||
T1.APP1_CODE,
|
||||
T1.APP2_CODE,
|
||||
T1.APP3_CODE,
|
||||
T1.BIO_DESC,
|
||||
T1.GENE_ORIG_DESC AS GENE_ORIG,
|
||||
T1.ETH_OTC_DESC AS ETH_OTC_D,
|
||||
T1.NRDL_DESC,
|
||||
T1.NRDL_ENTRY_DATE AS NRDL_ENTR,
|
||||
T1.EDL_DESC,
|
||||
T1.TCM_DESC,
|
||||
T1.PAED_DESC,
|
||||
T1.GQCE_DESC,
|
||||
T1.VBP_DESC,
|
||||
T1.MANU_CODE,
|
||||
T1.MANU_DESC,
|
||||
T1.MNFL_CODE,
|
||||
T1.MNFL_DESC,
|
||||
T1.CORP_CODE,
|
||||
T1.CORP_DESC,
|
||||
T1.BRANDTYPE,
|
||||
T2.BU,
|
||||
T2.STARTTIME,
|
||||
T2.ENDTIME,
|
||||
COALESCE(T2.EXTEND_MARKET_RATIO, '1') AS MARKET_RATIO,
|
||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') AS ETL_INSERT_DT,
|
||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') AS ETL_UPDATE_DT
|
||||
FROM DM.DM_TD_EXT_COUNTY_PACK_PROPERTY AS T1
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
MARKET,
|
||||
BU,
|
||||
STARTTIME,
|
||||
ENDTIME,
|
||||
EXTEND_MARKET_RATIO,
|
||||
ATC1_CODE,
|
||||
ATC2_CODE,
|
||||
ATC3_CODE,
|
||||
ATC4_CODE,
|
||||
NFC1_CODE,
|
||||
NFC2_CODE,
|
||||
NFC3_CODE,
|
||||
CORPORATION_CODE,
|
||||
MANUFACTURER_CODE,
|
||||
PRODUCT_CODE,
|
||||
PACK_CODE,
|
||||
STRENGTH,
|
||||
MOLECULE_CODE
|
||||
FROM DWD.DWD_GND_IMS_TBLMARKET_BYMONTH
|
||||
WHERE EXTEND_MARKET IS NULL AND NOT_IN_FLAG = '0'
|
||||
) AS T2
|
||||
ON (T2.ATC1_CODE IS NULL OR T1.ATC1_CODE = T2.ATC1_CODE)
|
||||
AND (T2.ATC2_CODE IS NULL OR T1.ATC2_CODE = T2.ATC2_CODE)
|
||||
AND (T2.ATC3_CODE IS NULL OR T1.ATC3_CODE = T2.ATC3_CODE)
|
||||
AND (T2.ATC4_CODE IS NULL OR T1.ATC4_CODE = T2.ATC4_CODE)
|
||||
AND (T2.NFC1_CODE IS NULL OR T1.APP1_CODE = T2.NFC1_CODE)
|
||||
AND (T2.NFC2_CODE IS NULL OR T1.APP2_CODE = T2.NFC2_CODE)
|
||||
AND (T2.NFC3_CODE IS NULL OR T1.APP3_CODE = T2.NFC3_CODE)
|
||||
AND (T2.CORPORATION_CODE IS NULL OR T1.CORP_CODE = T2.CORPORATION_CODE)
|
||||
AND (T2.MANUFACTURER_CODE IS NULL OR T1.MANU_CODE = T2.MANUFACTURER_CODE)
|
||||
AND (T2.PRODUCT_CODE IS NULL OR T1.PROD_CODE = T2.PRODUCT_CODE)
|
||||
AND (T2.PACK_CODE IS NULL OR T1.PACK_CODE = T2.PACK_CODE)
|
||||
AND (T2.STRENGTH IS NULL OR T1.STGH_DESC = T2.STRENGTH)
|
||||
AND (T2.MOLECULE_CODE IS NULL OR T1.CMPS_CODE = T2.MOLECULE_CODE)
|
||||
WHERE T2.MARKET IS NOT NULL;
|
||||
30
county/11 DM_TD_EXT_COUNTY_MARKET_RATIO.sql
Normal file
30
county/11 DM_TD_EXT_COUNTY_MARKET_RATIO.sql
Normal file
@@ -0,0 +1,30 @@
|
||||
-- Databricks notebook source
|
||||
-- CREATE OR REPLACE TABLE DM.DM_TD_EXT_COUNTY_MARKET_RATIO (
|
||||
-- MARKET STRING,
|
||||
-- PACK_CODE STRING,
|
||||
-- CMPS_CODE STRING,
|
||||
-- STARTTIME STRING,
|
||||
-- ENDTIME STRING,
|
||||
-- MARKET_RATIO STRING,
|
||||
-- ETL_INSERT_DT TIMESTAMP,
|
||||
-- ETL_UPDATE_DT TIMESTAMP)
|
||||
-- USING delta
|
||||
-- -- LOCATION 'abfss://master@azcdatalakeprd.dfs.core.chinacloudapi.cn/DM/dm_td_ext_county_market_ratio';
|
||||
-- -- 上面是生产环境location,下面是测试环境location
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_county_market_ratio';
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
INSERT OVERWRITE TABLE DM.DM_TD_EXT_COUNTY_MARKET_RATIO
|
||||
SELECT
|
||||
DISTINCT
|
||||
MARKET,
|
||||
PACK_CODE,
|
||||
CMPS_CODE,
|
||||
STARTTIME,
|
||||
ENDTIME,
|
||||
MARKET_RATIO,
|
||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') AS ETL_INSERT_DT,
|
||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') AS ETL_UPDATE_DT
|
||||
FROM DM.DM_TD_EXT_COUNTY_PACK2MARKET
|
||||
WHERE UPPER(MARKET) NOT LIKE '%ALL%'
|
||||
163
county/12 DM_TD_EXT_COUNTY_MARKET_BRAND_RATIO.sql
Normal file
163
county/12 DM_TD_EXT_COUNTY_MARKET_BRAND_RATIO.sql
Normal file
@@ -0,0 +1,163 @@
|
||||
-- Databricks notebook source
|
||||
-- CREATE OR REPLACE TABLE DM.DM_TD_EXT_COUNTY_MARKET_BRAND_RATIO (
|
||||
-- MARKET STRING,
|
||||
-- PACK_CODE STRING,
|
||||
-- VALUE_BRAND_RATIO FLOAT,
|
||||
-- VALUE_BRAND_RATIO_START STRING,
|
||||
-- VALUE_BRAND_RATIO_END STRING,
|
||||
-- UNIT_BRAND_RATIO FLOAT,
|
||||
-- UNIT_BRAND_START STRING,
|
||||
-- UNIT_BRAND_END STRING,
|
||||
-- COUNTINGUNIT_BRAND_RATIO FLOAT,
|
||||
-- COUNTINGUNIT_BRAND_START STRING,
|
||||
-- COUNTINGUNIT_BRAND_END STRING,
|
||||
-- PDOT_BRAND_RATIO FLOAT,
|
||||
-- PDOT_BRAND_START STRING,
|
||||
-- PDOT_BRAND_END STRING,
|
||||
-- ETL_INSERT_DT TIMESTAMP,
|
||||
-- ETL_UPDATE_DT TIMESTAMP)
|
||||
-- USING delta
|
||||
-- -- LOCATION 'abfss://master@azcdatalakeprd.dfs.core.chinacloudapi.cn/DM/dm_td_ext_county_market_brand_ratio';
|
||||
-- -- 上面是生产环境location,下面是测试环境location
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_county_market_brand_ratio';
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
INSERT OVERWRITE TABLE DM.DM_TD_EXT_COUNTY_MARKET_BRAND_RATIO
|
||||
SELECT
|
||||
DISTINCT
|
||||
T1.MARKET,
|
||||
T1.PACK_CODE,
|
||||
CASE
|
||||
WHEN T2.RATIO IS NOT NULL THEN T2.RATIO
|
||||
ELSE NVL(T5.RATIO, 1) END AS VALUE_BRAND_RATIO,
|
||||
CASE
|
||||
WHEN T2.RATIO IS NOT NULL THEN T2.STARTTIME
|
||||
ELSE NVL(T5.STARTTIME, 200001) END AS VALUE_BRAND_RATIO_START,
|
||||
CASE
|
||||
WHEN T2.RATIO IS NOT NULL THEN T2.ENDTIME
|
||||
ELSE NVL(T5.ENDTIME, 299912) END AS VALUE_BRAND_RATIO_END,
|
||||
CASE
|
||||
WHEN T3.RATIO IS NOT NULL THEN T3.RATIO
|
||||
ELSE NVL(T6.RATIO, 1) END AS UNIT_BRAND_RATIO,
|
||||
CASE
|
||||
WHEN T3.RATIO IS NOT NULL THEN T3.STARTTIME
|
||||
ELSE NVL(T6.STARTTIME, 200001) END AS UNIT_BRAND_START,
|
||||
CASE
|
||||
WHEN T3.RATIO IS NOT NULL THEN T3.ENDTIME
|
||||
ELSE NVL(T6.ENDTIME, 299912) END AS UNIT_BRAND_END,
|
||||
1 AS COUNTINGUNIT_BRAND_RATIO,
|
||||
200001 AS COUNTINGUNIT_BRAND_START,
|
||||
299912 AS COUNTINGUNIT_BRAND_END,
|
||||
CASE
|
||||
WHEN T4.RATIO IS NOT NULL THEN T4.RATIO
|
||||
ELSE NVL(T7.RATIO, 1) END AS PDOT_BRAND_RATIO,
|
||||
CASE
|
||||
WHEN T4.RATIO IS NOT NULL THEN T4.STARTTIME
|
||||
ELSE NVL(T7.STARTTIME, 200001) END AS PDOT_BRAND_START,
|
||||
CASE
|
||||
WHEN T4.RATIO IS NOT NULL THEN T4.ENDTIME
|
||||
ELSE NVL(T7.ENDTIME, 299912) END AS PDOT_BRAND_END,
|
||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') AS ETL_INSERT_DT,
|
||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') AS ETL_UPDATE_DT
|
||||
FROM DM.DM_TD_EXT_COUNTY_MARKET_RATIO T1
|
||||
LEFT JOIN ( --VALUE--PACK
|
||||
SELECT
|
||||
DISTINCT
|
||||
MARKET,
|
||||
CMPS_COD,
|
||||
CMPS_DES,
|
||||
PACK_COD,
|
||||
PACK_DES,
|
||||
LEVEL,
|
||||
TYPE,
|
||||
CAST(RATIO AS FLOAT) AS RATIO,
|
||||
CAST(STARTTIME AS INT) STARTTIME,
|
||||
CAST(ENDTIME AS INT) ENDTIME
|
||||
FROM DWD.DWD_GND_IMS_TBLBRANDRATIO_BYMONTH
|
||||
WHERE UPPER(TYPE) = 'VALUE' AND UPPER(LEVEL) = 'PACK'
|
||||
) T2 ON T1.MARKET = T2.MARKET AND T1.PACK_CODE = T2.PACK_COD
|
||||
LEFT JOIN ( --UNIT--PACK
|
||||
SELECT
|
||||
DISTINCT
|
||||
MARKET,
|
||||
CMPS_COD,
|
||||
CMPS_DES,
|
||||
PACK_COD,
|
||||
PACK_DES,
|
||||
LEVEL,
|
||||
TYPE,
|
||||
CAST(RATIO AS FLOAT) AS RATIO,
|
||||
CAST(STARTTIME AS INT) STARTTIME,
|
||||
CAST(ENDTIME AS INT) ENDTIME
|
||||
FROM DWD.DWD_GND_IMS_TBLBRANDRATIO_BYMONTH
|
||||
WHERE UPPER(TYPE) = 'UNIT' AND UPPER(LEVEL) = 'PACK'
|
||||
) T3 ON T1.MARKET = T3.MARKET AND T1.PACK_CODE = T3.PACK_COD
|
||||
LEFT JOIN ( --COUNTINGUNIT--PACK
|
||||
SELECT
|
||||
DISTINCT
|
||||
MARKET,
|
||||
CMPS_COD,
|
||||
CMPS_DES,
|
||||
PACK_COD,
|
||||
PACK_DES,
|
||||
LEVEL,
|
||||
TYPE,
|
||||
CAST(RATIO AS FLOAT) AS RATIO,
|
||||
CAST(STARTTIME AS INT) STARTTIME,
|
||||
CAST(ENDTIME AS INT) ENDTIME
|
||||
FROM DWD.DWD_GND_IMS_TBLBRANDRATIO_BYMONTH
|
||||
WHERE UPPER(TYPE) = 'COUNTINGUNIT' AND UPPER(LEVEL) = 'PACK'
|
||||
) T4 ON T1.MARKET = T4.MARKET AND T1.PACK_CODE = T4.PACK_COD
|
||||
LEFT JOIN ( --VALUE--MOLECULE
|
||||
SELECT
|
||||
DISTINCT
|
||||
MARKET,
|
||||
CMPS_COD,
|
||||
CMPS_DES,
|
||||
PACK_COD,
|
||||
PACK_DES,
|
||||
LEVEL,
|
||||
TYPE,
|
||||
CAST(RATIO AS FLOAT) AS RATIO,
|
||||
CAST(STARTTIME AS INT) STARTTIME,
|
||||
CAST(ENDTIME AS INT) ENDTIME
|
||||
FROM DWD.DWD_GND_IMS_TBLBRANDRATIO_BYMONTH
|
||||
WHERE UPPER(TYPE) = 'VALUE' AND UPPER(LEVEL) = 'MOLECULE'
|
||||
) T5 ON T1.MARKET = T5.MARKET AND T1.CMPS_CODE = T5.CMPS_COD
|
||||
LEFT JOIN ( --UNIT--MOLECULE
|
||||
SELECT
|
||||
DISTINCT
|
||||
MARKET,
|
||||
CMPS_COD,
|
||||
CMPS_DES,
|
||||
PACK_COD,
|
||||
PACK_DES,
|
||||
LEVEL,
|
||||
TYPE,
|
||||
CAST(RATIO AS FLOAT) AS RATIO,
|
||||
CAST(STARTTIME AS INT) STARTTIME,
|
||||
CAST(ENDTIME AS INT) ENDTIME
|
||||
FROM DWD.DWD_GND_IMS_TBLBRANDRATIO_BYMONTH
|
||||
WHERE UPPER(TYPE) = 'UNIT' AND UPPER(LEVEL) = 'MOLECULE'
|
||||
) T6 ON T1.MARKET = T6.MARKET AND T1.CMPS_CODE = T6.CMPS_COD
|
||||
LEFT JOIN ( --COUNTINGUNIT--MOLECULE
|
||||
SELECT
|
||||
DISTINCT
|
||||
MARKET,
|
||||
CMPS_COD,
|
||||
CMPS_DES,
|
||||
PACK_COD,
|
||||
PACK_DES,
|
||||
LEVEL,
|
||||
TYPE,
|
||||
CAST(RATIO AS FLOAT) AS RATIO,
|
||||
CAST(STARTTIME AS INT) STARTTIME,
|
||||
CAST(ENDTIME AS INT) ENDTIME
|
||||
FROM DWD.DWD_GND_IMS_TBLBRANDRATIO_BYMONTH
|
||||
WHERE UPPER(TYPE) = 'COUNTINGUNIT' AND UPPER(LEVEL) = 'MOLECULE'
|
||||
) T7 ON T1.MARKET = T7.MARKET
|
||||
AND T1.CMPS_CODE = T7.CMPS_COD
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
62
county/13 DM_TD_EXT_COUNTY_MARKET_PACK_MAPPING.sql
Normal file
62
county/13 DM_TD_EXT_COUNTY_MARKET_PACK_MAPPING.sql
Normal file
@@ -0,0 +1,62 @@
|
||||
-- Databricks notebook source
|
||||
-- CREATE OR REPLACE TABLE DM.DM_TD_EXT_COUNTY_MARKET_PACK_MAPPING
|
||||
-- (
|
||||
-- PACK_CODE STRING,
|
||||
-- MARKET STRING,
|
||||
-- CLASS STRING,
|
||||
-- KEY_COMPETITOR STRING,
|
||||
-- MARKET_RATIO STRING,
|
||||
-- STARTTIME STRING,
|
||||
-- ENDTIME STRING,
|
||||
-- VALUE_BRAND_RATIO STRING,
|
||||
-- VALUE_BRAND_RATIO_START STRING,
|
||||
-- VALUE_BRAND_RATIO_END STRING,
|
||||
-- UNIT_BRAND_RATIO STRING,
|
||||
-- UNIT_BRAND_START STRING,
|
||||
-- UNIT_BRAND_END STRING,
|
||||
-- COUNTINGUNIT_BRAND_RATIO STRING,
|
||||
-- COUNTINGUNIT_BRAND_START STRING,
|
||||
-- COUNTINGUNIT_BRAND_END STRING,
|
||||
-- PDOT_BRAND_RATIO STRING,
|
||||
-- PDOT_BRAND_START STRING,
|
||||
-- PDOT_BRAND_END STRING,
|
||||
-- ETL_INSERT_DT TIMESTAMP,
|
||||
-- ETL_UPDATE_DT TIMESTAMP
|
||||
-- )
|
||||
-- USING delta
|
||||
-- -- LOCATION 'abfss://master@azcdatalakeprd.dfs.core.chinacloudapi.cn/DM/dm_td_ext_county_market_pack_mapping';
|
||||
-- -- 上面是生产环境location,下面是测试环境location
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_county_market_pack_mapping';
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
INSERT OVERWRITE TABLE DM.DM_TD_EXT_COUNTY_MARKET_PACK_MAPPING
|
||||
SELECT DISTINCT
|
||||
T1.PACK_CODE,
|
||||
T1.MARKET,
|
||||
T1.CLASS,
|
||||
T1.KEY_COMPETITOR,
|
||||
T2.MARKET_RATIO,
|
||||
T2.STARTTIME,
|
||||
T2.ENDTIME,
|
||||
T3.VALUE_BRAND_RATIO,
|
||||
T3.VALUE_BRAND_RATIO_START,
|
||||
T3.VALUE_BRAND_RATIO_END,
|
||||
T3.UNIT_BRAND_RATIO,
|
||||
T3.UNIT_BRAND_START,
|
||||
T3.UNIT_BRAND_END,
|
||||
T3.COUNTINGUNIT_BRAND_RATIO,
|
||||
T3.COUNTINGUNIT_BRAND_START,
|
||||
T3.COUNTINGUNIT_BRAND_END,
|
||||
T3.PDOT_BRAND_RATIO,
|
||||
T3.PDOT_BRAND_START,
|
||||
T3.PDOT_BRAND_END,
|
||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') AS ETL_INSERT_DT,
|
||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') AS ETL_UPDATE_DT
|
||||
FROM
|
||||
DM.DM_TD_EXT_COUNTY_PACK_PROPERTY T1
|
||||
LEFT JOIN DM.DM_TD_EXT_COUNTY_MARKET_RATIO T2
|
||||
ON T1.MARKET = T2.MARKET AND T1.PACK_CODE = T2.PACK_CODE
|
||||
LEFT JOIN DM.DM_TD_EXT_COUNTY_MARKET_BRAND_RATIO T3
|
||||
ON T1.MARKET = T3.MARKET AND T1.PACK_CODE = T3.PACK_CODE
|
||||
WHERE UPPER(T1.MARKET) NOT LIKE "%ALL%"
|
||||
Reference in New Issue
Block a user