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:
231
CHC/01 dm_chc_pack_property.sql
Normal file
231
CHC/01 dm_chc_pack_property.sql
Normal file
@@ -0,0 +1,231 @@
|
||||
-- Databricks notebook source
|
||||
-- CREATE OR REPLACE TABLE dm.dm_chc_pack_property (
|
||||
-- PACK_COD STRING,
|
||||
-- pack_des STRING,
|
||||
-- stgh_des STRING,
|
||||
-- pack_lch STRING,
|
||||
-- PROD_COD STRING,
|
||||
-- prod_des STRING,
|
||||
-- prod_des_c STRING,
|
||||
-- Family_Code STRING,
|
||||
-- Family_Name STRING,
|
||||
-- cmps_cod STRING,
|
||||
-- cmps_des STRING,
|
||||
-- cmps_des_c STRING,
|
||||
-- atc1_cod STRING,
|
||||
-- atc1_des STRING,
|
||||
-- atc1_des_c STRING,
|
||||
-- atc2_cod STRING,
|
||||
-- atc2_des STRING,
|
||||
-- atc2_des_c STRING,
|
||||
-- atc3_cod STRING,
|
||||
-- atc3_des STRING,
|
||||
-- atc3_des_c STRING,
|
||||
-- atc4_cod STRING,
|
||||
-- atc4_des STRING,
|
||||
-- atc4_des_c STRING,
|
||||
-- app1_cod STRING,
|
||||
-- app1_des STRING,
|
||||
-- app1_des_c STRING,
|
||||
-- app2_cod STRING,
|
||||
-- app2_des STRING,
|
||||
-- app2_des_c STRING,
|
||||
-- app3_cod STRING,
|
||||
-- app3_des STRING,
|
||||
-- app3_des_c 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_cod STRING,
|
||||
-- manu_des STRING,
|
||||
-- manu_des_c STRING,
|
||||
-- mnfl_cod STRING,
|
||||
-- mnfl_des STRING,
|
||||
-- corp_cod STRING,
|
||||
-- corp_des STRING,
|
||||
-- corp_des_c STRING,
|
||||
-- BrandType STRING,
|
||||
-- IS_AZ STRING,
|
||||
-- AZ_MAIN STRING,
|
||||
-- AZ_Related STRING,
|
||||
-- countingunit STRING,
|
||||
-- ETL_INSERT_DT TIMESTAMP,
|
||||
-- ETL_UPDATE_DT TIMESTAMP)
|
||||
-- USING delta
|
||||
-- -- LOCATION 'abfss://master@azcdatalakeprd.dfs.core.chinacloudapi.cn/DM/dm_aia_pack_property';
|
||||
-- -- 上面是生产环境location,下面是测试环境location
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_aia_pack_property';
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
-- update dwd.dwd_gnd_ext_chc_pack_property
|
||||
-- set iqvia_pack_code = if( iqvia_pack_code REGEXP '^[0-9]',right(concat('000000000000',iqvia_pack_code),12),iqvia_pack_code)
|
||||
-- ,iqvia_prod_code = right(concat('000000000',iqvia_prod_code),9)
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
create or replace temporary view dwd_pack_property
|
||||
as
|
||||
select distinct
|
||||
iqvia_pack_code ,
|
||||
iqvia_prod_code ,
|
||||
pack_cod ,
|
||||
app1_cod ,
|
||||
app1_des ,
|
||||
app1_des_c ,
|
||||
app2_cod ,
|
||||
app2_des ,
|
||||
app2_des_c ,
|
||||
app3_cod ,
|
||||
app3_des ,
|
||||
app3_des_c ,
|
||||
atc1_cod ,
|
||||
atc1_des ,
|
||||
atc1_des_c ,
|
||||
atc2_cod ,
|
||||
atc2_des ,
|
||||
atc2_des_c ,
|
||||
atc3_cod ,
|
||||
atc3_des ,
|
||||
atc3_des_c ,
|
||||
atc4_cod ,
|
||||
atc4_des ,
|
||||
atc4_des_c ,
|
||||
bio_desc ,
|
||||
cmps_cod ,
|
||||
cmps_des ,
|
||||
cmps_des_c ,
|
||||
corp_cod ,
|
||||
corp_des ,
|
||||
corp_des_c ,
|
||||
edl_desc ,
|
||||
eth_otc_desc ,
|
||||
gene_orig_desc ,
|
||||
gqce_desc ,
|
||||
manu_cod ,
|
||||
manu_des ,
|
||||
manu_des_c ,
|
||||
mnfl_cod ,
|
||||
mnfl_des ,
|
||||
nrdl_desc ,
|
||||
pack_des ,
|
||||
stgh_des ,
|
||||
pack_lch ,
|
||||
paed_desc ,
|
||||
prod_des ,
|
||||
prod_des_c ,
|
||||
tcm_desc ,
|
||||
vbp_desc ,
|
||||
-- builtinarchivedate ,
|
||||
source_file_path ,
|
||||
source_file_name ,
|
||||
etl_insert_dt ,
|
||||
countingunit
|
||||
from dwd.dwd_gnd_dept_pack_property
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
-- create or replace table dm.dm_chc_pack_property
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_chc_pack_property'
|
||||
-- as
|
||||
insert overwrite table dm.dm_chc_pack_property
|
||||
WITH dedup_l AS (
|
||||
SELECT *,
|
||||
ROW_NUMBER() OVER (PARTITION BY iqvia_pack_code ORDER BY iqvia_pack_code) AS rn
|
||||
FROM dwd_pack_property
|
||||
QUALIFY rn = 1
|
||||
),
|
||||
dedup_r AS (
|
||||
SELECT *,
|
||||
ROW_NUMBER() OVER (PARTITION BY PACK_COD ORDER BY PACK_COD) AS rn
|
||||
FROM tmp.tmp_ext_chpa_pack_propetry
|
||||
QUALIFY rn = 1
|
||||
)
|
||||
SELECT
|
||||
l.iqvia_pack_code AS PACK_COD,
|
||||
|
||||
-- Pack / Product 描述
|
||||
COALESCE(r.PACK_DES, l.pack_des) AS pack_des,
|
||||
COALESCE(r.STGH_DES, l.stgh_des) AS stgh_des,
|
||||
COALESCE(r.PACK_LCH, l.pack_lch) AS pack_lch,
|
||||
COALESCE(r.PROD_COD, l.iqvia_prod_code) AS PROD_COD,
|
||||
COALESCE(r.PROD_DES, l.prod_des) AS prod_des,
|
||||
COALESCE(r.PROD_DES_C, l.prod_des_c) AS prod_des_c,
|
||||
|
||||
-- 右表独有:Family
|
||||
r.Family_Code,
|
||||
r.Family_Name,
|
||||
|
||||
-- 成分
|
||||
COALESCE(r.CMPS_COD, l.cmps_cod) AS cmps_cod,
|
||||
COALESCE(r.CMPS_DES, l.cmps_des) AS cmps_des,
|
||||
COALESCE(r.CMPS_DES_C, l.cmps_des_c) AS cmps_des_c,
|
||||
|
||||
-- ATC
|
||||
COALESCE(r.ATC1_COD, l.atc1_cod) AS atc1_cod,
|
||||
COALESCE(r.atc1_des, l.atc1_des) AS atc1_des,
|
||||
COALESCE(r.atc1_des_c, l.atc1_des_c) AS atc1_des_c,
|
||||
COALESCE(r.ATC2_COD, l.atc2_cod) AS atc2_cod,
|
||||
COALESCE(r.atc2_des, l.atc2_des) AS atc2_des,
|
||||
COALESCE(r.atc2_des_c, l.atc2_des_c) AS atc2_des_c,
|
||||
COALESCE(r.ATC3_COD, l.atc3_cod) AS atc3_cod,
|
||||
COALESCE(r.atc3_des, l.atc3_des) AS atc3_des,
|
||||
COALESCE(r.atc3_des_c, l.atc3_des_c) AS atc3_des_c,
|
||||
COALESCE(r.ATC4_COD, l.atc4_cod) AS atc4_cod,
|
||||
COALESCE(r.atc4_des, l.atc4_des) AS atc4_des,
|
||||
COALESCE(r.atc4_des_c, l.atc4_des_c) AS atc4_des_c,
|
||||
|
||||
-- APP
|
||||
COALESCE(r.APP1_COD, l.app1_cod) AS app1_cod,
|
||||
COALESCE(r.app1_des, l.app1_des) AS app1_des,
|
||||
COALESCE(r.app1_des_c, l.app1_des_c) AS app1_des_c,
|
||||
COALESCE(r.APP2_COD, l.app2_cod) AS app2_cod,
|
||||
COALESCE(r.app2_des, l.app2_des) AS app2_des,
|
||||
COALESCE(r.app2_des_c, l.app2_des_c) AS app2_des_c,
|
||||
COALESCE(r.APP3_COD, l.app3_cod) AS app3_cod,
|
||||
COALESCE(r.app3_des, l.app3_des) AS app3_des,
|
||||
COALESCE(r.app3_des_c, l.app3_des_c) AS app3_des_c,
|
||||
|
||||
-- 标志位
|
||||
COALESCE(r.BIO_DESC, l.bio_desc) AS bio_desc,
|
||||
COALESCE(r.GENE_ORIG_DESC, l.gene_orig_desc) AS gene_orig_desc,
|
||||
COALESCE(r.ETH_OTC_DESC, l.eth_otc_desc) AS eth_otc_desc,
|
||||
COALESCE(r.NRDL_DESC, l.nrdl_desc) AS nrdl_desc,
|
||||
r.NRDL_Entry_Date,
|
||||
COALESCE(r.EDL_DESC, l.edl_desc) AS edl_desc,
|
||||
COALESCE(r.TCM_DESC, l.tcm_desc) AS tcm_desc,
|
||||
COALESCE(r.PAED_DESC, l.paed_desc) AS paed_desc,
|
||||
COALESCE(r.GQCE_DESC, l.gqce_desc) AS gqce_desc,
|
||||
COALESCE(r.VBP_DESC, l.vbp_desc) AS vbp_desc,
|
||||
|
||||
-- 厂商
|
||||
COALESCE(r.MANU_COD, l.manu_cod) AS manu_cod,
|
||||
COALESCE(r.MANU_DES, l.manu_des) AS manu_des,
|
||||
COALESCE(r.MANU_DES_C, l.manu_des_c) AS manu_des_c,
|
||||
COALESCE(r.MNFL_COD, l.mnfl_cod) AS mnfl_cod,
|
||||
COALESCE(r.MNFL_DES, l.mnfl_des) AS mnfl_des,
|
||||
|
||||
-- 公司
|
||||
COALESCE(r.CORP_COD, l.corp_cod) AS corp_cod,
|
||||
COALESCE(r.CORP_DES, l.corp_des) AS corp_des,
|
||||
COALESCE(r.CORP_DES_C, l.corp_des_c) AS corp_des_c,
|
||||
|
||||
-- 右表独有:品牌 / AZ 标志
|
||||
r.BrandType,
|
||||
r.IS_AZ,
|
||||
r.AZ_MAIN,
|
||||
r.AZ_Related,
|
||||
-- 左表独有
|
||||
l.countingunit,
|
||||
from_utc_timestamp(current_timestamp(),'UTC+8') as ETL_INSERT_DT,
|
||||
from_utc_timestamp(current_timestamp(),'UTC+8') as ETL_UPDATE_DT
|
||||
FROM dedup_l l
|
||||
LEFT JOIN dedup_r r
|
||||
ON l.iqvia_pack_code = r.PACK_COD
|
||||
418
CHC/02 DM_TF_EXT_CHC_SALES.sql
Normal file
418
CHC/02 DM_TF_EXT_CHC_SALES.sql
Normal file
@@ -0,0 +1,418 @@
|
||||
-- Databricks notebook source
|
||||
-- CREATE OR REPLACE TABLE DM.DM_TF_EXT_CHC_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_chc_sales';
|
||||
-- 上面是生产环境location,下面是测试环境location
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_tf_ext_chc_sales';
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
CREATE OR REPLACE TEMPORARY VIEW RAW_DATA
|
||||
AS
|
||||
SELECT
|
||||
CASE
|
||||
WHEN SUBSTRING(YQ, 5, 2) = 'Q1'
|
||||
THEN CONCAT (SUBSTRING(YQ, 1, 4), '03')
|
||||
WHEN SUBSTRING(YQ, 5, 2) = 'Q2'
|
||||
THEN CONCAT (SUBSTRING(YQ, 1, 4), '06')
|
||||
WHEN SUBSTRING(YQ, 5, 2) = 'Q3'
|
||||
THEN CONCAT (SUBSTRING(YQ, 1, 4), '09')
|
||||
WHEN SUBSTRING(YQ, 5, 2) = 'Q4'
|
||||
THEN CONCAT (SUBSTRING(YQ, 1, 4), '12')
|
||||
ELSE YQ
|
||||
END AS YQ,
|
||||
CITY_C,
|
||||
PACK_COD,
|
||||
PROD_COD,
|
||||
VALUE,
|
||||
TOTALUNIT,
|
||||
COUNTINGUNIT
|
||||
FROM
|
||||
DWD.DWD_GND_CHC_RAWDATA
|
||||
WHERE
|
||||
YEAR >= '2021'
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
CREATE OR REPLACE TEMPORARY VIEW FILTER_YM
|
||||
AS
|
||||
SELECT
|
||||
MAX(YQ) AS MAX_YYYYMM,
|
||||
CONCAT(CAST(FLOOR(MAX(YQ)/100-1) AS STRING),'01') AS MIN_YYYYMM
|
||||
FROM
|
||||
RAW_DATA
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
CREATE OR REPLACE TEMPORARY VIEW CORP_DATA
|
||||
AS
|
||||
SELECT
|
||||
PACK_COD,
|
||||
CORP_COD,
|
||||
CORP_DES
|
||||
FROM
|
||||
DM.DM_IMS_TD_PACK_PROPERTY
|
||||
GROUP BY
|
||||
PACK_COD,
|
||||
CORP_COD,
|
||||
CORP_DES
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
CREATE OR REPLACE TEMPORARY VIEW PACK_DATA
|
||||
AS
|
||||
SELECT
|
||||
DISTINCT
|
||||
IQVIA_PACK_CODE,
|
||||
IQVIA_PROD_CODE,
|
||||
PACK_COD,
|
||||
APP1_COD,
|
||||
APP1_DES,
|
||||
APP1_DES_C,
|
||||
APP2_COD,
|
||||
APP2_DES,
|
||||
APP2_DES_C,
|
||||
APP3_COD,
|
||||
APP3_DES,
|
||||
APP3_DES_C,
|
||||
ATC1_COD,
|
||||
ATC1_DES,
|
||||
ATC1_DES_C,
|
||||
ATC2_COD,
|
||||
ATC2_DES,
|
||||
ATC2_DES_C,
|
||||
ATC3_COD,
|
||||
ATC3_DES,
|
||||
ATC3_DES_C,
|
||||
ATC4_COD,
|
||||
ATC4_DES,
|
||||
ATC4_DES_C,
|
||||
BIO_DESC,
|
||||
CMPS_COD,
|
||||
CMPS_DES,
|
||||
CMPS_DES_C,
|
||||
CORP_COD,
|
||||
CORP_DES,
|
||||
CORP_DES_C,
|
||||
EDL_DESC,
|
||||
ETH_OTC_DESC,
|
||||
GENE_ORIG_DESC,
|
||||
GQCE_DESC,
|
||||
MANU_COD,
|
||||
MANU_DES,
|
||||
MANU_DES_C,
|
||||
MNFL_COD,
|
||||
MNFL_DES,
|
||||
NRDL_DESC,
|
||||
PACK_DES,
|
||||
STGH_DES,
|
||||
PACK_LCH,
|
||||
PAED_DESC,
|
||||
PROD_DES,
|
||||
PROD_DES_C,
|
||||
TCM_DESC,
|
||||
VBP_DESC,
|
||||
-- BUILTINARCHIVEDATE,
|
||||
SOURCE_FILE_PATH,
|
||||
SOURCE_FILE_NAME,
|
||||
ETL_INSERT_DT,
|
||||
COUNTINGUNIT
|
||||
FROM
|
||||
DWD.dwd_gnd_dept_pack_property
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
--CHC本身唯独表 存在CORP_COD以及 CORP_DES 与手工数据不一致的问题
|
||||
CREATE OR REPLACE TEMPORARY VIEW PACK_WIHT_CORP_DATA
|
||||
AS
|
||||
SELECT
|
||||
T1.PACK_COD,
|
||||
T1.IQVIA_PACK_CODE,
|
||||
T1.COUNTINGUNIT,
|
||||
COALESCE(T2.CORP_COD, T1.CORP_COD) AS CORP_COD,
|
||||
COALESCE(T2.CORP_DES, T1.CORP_DES) AS CORP_DES
|
||||
FROM
|
||||
PACK_DATA T1
|
||||
LEFT JOIN
|
||||
CORP_DATA T2
|
||||
ON
|
||||
T1.IQVIA_PACK_CODE = T2.PACK_COD
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
--GEO相关信息 在CHPA中没有 苏州、无锡、福州等数据,根据业务反馈,按照 CITY_C当作AUDIT_COD
|
||||
CREATE OR REPLACE TEMPORARY VIEW DIM_EXCHC_GEO
|
||||
AS
|
||||
SELECT
|
||||
T1.CITY_E,
|
||||
CONCAT (T1.CITY_C, '市') AS CITY_C,
|
||||
UPPER(NVL (T2.AUDIT_COD, T1.CITY_E)) AS AUDIT_COD
|
||||
FROM
|
||||
DWD.DWD_GND_EXT_CHC_GEO T1
|
||||
LEFT JOIN
|
||||
DM.DM_IMS_TD_GEO T2
|
||||
ON
|
||||
T1.CITY_E = T2.CITY
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
CREATE OR REPLACE TEMPORARY VIEW RAW_DATA_WIHT_PACK_CORP_GEO_DATA
|
||||
AS
|
||||
SELECT
|
||||
T1.YQ,
|
||||
T1.CITY_C,
|
||||
T3.IQVIA_PACK_CODE AS PACK_COD,
|
||||
T3.CORP_COD AS CORP_COD,
|
||||
C.AUDIT_COD AS AUDIT_COD,
|
||||
T1.PROD_COD,
|
||||
T1.VALUE,
|
||||
T1.TOTALUNIT,
|
||||
T1.TOTALUNIT * NVL (T3.COUNTINGUNIT, 1) AS COUNTINGUNIT
|
||||
FROM
|
||||
RAW_DATA T1
|
||||
LEFT JOIN
|
||||
PACK_WIHT_CORP_DATA T3
|
||||
ON
|
||||
T1.PACK_COD = T3.PACK_COD
|
||||
LEFT JOIN
|
||||
DIM_EXCHC_GEO C
|
||||
ON
|
||||
T1.CITY_C = C.CITY_C
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
CREATE OR REPLACE TEMPORARY VIEW RAW_DATA_WIHT_LY
|
||||
AS
|
||||
SELECT
|
||||
A.YQ,
|
||||
A.AUDIT_COD,
|
||||
A.PACK_COD,
|
||||
A.CORP_COD,
|
||||
SUM(A.VALUE) VALUE,
|
||||
SUM(A.TOTALUNIT) TOTALUNIT,
|
||||
SUM(A.COUNTINGUNIT) COUNTINGUNIT,
|
||||
SUM(VALUE_LY) VALUE_LY,
|
||||
SUM(TOTALUNIT_LY) TOTALUNIT_LY,
|
||||
SUM(COUNTINGUNIT_LY) COUNTINGUNIT_LY
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
T1.YQ,
|
||||
T1.AUDIT_COD,
|
||||
T1.PACK_COD,
|
||||
T1.CORP_COD,
|
||||
T1.VALUE,
|
||||
T1.TOTALUNIT,
|
||||
T1.COUNTINGUNIT,
|
||||
0 VALUE_LY,
|
||||
0 TOTALUNIT_LY,
|
||||
0 COUNTINGUNIT_LY
|
||||
FROM
|
||||
RAW_DATA_WIHT_PACK_CORP_GEO_DATA T1
|
||||
UNION ALL
|
||||
SELECT
|
||||
CAST(T1.YQ + 100 AS INT),
|
||||
T1.AUDIT_COD,
|
||||
T1.PACK_COD,
|
||||
T1.CORP_COD,
|
||||
0 VALUE,
|
||||
0 TOTALUNIT,
|
||||
0 COUNTINGUNIT,
|
||||
T1.VALUE VALUE_LY,
|
||||
T1.TOTALUNIT TOTALUNIT_LY,
|
||||
T1.COUNTINGUNIT COUNTINGUNIT_LY
|
||||
FROM
|
||||
RAW_DATA_WIHT_PACK_CORP_GEO_DATA AS T1
|
||||
CROSS JOIN
|
||||
FILTER_YM AS T2
|
||||
WHERE
|
||||
T1.YQ + 100 <= T2.MAX_YYYYMM
|
||||
) A
|
||||
GROUP BY
|
||||
A.YQ,
|
||||
A.AUDIT_COD,
|
||||
A.PACK_COD,
|
||||
A.CORP_COD
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
CREATE OR REPLACE TEMPORARY VIEW RAW_DATA_FINAL
|
||||
AS
|
||||
SELECT
|
||||
T1.YQ AS YYYYMM,
|
||||
T1.AUDIT_COD,
|
||||
T1.PACK_COD,
|
||||
T1.CORP_COD,
|
||||
SUM(TOTALUNIT) AS SALES_UNIT_CAL, -- TOTALUNIT,
|
||||
SUM(TOTALUNIT_LY) AS SALES_UNIT_CAL_LY, --TOTALUNIT_LY,
|
||||
SUM(VALUE) AS SALES_VALUE_CAL, --VALUE,
|
||||
SUM(VALUE_LY) AS SALES_VALUE_CAL_LY,
|
||||
SUM(COUNTINGUNIT) AS CONUTING_UNIT, --COUNTINGUNIT,
|
||||
SUM(COUNTINGUNIT_LY) AS CONUTING_UNIT_LY,
|
||||
'CHC(Quarterly)' AS DATA_SOURCE
|
||||
FROM
|
||||
RAW_DATA_WIHT_LY T1
|
||||
GROUP BY
|
||||
T1.YQ,
|
||||
T1.AUDIT_COD,
|
||||
T1.PACK_COD,
|
||||
T1.CORP_COD
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
CREATE OR REPLACE TEMPORARY VIEW DM_TF_EXT_CHC_SALES AS
|
||||
SELECT
|
||||
A.YYYYMM,
|
||||
A.PACK_COD AS PACK_CODE,
|
||||
A.AUDIT_COD AS AUDIT_CODE,
|
||||
'CHC(Quarterly)' DATA_SOURCE,
|
||||
-------------------------------------
|
||||
SALES_UNIT_CAL,
|
||||
SALES_UNIT_CAL_LY,
|
||||
SALES_VALUE_CAL,
|
||||
SALES_VALUE_CAL_LY,
|
||||
CONUTING_UNIT,
|
||||
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数据标签----------------------
|
||||
'' 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 --可以移除,报告没有使用E
|
||||
-------------------------------------
|
||||
FROM
|
||||
RAW_DATA_FINAL A
|
||||
WHERE
|
||||
YYYYMM
|
||||
>= (
|
||||
SELECT
|
||||
CAST((LEFT(MAX(YYYYMM), 4) - 3) * 100 + 1 AS INT)
|
||||
FROM
|
||||
RAW_DATA_FINAL
|
||||
)
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
INSERT OVERWRITE TABLE DM.DM_TF_EXT_CHC_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
|
||||
YYYYMM,
|
||||
NVL(NULLIF(PACK_CODE, ''), CONCAT('PACK_CODE_', DATA_SOURCE)) AS PACK_CODE,
|
||||
NVL(NULLIF(AUDIT_CODE, ''), 'ROC') AS 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,
|
||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(), 'UTC+8') AS ETL_INSERT_DT,
|
||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(), 'UTC+8') AS ETL_UPDATE_DT
|
||||
FROM
|
||||
DM_TF_EXT_CHC_SALES;
|
||||
147
CHC/03 DM_TD_EXT_CHC_PACK_PROPERTY.sql
Normal file
147
CHC/03 DM_TD_EXT_CHC_PACK_PROPERTY.sql
Normal file
@@ -0,0 +1,147 @@
|
||||
-- Databricks notebook source
|
||||
-- CREATE OR REPLACE TABLE DM.DM_TD_EXT_CHC_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_chc_pack_property';
|
||||
-- -- 上面是生产环境location,下面是测试环境location
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_chc_pack_property';
|
||||
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
INSERT OVERWRITE TABLE DM.DM_TD_EXT_CHC_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,
|
||||
CMPS_DES_C 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,
|
||||
MANU_DES_C 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,
|
||||
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_CHC_PACK_PROPERTY;
|
||||
327
CHC/04 DM_TD_EXT_CHC_PACK2MARKET.sql
Normal file
327
CHC/04 DM_TD_EXT_CHC_PACK2MARKET.sql
Normal file
@@ -0,0 +1,327 @@
|
||||
-- Databricks notebook source
|
||||
-- CREATE OR REPLACE TABLE DM.DM_TD_EXT_CHC_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_chc_pack2market';
|
||||
-- -- 上面是生产环境location,下面是测试环境location
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_chc_pack2market';
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
-- CREATE OR REPLACE TABLE DM.DM_TD_EXT_chc_PACK2MARKET_KEYCOMPETITOR (
|
||||
-- KEY_COMPETITOR STRING,
|
||||
-- MARKET STRING,
|
||||
-- PACK_CODE STRING)
|
||||
-- USING delta
|
||||
-- -- LOCATION 'abfss://master@azcdatalakeprd.dfs.core.chinacloudapi.cn/DM/dm_td_ext_chc_pack2market_keycompetitor';
|
||||
-- -- 上面是生产环境location,下面是测试环境location
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_chc_pack2market_keycompetitor';
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
-- CREATE or REPLACE TABLE DM.DM_TD_EXT_chc_PACK2MARKET_CLASS (
|
||||
-- MARKET STRING,
|
||||
-- PACK_CODE STRING,
|
||||
-- CLASS STRING)
|
||||
-- USING delta
|
||||
-- -- LOCATION 'abfss://master@azcdatalakeprd.dfs.core.chinacloudapi.cn/DM/dm_td_ext_chc_pack2market_class';
|
||||
-- -- 上面是生产环境location,下面是测试环境location
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_chc_pack2market_class';
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
-- 使用 EXCEPT(集合差操作)简化逻辑
|
||||
INSERT OVERWRITE TABLE DM.DM_TD_EXT_CHC_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_CHC_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_CHC_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;
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
INSERT OVERWRITE TABLE DM.DM_TD_EXT_CHC_PACK2MARKET_KEYCOMPETITOR
|
||||
WITH kc AS (
|
||||
SELECT
|
||||
keycompetitor, no,
|
||||
ROW_NUMBER() OVER (ORDER BY
|
||||
CASE
|
||||
WHEN ATC1_Code IS NOT NULL THEN 1
|
||||
WHEN ATC2_Code IS NOT NULL THEN 2
|
||||
WHEN ATC3_Code IS NOT NULL THEN 3
|
||||
WHEN ATC4_Code IS NOT NULL THEN 4
|
||||
WHEN Molecule_Code IS NOT NULL THEN 5
|
||||
WHEN Product_Code IS NOT NULL THEN 6
|
||||
WHEN Pack_Code IS NOT NULL THEN 7
|
||||
ELSE 999
|
||||
END,
|
||||
CASE WHEN NFC1_CODE IS NULL THEN 0 ELSE 1 END,
|
||||
CASE WHEN NFC2_CODE IS NULL THEN 0 ELSE 1 END,
|
||||
CASE WHEN NFC3_CODE IS NULL THEN 0 ELSE 1 END
|
||||
) AS no1,
|
||||
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, market
|
||||
FROM dwd.dwd_gnd_ims_tblkeycompetitor
|
||||
),
|
||||
joined AS (
|
||||
SELECT
|
||||
/*+ BROADCAST(kc) */
|
||||
COALESCE(kc.keycompetitor, 'OTHERS') AS Key_Competitor, -- ✅ UPDATE 逻辑内联
|
||||
t1.market, t1.PACK_CODE
|
||||
/*bug 调试区
|
||||
,
|
||||
kc.no,
|
||||
kc.no1,
|
||||
t1.PROD_COD, 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.BrandType, t1.bu, t1.Market_Ratio
|
||||
*/
|
||||
,ROW_NUMBER() OVER (
|
||||
PARTITION BY t1.market, t1.PACK_CODE, t1.PROD_CODE
|
||||
ORDER BY kc.no1 DESC, kc.no DESC
|
||||
) AS _rn
|
||||
FROM DM.DM_TD_EXT_CHC_PACK2MARKET t1
|
||||
LEFT JOIN kc
|
||||
ON (kc.ATC1_Code IS NULL OR t1.ATC1_CODE = kc.ATC1_Code)
|
||||
AND (kc.ATC2_Code IS NULL OR t1.ATC2_CODE = kc.ATC2_Code)
|
||||
AND (kc.ATC3_Code IS NULL OR t1.ATC3_CODE = kc.ATC3_Code)
|
||||
AND (kc.ATC4_Code IS NULL OR t1.ATC4_CODE = kc.ATC4_Code)
|
||||
AND (kc.NFC1_Code IS NULL OR t1.APP1_CODE = kc.NFC1_Code)
|
||||
AND (kc.NFC2_Code IS NULL OR t1.APP2_CODE = kc.NFC2_Code)
|
||||
AND (kc.NFC3_Code IS NULL OR t1.APP3_CODE = kc.NFC3_Code)
|
||||
AND (kc.corporation_code IS NULL OR t1.CORP_CODE = kc.corporation_code)
|
||||
AND (kc.Manufacturer_Code IS NULL OR t1.MANU_CODE = kc.Manufacturer_Code)
|
||||
AND (kc.Product_Code IS NULL OR t1.PROD_CODE = kc.Product_Code)
|
||||
AND (kc.Pack_Code IS NULL OR t1.PACK_CODE = kc.Pack_Code)
|
||||
AND (kc.Strength IS NULL OR t1.STGH_DESC = kc.Strength)
|
||||
AND (kc.Molecule_Code IS NULL OR t1.CMPS_CODE = kc.Molecule_Code)
|
||||
AND (kc.market IS NULL OR t1.market = kc.market)
|
||||
)
|
||||
SELECT distinct Key_Competitor,market,pack_code
|
||||
FROM joined
|
||||
WHERE _rn = 1;
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
INSERT OVERWRITE TABLE DM.DM_TD_EXT_CHC_PACK2MARKET_CLASS
|
||||
SELECT
|
||||
/*+ BROADCAST(T2) */
|
||||
DISTINCT
|
||||
T1.MARKET,
|
||||
T1.PACK_CODE,
|
||||
COALESCE( T2.CLASS, 'OTHERS') AS CLASS
|
||||
FROM DM.DM_TD_EXT_CHC_PACK2MARKET T1
|
||||
LEFT JOIN DWD.DWD_GND_TBLCLASS T2
|
||||
ON (T2.MARKET IS NULL OR T1.MARKET = T2.MARKET)
|
||||
AND (T2.PACK_CODE IS NULL OR T1.PACK_CODE = T2.PACK_CODE)
|
||||
AND (T2.PRODUCT_CODE IS NULL OR T1.PROD_CODE = T2.PRODUCT_CODE)
|
||||
AND (T2.MOLECULE_CODE IS NULL OR T1.CMPS_CODE = T2.MOLECULE_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.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.STRENGTH IS NULL OR T1.STGH_DESC = T2.STRENGTH)
|
||||
30
CHC/05 DM_TD_EXT_CHC_MARKET_RATIO.sql
Normal file
30
CHC/05 DM_TD_EXT_CHC_MARKET_RATIO.sql
Normal file
@@ -0,0 +1,30 @@
|
||||
-- Databricks notebook source
|
||||
-- CREATE OR REPLACE TABLE DM.DM_TD_EXT_CHC_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_chc_market_ratio';
|
||||
-- -- 上面是生产环境location,下面是测试环境location
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_chc_market_ratio';
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
INSERT OVERWRITE TABLE DM.DM_TD_EXT_CHC_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_CHC_PACK2MARKET
|
||||
WHERE UPPER(MARKET) NOT LIKE '%ALL%'
|
||||
163
CHC/06 DM_TD_EXT_CHC_MARKET_BRAND_RATIO.sql
Normal file
163
CHC/06 DM_TD_EXT_CHC_MARKET_BRAND_RATIO.sql
Normal file
@@ -0,0 +1,163 @@
|
||||
-- Databricks notebook source
|
||||
-- CREATE OR REPLACE TABLE DM.DM_TD_EXT_CHC_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_chc_market_brand_ratio';
|
||||
-- -- 上面是生产环境location,下面是测试环境location
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_chc_market_brand_ratio';
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
INSERT OVERWRITE TABLE DM.DM_TD_EXT_CHC_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_CHC_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 ----------
|
||||
|
||||
71
CHC/07 DM_TD_EXT_CHC_MARKET_PACK_MAPPING.sql
Normal file
71
CHC/07 DM_TD_EXT_CHC_MARKET_PACK_MAPPING.sql
Normal file
@@ -0,0 +1,71 @@
|
||||
-- Databricks notebook source
|
||||
-- CREATE OR REPLACE TABLE DM.DM_TD_EXT_CHC_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_chc_market_pack_mapping';
|
||||
-- -- 上面是生产环境location,下面是测试环境location
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_chc_market_pack_mapping';
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
INSERT OVERWRITE TABLE DM.DM_TD_EXT_CHC_MARKET_PACK_MAPPING
|
||||
SELECT DISTINCT
|
||||
T1.PACK_CODE,
|
||||
T1.MARKET,
|
||||
T4.CLASS,
|
||||
T5.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_CHC_PACK2MARKET T1
|
||||
LEFT JOIN DM.DM_TD_EXT_CHC_MARKET_RATIO T2
|
||||
ON T1.MARKET = T2.MARKET
|
||||
AND T1.PACK_CODE = T2.PACK_CODE
|
||||
LEFT JOIN DM.DM_TD_EXT_CHC_MARKET_BRAND_RATIO T3
|
||||
ON T1.MARKET = T3.MARKET
|
||||
AND T1.PACK_CODE = T3.PACK_CODE
|
||||
LEFT JOIN DM.DM_TD_EXT_CHC_PACK2MARKET_CLASS T4
|
||||
ON T1.PACK_CODE = T4.PACK_CODE
|
||||
AND T1.MARKET = T4.MARKET
|
||||
LEFT JOIN DM.DM_TD_EXT_CHC_PACK2MARKET_KEYCOMPETITOR T5
|
||||
ON T1.PACK_CODE = T5.PACK_CODE
|
||||
AND T1.MARKET = T5.MARKET
|
||||
WHERE
|
||||
UPPER(T1.MARKET) NOT LIKE "%ALL%"
|
||||
Reference in New Issue
Block a user