county以及xiehe修改合并 #2
File diff suppressed because it is too large
Load Diff
@@ -1,11 +0,0 @@
|
|||||||
-- Databricks notebook source
|
|
||||||
-- MAGIC %run ../../../Common/config
|
|
||||||
|
|
||||||
-- COMMAND ----------
|
|
||||||
|
|
||||||
-- MAGIC %python
|
|
||||||
-- MAGIC spark.read.table(f'`{CDW_CATALOG}`.`dwd`.`dim_product_wide`').createOrReplaceTempView('cdw_dwd_dim_product_wide')
|
|
||||||
|
|
||||||
-- COMMAND ----------
|
|
||||||
|
|
||||||
|
|
||||||
@@ -32,6 +32,15 @@
|
|||||||
|
|
||||||
-- COMMAND ----------
|
-- COMMAND ----------
|
||||||
|
|
||||||
|
-- MAGIC %run ../../../Common/config
|
||||||
|
|
||||||
|
-- COMMAND ----------
|
||||||
|
|
||||||
|
-- MAGIC %python
|
||||||
|
-- MAGIC spark.read.table(f'`{CDW_CATALOG}`.`dwd`.`dim_product_wide`').createOrReplaceTempView('cdw_dwd_dim_product_wide')
|
||||||
|
|
||||||
|
-- COMMAND ----------
|
||||||
|
|
||||||
-- 20260130 由于DM.dm_td_org数据需要转换,新增这个CELL。
|
-- 20260130 由于DM.dm_td_org数据需要转换,新增这个CELL。
|
||||||
create or replace temporary view dm_td_org_temp
|
create or replace temporary view dm_td_org_temp
|
||||||
as
|
as
|
||||||
@@ -54,9 +63,8 @@ FROM DM.dm_td_org P2
|
|||||||
|
|
||||||
-- COMMAND ----------
|
-- COMMAND ----------
|
||||||
|
|
||||||
----------------------------------------------------county------------------------------------------------------------------------------
|
--
|
||||||
-----------------------除了Eagle、CHC、Retail、EC的人都能看
|
insert into DM.DM_TD_EXT_RETAIL_ORG
|
||||||
insert overwrite table DM.DM_TD_EXT_COUNTY_ORG
|
|
||||||
(REGION_CODE,region_name_en,rc_code,rc_name_en,RegionCenter,AUDIT_COD,MARKET,bu_category,bu_name_en,sub_bu_name,sub_bu_code_auth,bu_code_auth,DATA_SOURCE,REGION_RATIO,RSM_Name,RC_Name,
|
(REGION_CODE,region_name_en,rc_code,rc_name_en,RegionCenter,AUDIT_COD,MARKET,bu_category,bu_name_en,sub_bu_name,sub_bu_code_auth,bu_code_auth,DATA_SOURCE,REGION_RATIO,RSM_Name,RC_Name,
|
||||||
TEAM,
|
TEAM,
|
||||||
MR_TRTY_CODE,
|
MR_TRTY_CODE,
|
||||||
@@ -70,149 +78,168 @@ DSM_NAME,
|
|||||||
MR_KCODE,
|
MR_KCODE,
|
||||||
MR_NAME
|
MR_NAME
|
||||||
)
|
)
|
||||||
SELECT DISTINCT '' REGION_CODE,'' region_name_en,'' rc_code,'' rc_name_en,'' RegionCenter,A.AUDIT_CODE,B.MARKET,C.bu_category,C.bu_name_en,C.sub_bu_name,C.sub_bu_code sub_bu_code_auth,concat(c.bu_code,'IQVIA-COUNTY(Quarterly)') bu_code_auth,A.DATA_SOURCE,1 REGION_RATIO,'','',
|
WITH
|
||||||
'' as TEAM,
|
-- ① 市场与子BU映射
|
||||||
'' as MR_TRTY_CODE,
|
market_ta AS (
|
||||||
'' as NSD_KCODE,
|
select distinct MARKET,bu as subbu from dwd.dwd_gnd_tblmarket_bymonth
|
||||||
'' as NSD_NAME,
|
-- WHERE UPPER(TA) <> 'ALL'
|
||||||
'' as RSD_KCODE,
|
),
|
||||||
'' as RSD_NAME,
|
|
||||||
'' as RSM_KCODE,
|
|
||||||
'' as DSM_KCODE,
|
|
||||||
'' as DSM_NAME,
|
|
||||||
'' as MR_KCODE,
|
|
||||||
'' as MR_NAME
|
|
||||||
FROM DM.DM_TF_EXT_UNIONALL_SALES A
|
|
||||||
INNER JOIN DM.dm_td_external_market_pack_mapping B ON A.PACK_CODE = B.PACK_COD
|
|
||||||
AND A.DATA_SOURCE = B.DATA_SOURCE
|
|
||||||
INNER JOIN
|
|
||||||
(
|
|
||||||
SELECT DISTINCT '' bu_code,'' sub_bu_code,'' sub_bu_name,'' bu_category,'' bu_name_en -----------目前权限控制到BU,因此需要BU有值。
|
|
||||||
FROM dm_td_org_temp C
|
|
||||||
WHERE C.yyyymm = (select key_value from dm.dm_td_date_config where key_code='pfmc_cvh')
|
|
||||||
AND C.BU_NAME_EN NOT IN ('Eagle','CHC','EC','Retail')
|
|
||||||
) C
|
|
||||||
WHERE A.DATA_SOURCE = 'IQVIA-COUNTY(Quarterly)'
|
|
||||||
|
|
||||||
-- COMMAND ----------
|
-- ② 产品包与市场映射
|
||||||
|
pack_2_market AS (
|
||||||
|
SELECT DISTINCT
|
||||||
|
a.PACK_CODE,
|
||||||
|
a.market,
|
||||||
|
b.subbu
|
||||||
|
FROM
|
||||||
|
dm.dm_td_ext_COUNTY_market_pack_mapping a
|
||||||
|
LEFT JOIN market_ta b ON a.MARKET = b.market
|
||||||
|
),
|
||||||
|
-- FAMILY与market映射
|
||||||
|
family_2_markt as (select distinct
|
||||||
|
t3.prd_family_cd,
|
||||||
|
-- t4.ims_pack_cod,
|
||||||
|
t5.market
|
||||||
|
from
|
||||||
|
cdw_dwd_dim_product_wide t3
|
||||||
|
inner JOIN dwd.dwd_td_imscode_azcode t4
|
||||||
|
ON t3.prd_brand_cd = t4.brandcode
|
||||||
|
inner join pack_2_market t5
|
||||||
|
on t4.ims_pack_cod = t5.pack_code
|
||||||
|
where
|
||||||
|
t3.prd_family_cd is not null
|
||||||
|
and t4.ims_pack_cod is not null
|
||||||
|
),
|
||||||
|
|
||||||
-- DBTITLE 1,add
|
-- ③ 外部地理信息
|
||||||
--修改时间:20240808
|
external_geo AS (
|
||||||
--修改人:FanXuJia
|
SELECT DISTINCT
|
||||||
--修改背景:
|
province_c,
|
||||||
--事实表与维度表来自于不同手工表,目前存在一部分audit_cod在事实表有销量,但是在维度表没有这个audit_cod,导致销量缺失。
|
audit_cod,
|
||||||
--因此需要从事实表补全这部分audit_cod
|
REGION_CENTER
|
||||||
with sales as (
|
FROM dm.dm_td_external_geo_temp
|
||||||
select distinct PACK_CODE,AUDIT_CODE,DATA_SOURCE from dm.DM_TF_EXT_UNIONALL_SALES
|
WHERE DATA_SOURCE = 'IQVIA-COUNTY(Quarterly)'
|
||||||
)
|
),
|
||||||
,market_pack as (
|
|
||||||
select distinct PACK_COD,MARKET,DATA_SOURCE from dm.dm_td_external_market_pack_mapping
|
-- ④ 当前考核月份
|
||||||
)
|
YM_CVH AS (
|
||||||
,org as (
|
SELECT key_value
|
||||||
select distinct AUDIT_COD,MARKET,DATA_SOURCE from dm.DM_TD_EXT_COUNTY_ORG
|
FROM dm.dm_td_date_config
|
||||||
)
|
WHERE key_code = 'pfmc_cvh'
|
||||||
,tmp_org as (
|
),
|
||||||
select distinct a.AUDIT_CODE,b.MARKET,a.DATA_SOURCE
|
|
||||||
from sales a
|
-- ⑤ 组织架构(取当前考核月份快照)
|
||||||
left join market_pack b on a.PACK_CODE = b.PACK_COD and a.DATA_SOURCE = b.DATA_SOURCE
|
td_org AS (
|
||||||
left join org c on a.DATA_SOURCE = c.DATA_SOURCE and a.AUDIT_CODE = c.AUDIT_COD and b.MARKET = c.MARKET
|
SELECT DISTINCT
|
||||||
where C.AUDIT_COD IS NULL
|
REGION_CODE,
|
||||||
|
region_name,
|
||||||
|
rc_code,
|
||||||
|
rc_name,
|
||||||
|
bu_category,
|
||||||
|
bu_name_en,
|
||||||
|
sub_bu_name,
|
||||||
|
sub_bu_code,
|
||||||
|
bu_code,
|
||||||
|
RSM_Name,
|
||||||
|
rsd_name,
|
||||||
|
mr_trty_code,
|
||||||
|
rsm_trty_code
|
||||||
|
FROM dm_td_org_temp t1
|
||||||
|
INNER JOIN YM_CVH t2 ON t1.yyyymm = t2.key_value
|
||||||
|
),
|
||||||
|
|
||||||
|
-- ⑥ 辖区-指征明细(仅保留 OBU/RIN,排除双考)
|
||||||
|
territory AS (
|
||||||
|
SELECT DISTINCT
|
||||||
|
trty_code,
|
||||||
|
inst_code,
|
||||||
|
family_code,
|
||||||
|
bu
|
||||||
|
FROM dm.dm_td_sd_territory_indication t1
|
||||||
|
INNER JOIN YM_CVH t2 ON t1.yyyymm = t2.key_value
|
||||||
|
WHERE t1.bu IN ('BBU_County') -- 20260320 chenwu DTP数据源只保留 OBU 和 RIN
|
||||||
|
AND t1.key_hp <> 3 -- 20250904 chenwu 排除双考影响
|
||||||
|
),
|
||||||
|
|
||||||
|
-- ⑦ 辖区-省份-市场关联
|
||||||
|
province_market AS (
|
||||||
|
SELECT
|
||||||
|
t1.trty_code,
|
||||||
|
t2.province_name,
|
||||||
|
t3.market
|
||||||
|
FROM territory t1
|
||||||
|
LEFT JOIN dwd.dwd_td_institution t2 ON t1.inst_code = t2.inst_code
|
||||||
|
INNER JOIN family_2_markt t3 ON t1.family_code = t3.prd_family_cd
|
||||||
)
|
)
|
||||||
|
|
||||||
insert into table dm.DM_TD_EXT_COUNTY_ORG
|
-- ════════════════════════════════════════════
|
||||||
(
|
-- 主查询 Part 1:正常地理覆盖行
|
||||||
REGION_CODE,
|
-- ════════════════════════════════════════════
|
||||||
region_name_en,
|
SELECT DISTINCT
|
||||||
RSM_Name,
|
t1.REGION_CODE,
|
||||||
rc_code,
|
t1.region_name,
|
||||||
rc_name_en,
|
t1.rc_code,
|
||||||
RC_Name,
|
t1.rc_name AS rc_name_en,
|
||||||
RegionCenter,
|
t3.REGION_CENTER AS RegionCenter,
|
||||||
AUDIT_COD,
|
t3.AUDIT_COD,
|
||||||
MARKET,
|
t2.MARKET,
|
||||||
bu_category,
|
t1.bu_category,
|
||||||
bu_name_en,
|
t1.bu_name_en,
|
||||||
sub_bu_name,
|
t1.sub_bu_name,
|
||||||
sub_bu_code_auth,
|
t1.sub_bu_code AS sub_bu_code_auth,
|
||||||
bu_code_auth,
|
CONCAT(t1.bu_code, 'IQVIA-COUNTY(Quarterly)') AS bu_code_auth,
|
||||||
DATA_SOURCE,
|
'IQVIA-COUNTY(Quarterly)' AS DATA_SOURCE,
|
||||||
REGION_RATIO,
|
1 AS REGION_RATIO,
|
||||||
TEAM,
|
t1.RSM_Name,
|
||||||
MR_TRTY_CODE,
|
t1.rsd_name,
|
||||||
NSD_KCODE,
|
'' AS TEAM,
|
||||||
NSD_NAME,
|
'' AS MR_TRTY_CODE,
|
||||||
RSD_KCODE,
|
'' AS NSD_KCODE,
|
||||||
RSD_NAME,
|
'' AS NSD_NAME,
|
||||||
RSM_KCODE,
|
'' AS RSD_KCODE,
|
||||||
DSM_KCODE,
|
'' AS RC_Name,
|
||||||
DSM_NAME,
|
'' AS RSM_KCODE,
|
||||||
MR_KCODE,
|
'' AS DSM_KCODE,
|
||||||
MR_NAME
|
'' AS DSM_NAME,
|
||||||
)
|
'' AS MR_KCODE,
|
||||||
select
|
'' AS MR_NAME
|
||||||
'ROC' as REGION_CODE,
|
FROM td_org t1
|
||||||
'ROC' as region_name_en,
|
INNER JOIN province_market t2 ON t1.mr_trty_code = t2.trty_code
|
||||||
'Vacant' as RSM_Name,
|
INNER JOIN external_geo t3 ON t2.province_name = t3.province_c
|
||||||
'ROC' as rc_code,
|
WHERE t2.market IS NOT NULL
|
||||||
'ROC' as rc_name_en,
|
AND t3.audit_cod IS NOT NULL
|
||||||
'Vacant' as RC_Name,
|
|
||||||
null as RegionCenter,
|
|
||||||
AUDIT_CODE,
|
|
||||||
MARKET,
|
|
||||||
null as bu_category,
|
|
||||||
null as bu_name_en,
|
|
||||||
null as sub_bu_name,
|
|
||||||
null as sub_bu_code_auth,
|
|
||||||
DATA_SOURCE as bu_code_auth,
|
|
||||||
DATA_SOURCE,
|
|
||||||
1 as REGION_RATIO,
|
|
||||||
'ROC' as TEAM,
|
|
||||||
'Vacant' as MR_TRTY_CODE,
|
|
||||||
'Vacant' as NSD_KCODE,
|
|
||||||
'Vacant' as NSD_NAME,
|
|
||||||
'Vacant' as RSD_KCODE,
|
|
||||||
'Vacant' as RSD_NAME,
|
|
||||||
'Vacant' as RSM_KCODE,
|
|
||||||
'Vacant' as DSM_KCODE,
|
|
||||||
'Vacant' as DSM_NAME,
|
|
||||||
'Vacant' as MR_KCODE,
|
|
||||||
'Vacant' as MR_NAME
|
|
||||||
from tmp_org
|
|
||||||
where DATA_SOURCE = 'IQVIA-COUNTY(Quarterly)'
|
|
||||||
|
|
||||||
-- COMMAND ----------
|
UNION ALL
|
||||||
|
|
||||||
-- DBTITLE 1,DM_TD_EXT_CHPA_ORG
|
-- ════════════════════════════════════════════
|
||||||
-----------------------------------------------------------
|
-- 主查询 Part 2:ROC 虚拟兜底行
|
||||||
--修改时间:20241118
|
-- ════════════════════════════════════════════
|
||||||
--修改人:Fanxujia
|
SELECT DISTINCT
|
||||||
--修改内容:
|
'ROC' AS REGION_CODE,
|
||||||
--使用手工文件排除掉每个渠道的不需要显示的市场
|
'ROC' AS region_name,
|
||||||
-----------------------------------------------------------
|
'ROC' AS rc_code,
|
||||||
with hidden_market as (
|
'ROC' AS rc_name_en,
|
||||||
select distinct
|
'Other Low Tiers' AS RegionCenter,
|
||||||
case when upper(data_source) = 'CHPA' then 'IQVIA-CHPA(Monthly)'
|
'ROC' AS AUDIT_COD,
|
||||||
when upper(data_source) = '科室市场' then 'XH Data(Quarterly)'
|
t2.MARKET,
|
||||||
when upper(data_source) = 'EC' then 'EC(Monthly)'
|
'All Channel' AS bu_category,
|
||||||
when upper(data_source) = 'RETAIL' then 'Retail(Quarterly)'
|
nvl(subbu,'BBU_County') AS bu_name_en,
|
||||||
when upper(data_source) = 'CHC' then 'CHC(Quarterly)'
|
nvl(subbu,'BBU_County') AS sub_bu_name,
|
||||||
when upper(data_source) = 'AIA' then 'AIA(Monthly)'
|
nvl(subbu,'BBU_County') AS sub_bu_code_auth,
|
||||||
when upper(data_source) = 'THC' then 'THC(Quarterly)'
|
'IQVIA-COUNTY(Quarterly)' AS bu_code_auth,
|
||||||
when upper(data_source) = 'COUNTY' then 'IQVIA-COUNTY(Quarterly)'
|
'IQVIA-COUNTY(Quarterly)' AS DATA_SOURCE,
|
||||||
else data_source
|
1 AS REGION_RATIO,
|
||||||
end as data_source,
|
'Vacant' AS RSM_Name,
|
||||||
upper(hidden_market) as hidden_market
|
'Vacant' AS RC_Name,
|
||||||
from dwd.dwd_gnd_ims_hidden_market
|
'' AS TEAM,
|
||||||
union all
|
'' AS MR_TRTY_CODE,
|
||||||
select
|
'' AS NSD_KCODE,
|
||||||
'AIA(Monthly)' as data_source,
|
'' AS NSD_NAME,
|
||||||
'AIA ALL Market'
|
'' AS RSD_KCODE,
|
||||||
)
|
'' AS RSD_NAME,
|
||||||
|
'' AS RSM_KCODE,
|
||||||
|
'' AS DSM_KCODE,
|
||||||
MERGE into dm.DM_TD_EXT_COUNTY_ORG as t1
|
'' AS DSM_NAME,
|
||||||
USING hidden_market t2
|
'' AS MR_KCODE,
|
||||||
on t1.data_source = t2.data_source
|
'' AS MR_NAME
|
||||||
and upper(t1.MARKET) = upper(t2.hidden_market)
|
FROM pack_2_market t2
|
||||||
WHEN MATCHED THEN
|
|
||||||
DELETE
|
|
||||||
|
|||||||
@@ -191,7 +191,7 @@ SELECT
|
|||||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') AS ETL_INSERT_DT,
|
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') AS ETL_INSERT_DT,
|
||||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') AS ETL_UPDATE_DT
|
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') AS ETL_UPDATE_DT
|
||||||
FROM DM.DM_TD_EXT_COUNTY_MARKET_PACK_MAPPING
|
FROM DM.DM_TD_EXT_COUNTY_MARKET_PACK_MAPPING
|
||||||
WHERE UPPER(MARKET) NOT LIKE '%ALL%'
|
WHERE UPPER(MARKET) NOT LIKE '%ALL%MARKET'
|
||||||
UNION ALL
|
UNION ALL
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
@@ -280,7 +280,7 @@ UNION ALL
|
|||||||
SELECT
|
SELECT
|
||||||
PACK_CODE,
|
PACK_CODE,
|
||||||
'ALL Market' AS MARKET,
|
'ALL Market' AS MARKET,
|
||||||
'Others' AS CLASS,
|
'OTHERS' AS CLASS,
|
||||||
'OTHERS' AS KEY_COMPETITOR,
|
'OTHERS' AS KEY_COMPETITOR,
|
||||||
1 AS MARKET_RATIO,
|
1 AS MARKET_RATIO,
|
||||||
200001 AS STARTTIME,
|
200001 AS STARTTIME,
|
||||||
@@ -309,7 +309,7 @@ UNION ALL
|
|||||||
SELECT
|
SELECT
|
||||||
PACK_CODE,
|
PACK_CODE,
|
||||||
'ALL Market' AS MARKET,
|
'ALL Market' AS MARKET,
|
||||||
'Others' AS CLASS,
|
'OTHERS' AS CLASS,
|
||||||
'OTHERS' AS KEY_COMPETITOR,
|
'OTHERS' AS KEY_COMPETITOR,
|
||||||
1 AS MARKET_RATIO,
|
1 AS MARKET_RATIO,
|
||||||
200001 AS STARTTIME,
|
200001 AS STARTTIME,
|
||||||
@@ -338,7 +338,7 @@ UNION ALL
|
|||||||
SELECT
|
SELECT
|
||||||
PACK_CODE,
|
PACK_CODE,
|
||||||
'ALL Market'MARKET,
|
'ALL Market'MARKET,
|
||||||
'Others' AS CLASS,
|
'OTHERS' AS CLASS,
|
||||||
'OTHERS' AS KEY_COMPETITOR,
|
'OTHERS' AS KEY_COMPETITOR,
|
||||||
1 AS MARKET_RATIO,
|
1 AS MARKET_RATIO,
|
||||||
200001 AS STARTTIME,
|
200001 AS STARTTIME,
|
||||||
@@ -367,7 +367,7 @@ UNION ALL
|
|||||||
SELECT
|
SELECT
|
||||||
PACK_CODE,
|
PACK_CODE,
|
||||||
'ALL Market'MARKET,
|
'ALL Market'MARKET,
|
||||||
'Others' AS CLASS,
|
'OTHERS' AS CLASS,
|
||||||
'OTHERS' AS KEY_COMPETITOR,
|
'OTHERS' AS KEY_COMPETITOR,
|
||||||
1 AS MARKET_RATIO,
|
1 AS MARKET_RATIO,
|
||||||
200001 AS STARTTIME,
|
200001 AS STARTTIME,
|
||||||
@@ -396,7 +396,7 @@ UNION ALL
|
|||||||
SELECT
|
SELECT
|
||||||
PACK_CODE,
|
PACK_CODE,
|
||||||
'ALL Market'MARKET,
|
'ALL Market'MARKET,
|
||||||
'Others' AS CLASS,
|
'OTHERS' AS CLASS,
|
||||||
'OTHERS' AS KEY_COMPETITOR,
|
'OTHERS' AS KEY_COMPETITOR,
|
||||||
1 AS MARKET_RATIO,
|
1 AS MARKET_RATIO,
|
||||||
200001 AS STARTTIME,
|
200001 AS STARTTIME,
|
||||||
@@ -425,7 +425,7 @@ UNION ALL
|
|||||||
SELECT
|
SELECT
|
||||||
PACK_CODE,
|
PACK_CODE,
|
||||||
'ALL Market'MARKET,
|
'ALL Market'MARKET,
|
||||||
'Others' AS CLASS,
|
'OTHERS' AS CLASS,
|
||||||
'OTHERS' AS KEY_COMPETITOR,
|
'OTHERS' AS KEY_COMPETITOR,
|
||||||
1 AS MARKET_RATIO,
|
1 AS MARKET_RATIO,
|
||||||
200001 AS STARTTIME,
|
200001 AS STARTTIME,
|
||||||
@@ -454,7 +454,7 @@ UNION ALL
|
|||||||
SELECT
|
SELECT
|
||||||
PACK_CODE,
|
PACK_CODE,
|
||||||
'ALL Market'MARKET,
|
'ALL Market'MARKET,
|
||||||
'Others' AS CLASS,
|
'OTHERS' AS CLASS,
|
||||||
'OTHERS' AS KEY_COMPETITOR,
|
'OTHERS' AS KEY_COMPETITOR,
|
||||||
1 AS MARKET_RATIO,
|
1 AS MARKET_RATIO,
|
||||||
200001 AS STARTTIME,
|
200001 AS STARTTIME,
|
||||||
@@ -483,7 +483,7 @@ UNION ALL
|
|||||||
SELECT
|
SELECT
|
||||||
PACK_CODE,
|
PACK_CODE,
|
||||||
'ALL Market'MARKET,
|
'ALL Market'MARKET,
|
||||||
'Others' AS CLASS,
|
'OTHERS' AS CLASS,
|
||||||
'OTHERS' AS KEY_COMPETITOR,
|
'OTHERS' AS KEY_COMPETITOR,
|
||||||
1 AS MARKET_RATIO,
|
1 AS MARKET_RATIO,
|
||||||
200001 AS STARTTIME,
|
200001 AS STARTTIME,
|
||||||
@@ -512,7 +512,7 @@ UNION ALL
|
|||||||
SELECT
|
SELECT
|
||||||
PACK_CODE,
|
PACK_CODE,
|
||||||
'ALL Market'MARKET,
|
'ALL Market'MARKET,
|
||||||
'Others' AS CLASS,
|
'OTHERS' AS CLASS,
|
||||||
'OTHERS' AS KEY_COMPETITOR,
|
'OTHERS' AS KEY_COMPETITOR,
|
||||||
1 AS MARKET_RATIO,
|
1 AS MARKET_RATIO,
|
||||||
200001 AS STARTTIME,
|
200001 AS STARTTIME,
|
||||||
@@ -538,4 +538,4 @@ GROUP BY
|
|||||||
|
|
||||||
-- COMMAND ----------
|
-- COMMAND ----------
|
||||||
|
|
||||||
update DM.DM_TD_EXT_UNIONALL_MARKET_PACK_MAPPING set class = 'Others' where lower(CLASS) = 'others' or CLASS IS null
|
update DM.DM_TD_EXT_UNIONALL_MARKET_PACK_MAPPING set class = 'OTHERS' where lower(CLASS) = 'others' or CLASS IS null
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ select
|
|||||||
,from_utc_timestamp(current_timestamp(),'UTC+8') ETL_UPDATE_DT
|
,from_utc_timestamp(current_timestamp(),'UTC+8') ETL_UPDATE_DT
|
||||||
from geo_xiehe a
|
from geo_xiehe a
|
||||||
left join dm.dm_ims_td_geo b on a.geo_city = b.CITY_C
|
left join dm.dm_ims_td_geo b on a.geo_city = b.CITY_C
|
||||||
where fact_province in ('黑吉辽','云贵川青','湖北','甘肃','其他地区')
|
where fact_province in ('黑吉辽','云贵青','湖北','其他地区')
|
||||||
|
|
||||||
union all
|
union all
|
||||||
-- 非特殊区域
|
-- 非特殊区域
|
||||||
@@ -51,7 +51,7 @@ select
|
|||||||
,from_utc_timestamp(current_timestamp(),'UTC+8') ETL_UPDATE_DT
|
,from_utc_timestamp(current_timestamp(),'UTC+8') ETL_UPDATE_DT
|
||||||
from geo_xiehe a
|
from geo_xiehe a
|
||||||
left join dm.dm_ims_td_geo b on a.geo_city = b.CITY_C
|
left join dm.dm_ims_td_geo b on a.geo_city = b.CITY_C
|
||||||
where fact_province not in ('黑吉辽','云贵川青','湖北','甘肃','其他地区')
|
where fact_province not in ('黑吉辽','云贵青','湖北','其他地区')
|
||||||
|
|
||||||
-- COMMAND ----------
|
-- COMMAND ----------
|
||||||
|
|
||||||
@@ -73,4 +73,4 @@ select
|
|||||||
,CITY_MAP
|
,CITY_MAP
|
||||||
,PROVINCE_MAP
|
,PROVINCE_MAP
|
||||||
,REGION_CENTER
|
,REGION_CENTER
|
||||||
from dws.dws_ext_xiehe_geo
|
from dws.dws_ext_xiehe_geo
|
||||||
|
|||||||
@@ -231,6 +231,15 @@ WHERE T2.MARKET IS NOT NULL;
|
|||||||
|
|
||||||
-- COMMAND ----------
|
-- COMMAND ----------
|
||||||
|
|
||||||
|
--删除需要隐藏的市场
|
||||||
|
MERGE INTO DM.DM_TD_EXT_XIEHE_PACK2MARKET AS target
|
||||||
|
USING dwd.dwd_gnd_ims_hidden_market AS source
|
||||||
|
ON UPPER(target.market) = UPPER(source.hidden_market)
|
||||||
|
AND source.data_source = '科室市场'
|
||||||
|
WHEN MATCHED THEN DELETE;
|
||||||
|
|
||||||
|
-- COMMAND ----------
|
||||||
|
|
||||||
INSERT OVERWRITE TABLE DM.DM_TD_EXT_xiehe_PACK2MARKET_KEYCOMPETITOR
|
INSERT OVERWRITE TABLE DM.DM_TD_EXT_xiehe_PACK2MARKET_KEYCOMPETITOR
|
||||||
WITH kc AS (
|
WITH kc AS (
|
||||||
SELECT
|
SELECT
|
||||||
|
|||||||
@@ -151,39 +151,6 @@ and province_name not in ('台湾','澳门','香港')
|
|||||||
|
|
||||||
-- COMMAND ----------
|
-- COMMAND ----------
|
||||||
|
|
||||||
|
|
||||||
WITH original_sales AS (
|
|
||||||
SELECT /*+ BROADCAST(T2,T3) */
|
|
||||||
T1.YM AS YYYYMM,
|
|
||||||
T2.PROVINCE_CODE AS AUDIT_COD,
|
|
||||||
T3.IQVIA_PACK_CODE AS PACK_CODE,
|
|
||||||
T1.VALUE AS SALES_VALUE,
|
|
||||||
T1.TOTALUNIT AS SALES_UNIT,
|
|
||||||
T1.COUNTINGUNIT AS COUNTINGUNIT
|
|
||||||
FROM FACT_COUNTY_PREVIOUS AS T1
|
|
||||||
LEFT JOIN DIM_PROVINCE AS T2 ON T1.PROVINCE_C = T2.PROVINCE_NAME
|
|
||||||
LEFT JOIN DIM_PACK_INFO AS T3 ON T1.PHCD = T3.PACK_COD
|
|
||||||
)
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
cy.YYYYMM,
|
|
||||||
cy.AUDIT_COD,
|
|
||||||
cy.PACK_CODE,
|
|
||||||
cy.SALES_VALUE,
|
|
||||||
cy.SALES_UNIT,
|
|
||||||
cy.COUNTINGUNIT,
|
|
||||||
-- 去年同期:YYYYMM 为 6 位整数,减 100 即同月上一年(如 202403 → 202303)
|
|
||||||
ly.SALES_VALUE AS SALES_VALUE_LY,
|
|
||||||
ly.SALES_UNIT AS SALES_UNIT_LY,
|
|
||||||
ly.COUNTINGUNIT AS COUNTINGUNIT_LY
|
|
||||||
FROM original_sales AS cy
|
|
||||||
LEFT JOIN original_sales AS ly
|
|
||||||
ON ly.YYYYMM = cy.YYYYMM - 100 -- 同月去年
|
|
||||||
AND ly.AUDIT_COD = cy.AUDIT_COD
|
|
||||||
AND ly.PACK_CODE = cy.PACK_CODE
|
|
||||||
|
|
||||||
-- COMMAND ----------
|
|
||||||
|
|
||||||
INSERT OVERWRITE TABLE DM.DM_TF_EXT_COUNTY_SALES (
|
INSERT OVERWRITE TABLE DM.DM_TF_EXT_COUNTY_SALES (
|
||||||
YYYYMM,
|
YYYYMM,
|
||||||
PACK_CODE,
|
PACK_CODE,
|
||||||
@@ -227,15 +194,16 @@ WITH original_sales AS (
|
|||||||
T1.YM AS YYYYMM,
|
T1.YM AS YYYYMM,
|
||||||
T2.PROVINCE_CODE AS AUDIT_COD,
|
T2.PROVINCE_CODE AS AUDIT_COD,
|
||||||
T3.IQVIA_PACK_CODE AS PACK_COD,
|
T3.IQVIA_PACK_CODE AS PACK_COD,
|
||||||
T1.VALUE AS SALES_VALUE_CAL,
|
SUM(T1.VALUE ) AS SALES_VALUE_CAL,
|
||||||
T1.TOTALUNIT AS SALES_UNIT_CAL,
|
SUM(T1.TOTALUNIT ) AS SALES_UNIT_CAL,
|
||||||
T1.COUNTINGUNIT AS CONUTING_UNIT
|
SUM(T1.COUNTINGUNIT ) AS CONUTING_UNIT
|
||||||
FROM FACT_COUNTY_PREVIOUS AS T1
|
FROM FACT_COUNTY_PREVIOUS AS T1
|
||||||
LEFT JOIN DIM_PROVINCE AS T2 ON T1.PROVINCE_C = T2.PROVINCE_NAME
|
LEFT JOIN DIM_PROVINCE AS T2 ON T1.PROVINCE_C = T2.PROVINCE_NAME
|
||||||
LEFT JOIN DIM_PACK_INFO AS T3 ON T1.PHCD = T3.PACK_COD
|
LEFT JOIN DIM_PACK_INFO AS T3 ON T1.PHCD = T3.PACK_COD
|
||||||
|
GROUP BY T1.YM,T2.PROVINCE_CODE,T3.IQVIA_PACK_CODE
|
||||||
)
|
)
|
||||||
|
|
||||||
,formated_count_sales_table (
|
,formated_count_sales_table_detail (
|
||||||
SELECT
|
SELECT
|
||||||
cy.YYYYMM,
|
cy.YYYYMM,
|
||||||
cy.AUDIT_COD,
|
cy.AUDIT_COD,
|
||||||
@@ -243,15 +211,41 @@ WITH original_sales AS (
|
|||||||
cy.SALES_VALUE_CAL,
|
cy.SALES_VALUE_CAL,
|
||||||
cy.SALES_UNIT_CAL,
|
cy.SALES_UNIT_CAL,
|
||||||
cy.CONUTING_UNIT,
|
cy.CONUTING_UNIT,
|
||||||
-- 去年同期:YYYYMM 为 6 位整数,减 100 即同月上一年(如 202403 → 202303)
|
0 AS SALES_VALUE_CAL_LY,
|
||||||
|
0 AS SALES_UNIT_CAL_LY,
|
||||||
|
0 AS CONUTING_UNIT_LY
|
||||||
|
FROM original_sales AS cy
|
||||||
|
|
||||||
|
union ALL
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
ly.YYYYMM+100 as YYYYMM,
|
||||||
|
ly.AUDIT_COD,
|
||||||
|
ly.PACK_COD,
|
||||||
|
0 as SALES_VALUE_CAL,
|
||||||
|
0 as SALES_UNIT_CAL,
|
||||||
|
0 as CONUTING_UNIT,
|
||||||
|
-- 去年同期
|
||||||
ly.SALES_VALUE_CAL AS SALES_VALUE_CAL_LY,
|
ly.SALES_VALUE_CAL AS SALES_VALUE_CAL_LY,
|
||||||
ly.SALES_UNIT_CAL AS SALES_UNIT_CAL_LY,
|
ly.SALES_UNIT_CAL AS SALES_UNIT_CAL_LY,
|
||||||
ly.CONUTING_UNIT AS CONUTING_UNIT_LY
|
ly.CONUTING_UNIT AS CONUTING_UNIT_LY
|
||||||
FROM original_sales AS cy
|
FROM original_sales AS ly
|
||||||
LEFT JOIN original_sales AS ly
|
WHERE ly.yyyymm+100 <= (select max( yyyymm ) from original_sales )
|
||||||
ON ly.YYYYMM = cy.YYYYMM - 100 -- 同月去年
|
)
|
||||||
AND ly.AUDIT_COD = cy.AUDIT_COD
|
|
||||||
AND ly.PACK_COD = cy.PACK_COD
|
,formated_count_sales_table (
|
||||||
|
SELECT
|
||||||
|
YYYYMM,
|
||||||
|
AUDIT_COD,
|
||||||
|
PACK_COD,
|
||||||
|
SUM(SALES_VALUE_CAL) AS SALES_VALUE_CAL,
|
||||||
|
SUM(SALES_UNIT_CAL) AS SALES_UNIT_CAL,
|
||||||
|
SUM(CONUTING_UNIT) AS CONUTING_UNIT,
|
||||||
|
SUM(SALES_VALUE_CAL_LY) AS SALES_VALUE_CAL_LY,
|
||||||
|
SUM(SALES_UNIT_CAL_LY) AS SALES_UNIT_CAL_LY,
|
||||||
|
SUM(CONUTING_UNIT_LY) AS CONUTING_UNIT_LY
|
||||||
|
FROM formated_count_sales_table_detail
|
||||||
|
GROUP BY 1,2,3
|
||||||
)
|
)
|
||||||
|
|
||||||
-- ════════════════════════════════════════════
|
-- ════════════════════════════════════════════
|
||||||
|
|||||||
@@ -75,7 +75,7 @@
|
|||||||
|
|
||||||
-- COMMAND ----------
|
-- COMMAND ----------
|
||||||
|
|
||||||
INSERT OVERWRITE TABLE DM.DM_TD_EXT_CHC_PACK_PROPERTY
|
INSERT OVERWRITE TABLE DM.DM_TD_EXT_COUNTY_PACK_PROPERTY
|
||||||
SELECT
|
SELECT
|
||||||
-- MARKET_PACK_KEY,
|
-- MARKET_PACK_KEY,
|
||||||
PACK_COD AS PACK_CODE,
|
PACK_COD AS PACK_CODE,
|
||||||
|
|||||||
@@ -45,6 +45,28 @@
|
|||||||
|
|
||||||
-- COMMAND ----------
|
-- COMMAND ----------
|
||||||
|
|
||||||
|
-- CREATE OR REPLACE TABLE DM.DM_TD_EXT_COUNTY_PACK2MARKET_KEYCOMPETITOR (
|
||||||
|
-- KEY_COMPETITOR STRING,
|
||||||
|
-- MARKET STRING,
|
||||||
|
-- PACK_CODE STRING)
|
||||||
|
-- USING delta
|
||||||
|
-- -- LOCATION 'abfss://master@azcdatalakeprd.dfs.core.chinacloudapi.cn/DM/dm_td_ext_county_pack2market_keycompetitor';
|
||||||
|
-- -- 上面是生产环境location,下面是测试环境location
|
||||||
|
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_county_pack2market_keycompetitor';
|
||||||
|
|
||||||
|
-- COMMAND ----------
|
||||||
|
|
||||||
|
-- CREATE or REPLACE TABLE DM.DM_TD_EXT_COUNTY_PACK2MARKET_CLASS (
|
||||||
|
-- MARKET STRING,
|
||||||
|
-- PACK_CODE STRING,
|
||||||
|
-- CLASS STRING)
|
||||||
|
-- USING delta
|
||||||
|
-- -- LOCATION 'abfss://master@azcdatalakeprd.dfs.core.chinacloudapi.cn/DM/dm_td_ext_county_pack2market_class';
|
||||||
|
-- -- 上面是生产环境location,下面是测试环境location
|
||||||
|
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_county_pack2market_class';
|
||||||
|
|
||||||
|
-- COMMAND ----------
|
||||||
|
|
||||||
-- 使用 EXCEPT(集合差操作)简化逻辑
|
-- 使用 EXCEPT(集合差操作)简化逻辑
|
||||||
INSERT OVERWRITE TABLE DM.DM_TD_EXT_COUNTY_PACK2MARKET
|
INSERT OVERWRITE TABLE DM.DM_TD_EXT_COUNTY_PACK2MARKET
|
||||||
-- 包含规则
|
-- 包含规则
|
||||||
@@ -205,4 +227,100 @@ LEFT JOIN (
|
|||||||
AND (T2.PACK_CODE IS NULL OR T1.PACK_CODE = T2.PACK_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.STRENGTH IS NULL OR T1.STGH_DESC = T2.STRENGTH)
|
||||||
AND (T2.MOLECULE_CODE IS NULL OR T1.CMPS_CODE = T2.MOLECULE_CODE)
|
AND (T2.MOLECULE_CODE IS NULL OR T1.CMPS_CODE = T2.MOLECULE_CODE)
|
||||||
WHERE T2.MARKET IS NOT NULL;
|
WHERE T2.MARKET IS NOT NULL;
|
||||||
|
|
||||||
|
-- COMMAND ----------
|
||||||
|
|
||||||
|
INSERT OVERWRITE TABLE DM.DM_TD_EXT_COUNTY_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_COUNTY_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_COUNTY_PACK2MARKET_CLASS
|
||||||
|
SELECT
|
||||||
|
/*+ BROADCAST(T2) */
|
||||||
|
DISTINCT
|
||||||
|
T1.MARKET,
|
||||||
|
T1.PACK_CODE,
|
||||||
|
COALESCE( T2.CLASS, 'OTHERS') AS CLASS
|
||||||
|
FROM DM.DM_TD_EXT_COUNTY_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)
|
||||||
|
|||||||
@@ -27,4 +27,4 @@ SELECT
|
|||||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') AS ETL_INSERT_DT,
|
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') AS ETL_INSERT_DT,
|
||||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') AS ETL_UPDATE_DT
|
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') AS ETL_UPDATE_DT
|
||||||
FROM DM.DM_TD_EXT_COUNTY_PACK2MARKET
|
FROM DM.DM_TD_EXT_COUNTY_PACK2MARKET
|
||||||
WHERE UPPER(MARKET) NOT LIKE '%ALL%'
|
WHERE UPPER(MARKET) NOT LIKE '%ALL%MARKET'
|
||||||
|
|||||||
@@ -31,32 +31,41 @@
|
|||||||
-- COMMAND ----------
|
-- COMMAND ----------
|
||||||
|
|
||||||
INSERT OVERWRITE TABLE DM.DM_TD_EXT_COUNTY_MARKET_PACK_MAPPING
|
INSERT OVERWRITE TABLE DM.DM_TD_EXT_COUNTY_MARKET_PACK_MAPPING
|
||||||
SELECT DISTINCT
|
SELECT DISTINCT
|
||||||
T1.PACK_CODE,
|
T1.PACK_CODE,
|
||||||
T1.MARKET,
|
T1.MARKET,
|
||||||
T1.CLASS,
|
T4.CLASS,
|
||||||
T1.KEY_COMPETITOR,
|
T5.KEY_COMPETITOR,
|
||||||
T2.MARKET_RATIO,
|
T2.MARKET_RATIO,
|
||||||
T2.STARTTIME,
|
T2.STARTTIME,
|
||||||
T2.ENDTIME,
|
T2.ENDTIME,
|
||||||
T3.VALUE_BRAND_RATIO,
|
T3.VALUE_BRAND_RATIO,
|
||||||
T3.VALUE_BRAND_RATIO_START,
|
T3.VALUE_BRAND_RATIO_START,
|
||||||
T3.VALUE_BRAND_RATIO_END,
|
T3.VALUE_BRAND_RATIO_END,
|
||||||
T3.UNIT_BRAND_RATIO,
|
T3.UNIT_BRAND_RATIO,
|
||||||
T3.UNIT_BRAND_START,
|
T3.UNIT_BRAND_START,
|
||||||
T3.UNIT_BRAND_END,
|
T3.UNIT_BRAND_END,
|
||||||
T3.COUNTINGUNIT_BRAND_RATIO,
|
T3.COUNTINGUNIT_BRAND_RATIO,
|
||||||
T3.COUNTINGUNIT_BRAND_START,
|
T3.COUNTINGUNIT_BRAND_START,
|
||||||
T3.COUNTINGUNIT_BRAND_END,
|
T3.COUNTINGUNIT_BRAND_END,
|
||||||
T3.PDOT_BRAND_RATIO,
|
T3.PDOT_BRAND_RATIO,
|
||||||
T3.PDOT_BRAND_START,
|
T3.PDOT_BRAND_START,
|
||||||
T3.PDOT_BRAND_END,
|
T3.PDOT_BRAND_END,
|
||||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') AS ETL_INSERT_DT,
|
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(), 'UTC+8') AS ETL_INSERT_DT,
|
||||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(),'UTC+8') AS ETL_UPDATE_DT
|
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(), 'UTC+8') AS ETL_UPDATE_DT
|
||||||
FROM
|
FROM
|
||||||
DM.DM_TD_EXT_COUNTY_PACK_PROPERTY T1
|
DM.DM_TD_EXT_COUNTY_PACK2MARKET T1
|
||||||
LEFT JOIN DM.DM_TD_EXT_COUNTY_MARKET_RATIO T2
|
LEFT JOIN DM.DM_TD_EXT_COUNTY_MARKET_RATIO T2
|
||||||
ON T1.MARKET = T2.MARKET AND T1.PACK_CODE = T2.PACK_CODE
|
ON T1.MARKET = T2.MARKET
|
||||||
LEFT JOIN DM.DM_TD_EXT_COUNTY_MARKET_BRAND_RATIO T3
|
AND T1.PACK_CODE = T2.PACK_CODE
|
||||||
ON T1.MARKET = T3.MARKET AND T1.PACK_CODE = T3.PACK_CODE
|
LEFT JOIN DM.DM_TD_EXT_COUNTY_MARKET_BRAND_RATIO T3
|
||||||
WHERE UPPER(T1.MARKET) NOT LIKE "%ALL%"
|
ON T1.MARKET = T3.MARKET
|
||||||
|
AND T1.PACK_CODE = T3.PACK_CODE
|
||||||
|
LEFT JOIN DM.DM_TD_EXT_COUNTY_PACK2MARKET_CLASS T4
|
||||||
|
ON T1.PACK_CODE = T4.PACK_CODE
|
||||||
|
AND T1.MARKET = T4.MARKET
|
||||||
|
LEFT JOIN DM.DM_TD_EXT_COUNTY_PACK2MARKET_KEYCOMPETITOR T5
|
||||||
|
ON T1.PACK_CODE = T5.PACK_CODE
|
||||||
|
AND T1.MARKET = T5.MARKET
|
||||||
|
WHERE
|
||||||
|
UPPER(T1.MARKET) NOT LIKE "%ALL%MARKET"
|
||||||
|
|||||||
Reference in New Issue
Block a user