224 lines
7.0 KiB
SQL
224 lines
7.0 KiB
SQL
-- Databricks notebook source
|
||
-- CREATE or replace TABLE dm.dm_county_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_county_pack_property';
|
||
-- -- 上面是生产环境location,下面是测试环境location
|
||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_county_pack_property';
|
||
|
||
|
||
-- 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 ----------
|
||
|
||
insert overwrite table dm.dm_county_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
|