update20260427
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