Add EXTERNAL SQL scripts
This commit is contained in:
461
EXTERNAL/ORG/DM_TD_EXT_AIA_ORG.sql
Normal file
461
EXTERNAL/ORG/DM_TD_EXT_AIA_ORG.sql
Normal file
@@ -0,0 +1,461 @@
|
||||
-- Databricks notebook source
|
||||
-- CREATE OR REPLACE TABLE DM.DM_TD_EXT_AIA_ORG (
|
||||
-- REGION_CODE STRING,
|
||||
-- REGION_NAME_EN STRING,
|
||||
-- RSM_NAME STRING,
|
||||
-- RC_CODE STRING,
|
||||
-- RC_NAME_EN STRING,
|
||||
-- RC_NAME STRING,
|
||||
-- REGIONCENTER STRING,
|
||||
-- AUDIT_COD STRING,
|
||||
-- MARKET STRING,
|
||||
-- BU_CATEGORY STRING,
|
||||
-- BU_NAME_EN STRING,
|
||||
-- SUB_BU_NAME STRING,
|
||||
-- SUB_BU_CODE_AUTH STRING,
|
||||
-- BU_CODE_AUTH STRING,
|
||||
-- DATA_SOURCE STRING,
|
||||
-- REGION_RATIO FLOAT,
|
||||
-- TEAM STRING,
|
||||
-- MR_TRTY_CODE STRING,
|
||||
-- NSD_KCODE STRING,
|
||||
-- NSD_NAME STRING,
|
||||
-- RSD_KCODE STRING,
|
||||
-- RSD_NAME STRING,
|
||||
-- RSM_KCODE STRING,
|
||||
-- DSM_KCODE STRING,
|
||||
-- DSM_NAME STRING,
|
||||
-- MR_KCODE STRING,
|
||||
-- MR_NAME STRING)
|
||||
-- USING delta
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_aia_org';
|
||||
|
||||
-- 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。
|
||||
create or replace temporary view dm_td_org_temp
|
||||
as
|
||||
SELECT org_key,mr_trty_tag,district_code,rsm_name,rc_name,p2.region_name,p2.rsd_kcode,p2.rsd_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_code = 'PC12' then 'PC09' else p2.bu_code end bu_code
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_report = 'EC' THEN 'Retail' ELSE p2.bu_report end bu_report
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_code = 'NA27' then 'NA06' else p2.sub_bu_code end sub_bu_code
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_name = 'EC' then 'Retail' else p2.sub_bu_name end sub_bu_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_name_en = 'EC' then 'Retail' else p2.sub_bu_name_en end sub_bu_name_en
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_name = 'EC' then 'Retail' else p2.bu_name end bu_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_name_en = 'EC' then 'Retail' else p2.bu_name_en end bu_name_en
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.nsd_kcode = 'ND_EC0001_V' then 'KSGX559' else p2.nsd_kcode end nsd_kcode
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_name = 'EC'and p2.nsd_name = 'Vacant' then '李白杨' else p2.nsd_name end nsd_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.nsd_trty_code = 'ND_EC0001' then 'ND_RT0001' else p2.nsd_trty_code end nsd_trty_code
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bsd_kcode = 'VP_EC0001_V' then 'VP_RT0001_V' else p2.bsd_kcode end bsd_kcode
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bsd_trty_code = 'VP_EC0001' then 'VP_RT0001' else p2.bsd_trty_code end bsd_trty_code
|
||||
,mr_kcode,dsm_trty_code,rsm_trty_code,dsm_kcode,rsd_trty_code
|
||||
,district_name,dsm_name,mr_name,yyyymm,mr_trty_code,REGION_CODE,rc_code,bu_category,rsm_kcode
|
||||
FROM DM.dm_td_org P2
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
---------------------------------------------------------------------------------------
|
||||
--修改时间:20241105
|
||||
--修改人:Fanxujia
|
||||
--修改内容:
|
||||
--for AIA Dashboard,新增NSD、RSD、RSM、DSM、MR、TEAM等信息
|
||||
--仅AIA渠道的数据增加值,其他渠道都为空
|
||||
---------------------------------------------------------------------------------------
|
||||
---------------------------------------------------AIA------------------------------------------------------------------------------
|
||||
--AIA参考CHPA
|
||||
------所有BU能看AIA
|
||||
|
||||
--从销量表取到全部的机构、市场组合
|
||||
with ALL_AUDIT_Market as (
|
||||
select distinct NVL(t1.AUDIT_COD,'ROC') AUDIT_COD,
|
||||
NVL(t2.market,'ALL Market') market
|
||||
from dm.dm_ext_aia_sales t1
|
||||
left join dm.dm_td_ext_aia_market_pack_mapping t2
|
||||
on t1.pack_cod = t2.PACK_CODE
|
||||
)
|
||||
,pack_market as (
|
||||
select distinct PACK_CODE AS PACK_COD,market
|
||||
from dm.dm_td_ext_aia_market_pack_mapping
|
||||
)
|
||||
|
||||
--获取城市与大区中心的mapping
|
||||
,EXTERNAL_GEO as (
|
||||
select distinct
|
||||
concat(city_c, '市') as city_c,
|
||||
REGION_CENTER
|
||||
from DM.DM_TD_EXTERNAL_GEO_TEMP
|
||||
where DATA_SOURCE = 'AIA(Monthly)'
|
||||
)
|
||||
--CVH架构月
|
||||
,CVH_YM as (
|
||||
select key_value as yyyymm
|
||||
from dm.dm_td_date_config
|
||||
where key_code = 'pfmc_cvh'
|
||||
)
|
||||
--org表
|
||||
,org as (
|
||||
select distinct
|
||||
t1.yyyymm,
|
||||
t1.bu_category,
|
||||
t1.bu_code,
|
||||
t1.bu_name_en,
|
||||
t1.sub_bu_code,
|
||||
t1.sub_bu_name,
|
||||
t1.REGION_CODE,
|
||||
t1.region_name,
|
||||
t1.rc_code,
|
||||
t1.rc_name,
|
||||
t1.district_name as team,
|
||||
t1.mr_trty_code,
|
||||
t1.nsd_kcode,
|
||||
case when t1.nsd_name = 'Vacant' then t1.nsd_kcode else t1.nsd_name end as nsd_name,
|
||||
t1.rsd_kcode,
|
||||
case when t1.rsd_name = 'Vacant' then t1.rsd_kcode else t1.rsd_name end as rsd_name,
|
||||
t1.rsm_kcode,
|
||||
case when t1.rsm_name = 'Vacant' then t1.rsm_kcode else t1.rsm_name end as rsm_name,
|
||||
t1.dsm_kcode,
|
||||
case when t1.dsm_name = 'Vacant' then t1.dsm_kcode else t1.dsm_name end as dsm_name,
|
||||
t1.mr_kcode,
|
||||
case when t1.mr_name = 'Vacant' then t1.mr_kcode else t1.mr_name end as mr_name
|
||||
from dm_td_org_temp t1
|
||||
inner join CVH_YM t2
|
||||
on t1.yyyymm = t2.yyyymm
|
||||
)
|
||||
--territory表
|
||||
,territory as (
|
||||
select distinct
|
||||
t1.yyyymm,
|
||||
t1.trty_code,
|
||||
t1.inst_code,
|
||||
t1.family_code
|
||||
from dm.dm_td_sd_territory_indication t1
|
||||
inner join CVH_YM t2
|
||||
on t1.yyyymm = t2.yyyymm
|
||||
where t1.bu not in ('CUBE','KA')
|
||||
and ((t1.key_hp in (2) and t1.bu <> 'Retail' and t1.trty_code <>'Eagle') or t1.key_hp = 1)--chenwu 20250904 排除双考影响
|
||||
)
|
||||
--将内部的Family_code转为外部的pack_cod
|
||||
,inst_pack_previous as (
|
||||
select distinct
|
||||
t1.yyyymm,
|
||||
t1.trty_code,
|
||||
t1.inst_code,
|
||||
t2.city_name,
|
||||
t5.market,
|
||||
case when t2.area_code = 'SOUTH' then 'South'
|
||||
when t2.area_code = 'WEST' then 'West'
|
||||
when t2.area_code = 'CENTRAL' then 'Central'
|
||||
when t2.area_code = 'NORTH' then 'North'
|
||||
when t2.area_code = 'EAST' then 'East'
|
||||
end as REGION_CENTER
|
||||
from territory t1
|
||||
left join dwd.dwd_td_institution t2
|
||||
on t1.inst_code = t2.inst_code
|
||||
left join cdw_dwd_dim_product_wide t3
|
||||
on t1.family_code = t3.prd_family_cd
|
||||
left join dwd.dwd_td_imscode_azcode t4
|
||||
on t3.prd_brand_cd = t4.brandcode
|
||||
left join pack_market t5
|
||||
on t4.ims_pack_cod = t5.PACK_COD
|
||||
)
|
||||
/*
|
||||
20251207 Chenwu 把可定的架构复制到立普妥上,直接替换市场 'Atorvastatin Market' = 'Rosuvastatin Market'
|
||||
*/
|
||||
,inst_pack as (
|
||||
select
|
||||
yyyymm,
|
||||
trty_code,
|
||||
inst_code,
|
||||
city_name,
|
||||
market,
|
||||
REGION_CENTER
|
||||
from inst_pack_previous
|
||||
union all
|
||||
select
|
||||
yyyymm,
|
||||
trty_code,
|
||||
inst_code,
|
||||
city_name,
|
||||
'Atorvastatin Market' market,
|
||||
REGION_CENTER
|
||||
from inst_pack_previous
|
||||
where market = 'Rosuvastatin Market'
|
||||
)
|
||||
|
||||
---------------------------------------------------------------------------------------
|
||||
--修改时间:20250220
|
||||
--修改人:Zhu chenwu
|
||||
--修改内容:
|
||||
--原本存在部分Eagel的机构和市场没有挂上架构,针对于没有挂上的部分,用dws.dws_td_eg_cityterritory中的city 和family的关系对应到市场挂上架构。
|
||||
----------------------------------------------m-----------------------------------------
|
||||
,eagle_trty as
|
||||
(---eagle的city 和 family 对应的 trtycode取数据时,如果city和family对应的trtycode 有多个,以p12,p11,p11为准,取第一个。
|
||||
select SP_TRTY_CD,CITY_CD,FAMILY_CD from (
|
||||
select *
|
||||
,row_number() over (partition by CITY_CD,FAMILY_CD order by PROJECT_CD desc) as num
|
||||
from (
|
||||
select SP_TRTY_CD,CITY_CD,FAMILY_CD,PROJECT_CD from dws.dws_td_eg_cityterritory t1
|
||||
inner join CVH_YM t2
|
||||
on t1.YM = t2.yyyymm
|
||||
where SP_TRTY_CD not in (select distinct trty_code from dm.dm_td_sd_territory_indication where bu = 'Eagle')
|
||||
and PROJECT_CD in (select distinct project_code from DWS.dws_td_eg_project_instype WHERE ins_type='医院')
|
||||
and cast(nvl(SALES_RATE,0) as decimal(20,6))<>'0.000000'
|
||||
group by 1,2,3,4
|
||||
)
|
||||
) where num = 1
|
||||
)
|
||||
,family_mapping as (--family和brand的mapping
|
||||
select prd_family_cd,prd_brand_cd from cdw_dwd_dim_product_wide
|
||||
group by 1,2
|
||||
)
|
||||
,packcode_mapping as (--pack 和 brand的mapping
|
||||
select brandcode,ims_pack_cod from dwd.dwd_td_imscode_azcode
|
||||
group by 1,2
|
||||
)
|
||||
,geo_mapping as (--city的中文
|
||||
select city_code,city_name from dm.dm_td_geography
|
||||
group by 1,2
|
||||
)
|
||||
,eagle_mapping (--eagle表中city和family所对应的 岗位编码
|
||||
select SP_TRTY_CD,city_name,market from (
|
||||
select
|
||||
t1.SP_TRTY_CD
|
||||
-- ,t1.FAMILY_CD
|
||||
-- ,t3.prd_brand_cd
|
||||
,t4.ims_pack_cod
|
||||
,t5.city_name
|
||||
from eagle_trty t1
|
||||
left join family_mapping t3
|
||||
on t1.FAMILY_CD = t3.prd_family_cd --转换family 成 brand
|
||||
left join packcode_mapping t4
|
||||
on t3.prd_brand_cd = t4.brandcode
|
||||
left join geo_mapping t5
|
||||
on t1.CITY_CD = t5.city_code) A
|
||||
inner join pack_market B on A.ims_pack_cod = B.PACK_COD
|
||||
group by 1,2,3
|
||||
)
|
||||
|
||||
,audit_geo as (--audit的城市信息
|
||||
select AUDIT_COD,max(CITY_C) as city_c from DM.DM_TD_EXTERNAL_GEO
|
||||
where DATA_SOURCE = 'AIA(Monthly)'
|
||||
group by 1)
|
||||
|
||||
,eagle_trty_with_city as ( --eagle中 挂上 部分机构归不到eagle的,按eagle的城市+品牌挂上
|
||||
select
|
||||
t0.AUDIT_COD,t0.market
|
||||
,t10.city_c
|
||||
,eagle_mapping.SP_TRTY_CD from ALL_AUDIT_Market t0
|
||||
left join audit_geo t10 on t0.AUDIT_COD = t10.AUDIT_COD
|
||||
left join eagle_mapping on eagle_mapping.city_name = t10.city_c and eagle_mapping.market = t0.market
|
||||
where eagle_mapping.SP_TRTY_CD is not null
|
||||
group by 1,2,3,4)
|
||||
|
||||
insert overwrite dm.DM_TD_EXT_AIA_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,
|
||||
TEAM,
|
||||
MR_TRTY_CODE,
|
||||
NSD_KCODE,
|
||||
NSD_NAME,
|
||||
RSD_KCODE,
|
||||
RSD_NAME,
|
||||
RSM_KCODE,
|
||||
DSM_KCODE,
|
||||
DSM_NAME,
|
||||
MR_KCODE,
|
||||
MR_NAME
|
||||
)
|
||||
|
||||
SELECT distinct
|
||||
COALESCE(t2.REGION_CODE,t6.REGION_CODE,'ROC') as REGION_CODE,
|
||||
COALESCE(t2.region_name,t6.region_name,'ROC') as region_name_en,
|
||||
COALESCE(t2.rc_code,t6.rc_code,'ROC') as rc_code,
|
||||
COALESCE(t2.rc_name,t6.rc_name,'ROC') as rc_name_en,
|
||||
COALESCE(t1.REGION_CENTER,t4.REGION_CENTER,t7.REGION_CENTER,'') as RegionCenter,
|
||||
t0.AUDIT_COD,
|
||||
t0.MARKET,
|
||||
COALESCE(t2.bu_category,t6.bu_category,'') as bu_category,
|
||||
COALESCE(t2.bu_name_en,t6.bu_name_en,'') as bu_name_en,
|
||||
COALESCE(t2.sub_bu_name,t6.sub_bu_name,'') as sub_bu_name,
|
||||
COALESCE(t2.sub_bu_code,t6.sub_bu_code,'') as sub_bu_code_auth,
|
||||
concat(COALESCE(t2.bu_code,t6.bu_code,''),'AIA(Monthly)') as bu_code_auth,
|
||||
'AIA(Monthly)' as DATA_SOURCE,
|
||||
1 REGION_RATIO,
|
||||
COALESCE(t2.rsm_name,t6.rsm_name,'Vacant') as rsm_name,
|
||||
COALESCE(t2.rsd_name,t6.rsd_name,'Vacant') as RC_Name,
|
||||
COALESCE(t2.team,t6.team,'ROC') as team,
|
||||
COALESCE(t2.mr_trty_code,t6.mr_trty_code,'Vacant') as mr_trty_code,
|
||||
COALESCE(t2.nsd_kcode,t6.nsd_kcode,'Vacant') as nsd_kcode,
|
||||
COALESCE(t2.nsd_name,t6.nsd_name,'Vacant') as nsd_name,
|
||||
COALESCE(t2.rsd_kcode,t6.rsd_kcode,'Vacant') as rsd_kcode,
|
||||
COALESCE(t2.rsd_name,t6.rsd_name,'Vacant') as rsd_name,
|
||||
COALESCE(t2.rsm_kcode,t6.rsm_kcode,'Vacant') as rsm_kcode,
|
||||
COALESCE(t2.dsm_kcode,t6.dsm_kcode,'Vacant') as dsm_kcode,
|
||||
COALESCE(t2.dsm_name,t6.dsm_name,'Vacant') as dsm_name,
|
||||
COALESCE(t2.mr_kcode,t6.mr_kcode,'Vacant') as mr_kcode,
|
||||
COALESCE(t2.mr_name,t6.mr_name,'Vacant') as mr_name
|
||||
-- ,t5.SP_TRTY_CD
|
||||
from ALL_AUDIT_Market t0
|
||||
left join inst_pack t1
|
||||
on t0.AUDIT_COD = t1.inst_code
|
||||
and t0.market = t1.market
|
||||
left join org t2
|
||||
on t1.trty_code = t2.mr_trty_code
|
||||
and t1.yyyymm = t2.yyyymm
|
||||
left join EXTERNAL_GEO t4
|
||||
on t1.city_name = t4.city_c
|
||||
|
||||
left join eagle_trty_with_city t5
|
||||
on t0.AUDIT_COD = t5.AUDIT_COD
|
||||
and t0.market = t5.market and t1.inst_code is null
|
||||
left join org t6
|
||||
on t5.SP_TRTY_CD = t6.mr_trty_code
|
||||
left join EXTERNAL_GEO t7
|
||||
on t5.city_c = t7.city_c
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
-- DBTITLE 1,add
|
||||
--修改时间:20240808
|
||||
--修改人:FanXuJia
|
||||
--修改背景:
|
||||
--事实表与维度表来自于不同手工表,目前存在一部分audit_cod在事实表有销量,但是在维度表没有这个audit_cod,导致销量缺失。
|
||||
--因此需要从事实表补全这部分audit_cod
|
||||
with sales as (
|
||||
select distinct PACK_COD,AUDIT_COD,DATA_SOURCE from dm.dm_tf_external_sales
|
||||
union
|
||||
select distinct PACK_COD,AUDIT_COD,DATA_SOURCE from dm.dm_tf_external_sales_thc
|
||||
)
|
||||
,market_pack as (
|
||||
select distinct PACK_COD,MARKET,DATA_SOURCE from dm.dm_td_external_market_pack_mapping
|
||||
)
|
||||
,org as (
|
||||
select distinct AUDIT_COD,MARKET,DATA_SOURCE from dm.DM_TD_EXT_AIA_ORG
|
||||
)
|
||||
,tmp_org as (
|
||||
select distinct a.AUDIT_COD,b.MARKET,a.DATA_SOURCE
|
||||
from sales a
|
||||
left join market_pack b on a.PACK_COD = b.PACK_COD and a.DATA_SOURCE = b.DATA_SOURCE
|
||||
left join org c on a.DATA_SOURCE = c.DATA_SOURCE and a.AUDIT_COD = c.AUDIT_COD and b.MARKET = c.MARKET
|
||||
where C.AUDIT_COD IS NULL
|
||||
)
|
||||
insert into table dm.DM_TD_EXT_AIA_ORG
|
||||
(
|
||||
REGION_CODE,
|
||||
region_name_en,
|
||||
RSM_Name,
|
||||
rc_code,
|
||||
rc_name_en,
|
||||
RC_Name,
|
||||
RegionCenter,
|
||||
AUDIT_COD,
|
||||
MARKET,
|
||||
bu_category,
|
||||
bu_name_en,
|
||||
sub_bu_name,
|
||||
sub_bu_code_auth,
|
||||
bu_code_auth,
|
||||
DATA_SOURCE,
|
||||
REGION_RATIO,
|
||||
TEAM,
|
||||
MR_TRTY_CODE,
|
||||
NSD_KCODE,
|
||||
NSD_NAME,
|
||||
RSD_KCODE,
|
||||
RSD_NAME,
|
||||
RSM_KCODE,
|
||||
DSM_KCODE,
|
||||
DSM_NAME,
|
||||
MR_KCODE,
|
||||
MR_NAME
|
||||
)
|
||||
select
|
||||
'ROC' as REGION_CODE,
|
||||
'ROC' as region_name_en,
|
||||
'Vacant' as RSM_Name,
|
||||
'ROC' as rc_code,
|
||||
'ROC' as rc_name_en,
|
||||
'Vacant' as RC_Name,
|
||||
null as RegionCenter,
|
||||
AUDIT_COD,
|
||||
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 = 'AIA(Monthly)'
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
-- DBTITLE 1,hidden_market
|
||||
-----------------------------------------------------------
|
||||
--修改时间:20241118
|
||||
--修改人:Fanxujia
|
||||
--修改内容:
|
||||
--使用手工文件排除掉每个渠道的不需要显示的市场
|
||||
-----------------------------------------------------------
|
||||
with hidden_market as (
|
||||
select distinct
|
||||
case when upper(data_source) = 'CHPA' then 'IQVIA-CHPA(Monthly)'
|
||||
when upper(data_source) = '科室市场' then 'XH Data(Quarterly)'
|
||||
when upper(data_source) = 'EC' then 'EC(Monthly)'
|
||||
when upper(data_source) = 'RETAIL' then 'Retail(Quarterly)'
|
||||
when upper(data_source) = 'CHC' then 'CHC(Quarterly)'
|
||||
when upper(data_source) = 'AIA' then 'AIA(Monthly)'
|
||||
when upper(data_source) = 'THC' then 'THC(Quarterly)'
|
||||
when upper(data_source) = 'COUNTY' then 'IQVIA-COUNTY(Quarterly)'
|
||||
else data_source
|
||||
end as data_source,
|
||||
upper(hidden_market) as hidden_market
|
||||
from dwd.dwd_gnd_ims_hidden_market
|
||||
union all
|
||||
select
|
||||
'AIA(Monthly)' as data_source,
|
||||
'AIA ALL Market'
|
||||
)
|
||||
|
||||
|
||||
MERGE into dm.DM_TD_EXT_AIA_ORG as t1
|
||||
USING hidden_market t2
|
||||
on t1.data_source = t2.data_source
|
||||
and upper(t1.MARKET) = upper(t2.hidden_market)
|
||||
WHEN MATCHED THEN
|
||||
DELETE
|
||||
BIN
EXTERNAL/ORG/DM_TD_EXT_AIA_ORG.sql:Zone.Identifier
Normal file
BIN
EXTERNAL/ORG/DM_TD_EXT_AIA_ORG.sql:Zone.Identifier
Normal file
Binary file not shown.
239
EXTERNAL/ORG/DM_TD_EXT_CHC_ORG.sql
Normal file
239
EXTERNAL/ORG/DM_TD_EXT_CHC_ORG.sql
Normal file
@@ -0,0 +1,239 @@
|
||||
-- Databricks notebook source
|
||||
-- CREATE OR REPLACE TABLE DM.DM_TD_EXT_CHC_ORG (
|
||||
-- REGION_CODE STRING,
|
||||
-- REGION_NAME_EN STRING,
|
||||
-- RSM_NAME STRING,
|
||||
-- RC_CODE STRING,
|
||||
-- RC_NAME_EN STRING,
|
||||
-- RC_NAME STRING,
|
||||
-- REGIONCENTER STRING,
|
||||
-- AUDIT_COD STRING,
|
||||
-- MARKET STRING,
|
||||
-- BU_CATEGORY STRING,
|
||||
-- BU_NAME_EN STRING,
|
||||
-- SUB_BU_NAME STRING,
|
||||
-- SUB_BU_CODE_AUTH STRING,
|
||||
-- BU_CODE_AUTH STRING,
|
||||
-- DATA_SOURCE STRING,
|
||||
-- REGION_RATIO FLOAT,
|
||||
-- TEAM STRING,
|
||||
-- MR_TRTY_CODE STRING,
|
||||
-- NSD_KCODE STRING,
|
||||
-- NSD_NAME STRING,
|
||||
-- RSD_KCODE STRING,
|
||||
-- RSD_NAME STRING,
|
||||
-- RSM_KCODE STRING,
|
||||
-- DSM_KCODE STRING,
|
||||
-- DSM_NAME STRING,
|
||||
-- MR_KCODE STRING,
|
||||
-- MR_NAME STRING)
|
||||
-- USING delta
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_chc_org';
|
||||
|
||||
-- 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。
|
||||
create or replace temporary view dm_td_org_temp
|
||||
as
|
||||
SELECT org_key,mr_trty_tag,district_code,rsm_name,rc_name,p2.region_name,p2.rsd_kcode,p2.rsd_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_code = 'PC12' then 'PC09' else p2.bu_code end bu_code
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_report = 'EC' THEN 'Retail' ELSE p2.bu_report end bu_report
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_code = 'NA27' then 'NA06' else p2.sub_bu_code end sub_bu_code
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_name = 'EC' then 'Retail' else p2.sub_bu_name end sub_bu_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_name_en = 'EC' then 'Retail' else p2.sub_bu_name_en end sub_bu_name_en
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_name = 'EC' then 'Retail' else p2.bu_name end bu_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_name_en = 'EC' then 'Retail' else p2.bu_name_en end bu_name_en
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.nsd_kcode = 'ND_EC0001_V' then 'KSGX559' else p2.nsd_kcode end nsd_kcode
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_name = 'EC'and p2.nsd_name = 'Vacant' then '李白杨' else p2.nsd_name end nsd_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.nsd_trty_code = 'ND_EC0001' then 'ND_RT0001' else p2.nsd_trty_code end nsd_trty_code
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bsd_kcode = 'VP_EC0001_V' then 'VP_RT0001_V' else p2.bsd_kcode end bsd_kcode
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bsd_trty_code = 'VP_EC0001' then 'VP_RT0001' else p2.bsd_trty_code end bsd_trty_code
|
||||
,mr_kcode,dsm_trty_code,rsm_trty_code,dsm_kcode,rsd_trty_code
|
||||
,district_name,dsm_name,mr_name,yyyymm,mr_trty_code,REGION_CODE,rc_code,bu_category,rsm_kcode
|
||||
FROM DM.dm_td_org P2
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
----------------------------------------------------CHC------------------------------------------------------------------------------
|
||||
-----------只有chc的人能看chc
|
||||
insert overwrite dm.DM_TD_EXT_CHC_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,
|
||||
TEAM,
|
||||
MR_TRTY_CODE,
|
||||
NSD_KCODE,
|
||||
NSD_NAME,
|
||||
RSD_KCODE,
|
||||
RSD_NAME,
|
||||
RSM_KCODE,
|
||||
DSM_KCODE,
|
||||
DSM_NAME,
|
||||
MR_KCODE,
|
||||
MR_NAME
|
||||
)
|
||||
SELECT DISTINCT T1.REGION_CODE,T1.region_name,T1.rc_code,T1.rc_name,T4.REGION_CENTER RegionCenter,T4.AUDIT_COD,T3.MARKET,T1.bu_category,T1.bu_name_en,T1.sub_bu_name,T1.sub_bu_code sub_bu_code_auth,concat(T1.bu_code,'CHC(Quarterly)') bu_code_auth,T4.DATA_SOURCE,1 REGION_RATIO,t1.RSM_Name,t1.rsd_name,
|
||||
'' as TEAM,
|
||||
'' as MR_TRTY_CODE,
|
||||
'' as NSD_KCODE,
|
||||
'' as NSD_NAME,
|
||||
'' as RSD_KCODE,
|
||||
'' as RSD_NAME,
|
||||
'' as RSM_KCODE,
|
||||
'' as DSM_KCODE,
|
||||
'' as DSM_NAME,
|
||||
'' as MR_KCODE,
|
||||
'' as MR_NAME
|
||||
from dm_td_org_temp t1
|
||||
left join(
|
||||
select distinct
|
||||
t1.yyyymm,
|
||||
t1.trty_code,
|
||||
t2.city_name,
|
||||
t4.ims_prod_cod,
|
||||
t4.ims_pack_cod
|
||||
from dm.dm_td_sd_territory_indication t1
|
||||
left join dwd.dwd_td_institution t2 on t1.inst_code=t2.inst_code
|
||||
left join cdw_dwd_dim_product_wide t3 on t3.prd_family_cd=t1.family_code
|
||||
left join dwd.dwd_td_imscode_azcode t4 on t3.prd_brand_cd=t4.brandcode
|
||||
where t1.bu not in ('CUBE','KA')
|
||||
and t1.key_hp<>3 --chenwu 20250904 排除双考影响
|
||||
)t2 on t2.trty_code= t1.mr_trty_code and t2.yyyymm=t1.yyyymm
|
||||
left join dws.dws_ims_td_market t3 on t2.ims_pack_cod=t3.pack_cod
|
||||
left join DM.dm_td_external_geo_temp T4 on t2.city_name=concat(t4.city_c,'市') AND T4.DATA_SOURCE = 'CHC(Quarterly)'
|
||||
--使用和performance cvh 的org架构
|
||||
where t1.yyyymm in(
|
||||
select key_value from dm.dm_td_date_config where key_code='pfmc_cvh')
|
||||
and t3.market is not null and t4.audit_cod is not null and t1.bu_name_en = 'CHC'
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
-- DBTITLE 1,add
|
||||
--修改时间:20240808
|
||||
--修改人:FanXuJia
|
||||
--修改背景:
|
||||
--事实表与维度表来自于不同手工表,目前存在一部分audit_cod在事实表有销量,但是在维度表没有这个audit_cod,导致销量缺失。
|
||||
--因此需要从事实表补全这部分audit_cod
|
||||
with sales as (
|
||||
select distinct PACK_COD,AUDIT_COD,DATA_SOURCE from dm.dm_tf_external_sales
|
||||
union
|
||||
select distinct PACK_COD,AUDIT_COD,DATA_SOURCE from dm.dm_tf_external_sales_thc
|
||||
)
|
||||
,market_pack as (
|
||||
select distinct PACK_COD,MARKET,DATA_SOURCE from dm.dm_td_external_market_pack_mapping
|
||||
)
|
||||
,org as (
|
||||
select distinct AUDIT_COD,MARKET,DATA_SOURCE from dm.DM_TD_EXT_CHC_ORG
|
||||
)
|
||||
,tmp_org as (
|
||||
select distinct a.AUDIT_COD,b.MARKET,a.DATA_SOURCE
|
||||
from sales a
|
||||
left join market_pack b on a.PACK_COD = b.PACK_COD and a.DATA_SOURCE = b.DATA_SOURCE
|
||||
left join org c on a.DATA_SOURCE = c.DATA_SOURCE and a.AUDIT_COD = c.AUDIT_COD and b.MARKET = c.MARKET
|
||||
where C.AUDIT_COD IS NULL
|
||||
)
|
||||
|
||||
insert into table dm.DM_TD_EXT_CHC_ORG
|
||||
(
|
||||
REGION_CODE,
|
||||
region_name_en,
|
||||
RSM_Name,
|
||||
rc_code,
|
||||
rc_name_en,
|
||||
RC_Name,
|
||||
RegionCenter,
|
||||
AUDIT_COD,
|
||||
MARKET,
|
||||
bu_category,
|
||||
bu_name_en,
|
||||
sub_bu_name,
|
||||
sub_bu_code_auth,
|
||||
bu_code_auth,
|
||||
DATA_SOURCE,
|
||||
REGION_RATIO,
|
||||
TEAM,
|
||||
MR_TRTY_CODE,
|
||||
NSD_KCODE,
|
||||
NSD_NAME,
|
||||
RSD_KCODE,
|
||||
RSD_NAME,
|
||||
RSM_KCODE,
|
||||
DSM_KCODE,
|
||||
DSM_NAME,
|
||||
MR_KCODE,
|
||||
MR_NAME
|
||||
)
|
||||
select
|
||||
'ROC' as REGION_CODE,
|
||||
'ROC' as region_name_en,
|
||||
'Vacant' as RSM_Name,
|
||||
'ROC' as rc_code,
|
||||
'ROC' as rc_name_en,
|
||||
'Vacant' as RC_Name,
|
||||
null as RegionCenter,
|
||||
AUDIT_COD,
|
||||
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 = 'CHC(Quarterly)'
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
-- DBTITLE 1,hidden_market
|
||||
-----------------------------------------------------------
|
||||
--修改时间:20241118
|
||||
--修改人:Fanxujia
|
||||
--修改内容:
|
||||
--使用手工文件排除掉每个渠道的不需要显示的市场
|
||||
-----------------------------------------------------------
|
||||
with hidden_market as (
|
||||
select distinct
|
||||
case when upper(data_source) = 'CHPA' then 'IQVIA-CHPA(Monthly)'
|
||||
when upper(data_source) = '科室市场' then 'XH Data(Quarterly)'
|
||||
when upper(data_source) = 'EC' then 'EC(Monthly)'
|
||||
when upper(data_source) = 'RETAIL' then 'Retail(Quarterly)'
|
||||
when upper(data_source) = 'CHC' then 'CHC(Quarterly)'
|
||||
when upper(data_source) = 'AIA' then 'AIA(Monthly)'
|
||||
when upper(data_source) = 'THC' then 'THC(Quarterly)'
|
||||
when upper(data_source) = 'COUNTY' then 'IQVIA-COUNTY(Quarterly)'
|
||||
else data_source
|
||||
end as data_source,
|
||||
upper(hidden_market) as hidden_market
|
||||
from dwd.dwd_gnd_ims_hidden_market
|
||||
union all
|
||||
select
|
||||
'AIA(Monthly)' as data_source,
|
||||
'AIA ALL Market'
|
||||
)
|
||||
|
||||
|
||||
MERGE into dm.DM_TD_EXT_CHC_ORG as t1
|
||||
USING hidden_market t2
|
||||
on t1.data_source = t2.data_source
|
||||
and upper(t1.MARKET) = upper(t2.hidden_market)
|
||||
WHEN MATCHED THEN
|
||||
DELETE
|
||||
BIN
EXTERNAL/ORG/DM_TD_EXT_CHC_ORG.sql:Zone.Identifier
Normal file
BIN
EXTERNAL/ORG/DM_TD_EXT_CHC_ORG.sql:Zone.Identifier
Normal file
Binary file not shown.
237
EXTERNAL/ORG/DM_TD_EXT_CHPA_ORG.sql
Normal file
237
EXTERNAL/ORG/DM_TD_EXT_CHPA_ORG.sql
Normal file
@@ -0,0 +1,237 @@
|
||||
-- Databricks notebook source
|
||||
-- CREATE OR REPLACE TABLE DM.DM_TD_EXT_CHPA_ORG (
|
||||
-- REGION_CODE STRING,
|
||||
-- REGION_NAME_EN STRING,
|
||||
-- RSM_NAME STRING,
|
||||
-- RC_CODE STRING,
|
||||
-- RC_NAME_EN STRING,
|
||||
-- RC_NAME STRING,
|
||||
-- REGIONCENTER STRING,
|
||||
-- AUDIT_COD STRING,
|
||||
-- MARKET STRING,
|
||||
-- BU_CATEGORY STRING,
|
||||
-- BU_NAME_EN STRING,
|
||||
-- SUB_BU_NAME STRING,
|
||||
-- SUB_BU_CODE_AUTH STRING,
|
||||
-- BU_CODE_AUTH STRING,
|
||||
-- DATA_SOURCE STRING,
|
||||
-- REGION_RATIO FLOAT,
|
||||
-- TEAM STRING,
|
||||
-- MR_TRTY_CODE STRING,
|
||||
-- NSD_KCODE STRING,
|
||||
-- NSD_NAME STRING,
|
||||
-- RSD_KCODE STRING,
|
||||
-- RSD_NAME STRING,
|
||||
-- RSM_KCODE STRING,
|
||||
-- DSM_KCODE STRING,
|
||||
-- DSM_NAME STRING,
|
||||
-- MR_KCODE STRING,
|
||||
-- MR_NAME STRING)
|
||||
-- USING delta
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_chpa_org';
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
----------------------------------------------------chpa------------------------------------------------------------------------------
|
||||
------所有BU能看CHPA
|
||||
insert overwrite DM.DM_TD_EXT_CHPA_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,
|
||||
TEAM,
|
||||
MR_TRTY_CODE,
|
||||
NSD_KCODE,
|
||||
NSD_NAME,
|
||||
RSD_KCODE,
|
||||
RSD_NAME,
|
||||
RSM_KCODE,
|
||||
DSM_KCODE,
|
||||
DSM_NAME,
|
||||
MR_KCODE,
|
||||
MR_NAME
|
||||
)
|
||||
SELECT DISTINCT
|
||||
CASE WHEN bu_category IN ('All Channel','EC') then 'ROC'
|
||||
when REGION_CODE IN ('Other Low Tiers', 'Non AZ Region') THEN 'ROC'
|
||||
ELSE REGION_CODE
|
||||
END REGION_CODE,
|
||||
CASE WHEN bu_category IN ('All Channel','EC') then 'ROC'
|
||||
when region_name IN ('Other Low Tiers', 'Non AZ Region') THEN 'ROC'
|
||||
ELSE region_name
|
||||
END region_name,
|
||||
CASE WHEN bu_category IN ('All Channel','EC') then 'ROC'
|
||||
when rc_code IN ('Other Low Tiers', 'Non AZ Region') THEN 'ROC'
|
||||
ELSE rc_code
|
||||
END rc_code,
|
||||
CASE WHEN bu_category IN ('All Channel','EC') then 'ROC'
|
||||
when rc_name IN ('Other Low Tiers', 'Non AZ Region') THEN 'ROC'
|
||||
ELSE rc_name
|
||||
END rc_name,
|
||||
RegionCenter,
|
||||
AUDIT_COD,
|
||||
MARKET,
|
||||
bu_category,
|
||||
bu_name_en,
|
||||
sub_bu_name,
|
||||
sub_bu_code_auth,
|
||||
concat(bu_code_auth, 'IQVIA-CHPA(Monthly)') bu_code_auth,
|
||||
'IQVIA-CHPA(Monthly)' DATA_SOURCE,
|
||||
1 REGION_RATIO,
|
||||
rsm_name,
|
||||
rsd_name,
|
||||
'' as TEAM,
|
||||
'' as MR_TRTY_CODE,
|
||||
'' as NSD_KCODE,
|
||||
'' as NSD_NAME,
|
||||
'' as RSD_KCODE,
|
||||
'' as RSD_NAME,
|
||||
'' as RSM_KCODE,
|
||||
'' as DSM_KCODE,
|
||||
'' as DSM_NAME,
|
||||
'' as MR_KCODE,
|
||||
'' as MR_NAME
|
||||
FROM
|
||||
DM.DM_ims_TD_ORG
|
||||
WHERE
|
||||
MARKET <> 'IMS ALL Market'
|
||||
and AUDIT_COD is not null
|
||||
and ORG_KEY is not null
|
||||
--AND bu_category NOT IN ('All Channel','EC')
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
-- DBTITLE 1,add
|
||||
--修改时间:20240808
|
||||
--修改人:FanXuJia
|
||||
--修改背景:
|
||||
--事实表与维度表来自于不同手工表,目前存在一部分audit_cod在事实表有销量,但是在维度表没有这个audit_cod,导致销量缺失。
|
||||
--因此需要从事实表补全这部分audit_cod
|
||||
with sales as (
|
||||
select distinct PACK_COD,AUDIT_COD,DATA_SOURCE from dm.dm_tf_external_sales
|
||||
union
|
||||
select distinct PACK_COD,AUDIT_COD,DATA_SOURCE from dm.dm_tf_external_sales_thc
|
||||
)
|
||||
,market_pack as (
|
||||
select distinct PACK_COD,MARKET,DATA_SOURCE from dm.dm_td_external_market_pack_mapping
|
||||
)
|
||||
,org as (
|
||||
select distinct AUDIT_COD,MARKET,DATA_SOURCE from dm.DM_TD_EXT_CHPA_ORG
|
||||
)
|
||||
,tmp_org as (
|
||||
select distinct a.AUDIT_COD,b.MARKET,a.DATA_SOURCE
|
||||
from sales a
|
||||
left join market_pack b on a.PACK_COD = b.PACK_COD and a.DATA_SOURCE = b.DATA_SOURCE
|
||||
left join org c on a.DATA_SOURCE = c.DATA_SOURCE and a.AUDIT_COD = c.AUDIT_COD and b.MARKET = c.MARKET
|
||||
where C.AUDIT_COD IS NULL
|
||||
)
|
||||
|
||||
insert into table dm.DM_TD_EXT_CHPA_ORG
|
||||
(
|
||||
REGION_CODE,
|
||||
region_name_en,
|
||||
RSM_Name,
|
||||
rc_code,
|
||||
rc_name_en,
|
||||
RC_Name,
|
||||
RegionCenter,
|
||||
AUDIT_COD,
|
||||
MARKET,
|
||||
bu_category,
|
||||
bu_name_en,
|
||||
sub_bu_name,
|
||||
sub_bu_code_auth,
|
||||
bu_code_auth,
|
||||
DATA_SOURCE,
|
||||
REGION_RATIO,
|
||||
TEAM,
|
||||
MR_TRTY_CODE,
|
||||
NSD_KCODE,
|
||||
NSD_NAME,
|
||||
RSD_KCODE,
|
||||
RSD_NAME,
|
||||
RSM_KCODE,
|
||||
DSM_KCODE,
|
||||
DSM_NAME,
|
||||
MR_KCODE,
|
||||
MR_NAME
|
||||
)
|
||||
select
|
||||
'ROC' as REGION_CODE,
|
||||
'ROC' as region_name_en,
|
||||
'Vacant' as RSM_Name,
|
||||
'ROC' as rc_code,
|
||||
'ROC' as rc_name_en,
|
||||
'Vacant' as RC_Name,
|
||||
null as RegionCenter,
|
||||
AUDIT_COD,
|
||||
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-CHPA(Monthly)'
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
-- DBTITLE 1,hidden_market
|
||||
-----------------------------------------------------------
|
||||
--修改时间:20241118
|
||||
--修改人:Fanxujia
|
||||
--修改内容:
|
||||
--使用手工文件排除掉每个渠道的不需要显示的市场
|
||||
-----------------------------------------------------------
|
||||
with hidden_market as (
|
||||
select distinct
|
||||
case when upper(data_source) = 'CHPA' then 'IQVIA-CHPA(Monthly)'
|
||||
when upper(data_source) = '科室市场' then 'XH Data(Quarterly)'
|
||||
when upper(data_source) = 'EC' then 'EC(Monthly)'
|
||||
when upper(data_source) = 'RETAIL' then 'Retail(Quarterly)'
|
||||
when upper(data_source) = 'CHC' then 'CHC(Quarterly)'
|
||||
when upper(data_source) = 'AIA' then 'AIA(Monthly)'
|
||||
when upper(data_source) = 'THC' then 'THC(Quarterly)'
|
||||
when upper(data_source) = 'COUNTY' then 'IQVIA-COUNTY(Quarterly)'
|
||||
else data_source
|
||||
end as data_source,
|
||||
upper(hidden_market) as hidden_market
|
||||
from dwd.dwd_gnd_ims_hidden_market
|
||||
union all
|
||||
select
|
||||
'AIA(Monthly)' as data_source,
|
||||
'AIA ALL Market'
|
||||
)
|
||||
|
||||
|
||||
MERGE into dm.DM_TD_EXT_CHPA_ORG as t1
|
||||
USING hidden_market t2
|
||||
on t1.data_source = t2.data_source
|
||||
and upper(t1.MARKET) = upper(t2.hidden_market)
|
||||
WHEN MATCHED THEN
|
||||
DELETE
|
||||
BIN
EXTERNAL/ORG/DM_TD_EXT_CHPA_ORG.sql:Zone.Identifier
Normal file
BIN
EXTERNAL/ORG/DM_TD_EXT_CHPA_ORG.sql:Zone.Identifier
Normal file
Binary file not shown.
220
EXTERNAL/ORG/DM_TD_EXT_COUNTY_ORG.sql
Normal file
220
EXTERNAL/ORG/DM_TD_EXT_COUNTY_ORG.sql
Normal file
@@ -0,0 +1,220 @@
|
||||
-- Databricks notebook source
|
||||
-- CREATE OR REPLACE TABLE DM.DM_TD_EXT_COUNTY_ORG (
|
||||
-- REGION_CODE STRING,
|
||||
-- REGION_NAME_EN STRING,
|
||||
-- RSM_NAME STRING,
|
||||
-- RC_CODE STRING,
|
||||
-- RC_NAME_EN STRING,
|
||||
-- RC_NAME STRING,
|
||||
-- REGIONCENTER STRING,
|
||||
-- AUDIT_COD STRING,
|
||||
-- MARKET STRING,
|
||||
-- BU_CATEGORY STRING,
|
||||
-- BU_NAME_EN STRING,
|
||||
-- SUB_BU_NAME STRING,
|
||||
-- SUB_BU_CODE_AUTH STRING,
|
||||
-- BU_CODE_AUTH STRING,
|
||||
-- DATA_SOURCE STRING,
|
||||
-- REGION_RATIO FLOAT,
|
||||
-- TEAM STRING,
|
||||
-- MR_TRTY_CODE STRING,
|
||||
-- NSD_KCODE STRING,
|
||||
-- NSD_NAME STRING,
|
||||
-- RSD_KCODE STRING,
|
||||
-- RSD_NAME STRING,
|
||||
-- RSM_KCODE STRING,
|
||||
-- DSM_KCODE STRING,
|
||||
-- DSM_NAME STRING,
|
||||
-- MR_KCODE STRING,
|
||||
-- MR_NAME STRING)
|
||||
-- USING delta
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_county_org';
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
-- 20260130 由于DM.dm_td_org数据需要转换,新增这个CELL。
|
||||
create or replace temporary view dm_td_org_temp
|
||||
as
|
||||
SELECT org_key,mr_trty_tag,district_code,rsm_name,rc_name,p2.region_name,p2.rsd_kcode,p2.rsd_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_code = 'PC12' then 'PC09' else p2.bu_code end bu_code
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_report = 'EC' THEN 'Retail' ELSE p2.bu_report end bu_report
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_code = 'NA27' then 'NA06' else p2.sub_bu_code end sub_bu_code
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_name = 'EC' then 'Retail' else p2.sub_bu_name end sub_bu_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_name_en = 'EC' then 'Retail' else p2.sub_bu_name_en end sub_bu_name_en
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_name = 'EC' then 'Retail' else p2.bu_name end bu_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_name_en = 'EC' then 'Retail' else p2.bu_name_en end bu_name_en
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.nsd_kcode = 'ND_EC0001_V' then 'KSGX559' else p2.nsd_kcode end nsd_kcode
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_name = 'EC'and p2.nsd_name = 'Vacant' then '李白杨' else p2.nsd_name end nsd_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.nsd_trty_code = 'ND_EC0001' then 'ND_RT0001' else p2.nsd_trty_code end nsd_trty_code
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bsd_kcode = 'VP_EC0001_V' then 'VP_RT0001_V' else p2.bsd_kcode end bsd_kcode
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bsd_trty_code = 'VP_EC0001' then 'VP_RT0001' else p2.bsd_trty_code end bsd_trty_code
|
||||
,mr_kcode,dsm_trty_code,rsm_trty_code,dsm_kcode,rsd_trty_code
|
||||
,district_name,dsm_name,mr_name,yyyymm,mr_trty_code,REGION_CODE,rc_code,bu_category,rsm_kcode
|
||||
FROM DM.dm_td_org P2
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
----------------------------------------------------county------------------------------------------------------------------------------
|
||||
-----------------------除了Eagle、CHC、Retail、EC的人都能看
|
||||
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,
|
||||
TEAM,
|
||||
MR_TRTY_CODE,
|
||||
NSD_KCODE,
|
||||
NSD_NAME,
|
||||
RSD_KCODE,
|
||||
RSD_NAME,
|
||||
RSM_KCODE,
|
||||
DSM_KCODE,
|
||||
DSM_NAME,
|
||||
MR_KCODE,
|
||||
MR_NAME
|
||||
)
|
||||
SELECT DISTINCT '' REGION_CODE,'' region_name_en,'' rc_code,'' rc_name_en,'' RegionCenter,A.AUDIT_COD,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,'','',
|
||||
'' as TEAM,
|
||||
'' as MR_TRTY_CODE,
|
||||
'' as NSD_KCODE,
|
||||
'' as NSD_NAME,
|
||||
'' 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_external_sales A
|
||||
INNER JOIN DM.dm_td_external_market_pack_mapping B ON A.PACK_COD = 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 ----------
|
||||
|
||||
-- DBTITLE 1,add
|
||||
--修改时间:20240808
|
||||
--修改人:FanXuJia
|
||||
--修改背景:
|
||||
--事实表与维度表来自于不同手工表,目前存在一部分audit_cod在事实表有销量,但是在维度表没有这个audit_cod,导致销量缺失。
|
||||
--因此需要从事实表补全这部分audit_cod
|
||||
with sales as (
|
||||
select distinct PACK_COD,AUDIT_COD,DATA_SOURCE from dm.dm_tf_external_sales
|
||||
union
|
||||
select distinct PACK_COD,AUDIT_COD,DATA_SOURCE from dm.dm_tf_external_sales_thc
|
||||
)
|
||||
,market_pack as (
|
||||
select distinct PACK_COD,MARKET,DATA_SOURCE from dm.dm_td_external_market_pack_mapping
|
||||
)
|
||||
,org as (
|
||||
select distinct AUDIT_COD,MARKET,DATA_SOURCE from dm.DM_TD_EXT_COUNTY_ORG
|
||||
)
|
||||
,tmp_org as (
|
||||
select distinct a.AUDIT_COD,b.MARKET,a.DATA_SOURCE
|
||||
from sales a
|
||||
left join market_pack b on a.PACK_COD = b.PACK_COD and a.DATA_SOURCE = b.DATA_SOURCE
|
||||
left join org c on a.DATA_SOURCE = c.DATA_SOURCE and a.AUDIT_COD = c.AUDIT_COD and b.MARKET = c.MARKET
|
||||
where C.AUDIT_COD IS NULL
|
||||
)
|
||||
|
||||
insert into table dm.DM_TD_EXT_COUNTY_ORG
|
||||
(
|
||||
REGION_CODE,
|
||||
region_name_en,
|
||||
RSM_Name,
|
||||
rc_code,
|
||||
rc_name_en,
|
||||
RC_Name,
|
||||
RegionCenter,
|
||||
AUDIT_COD,
|
||||
MARKET,
|
||||
bu_category,
|
||||
bu_name_en,
|
||||
sub_bu_name,
|
||||
sub_bu_code_auth,
|
||||
bu_code_auth,
|
||||
DATA_SOURCE,
|
||||
REGION_RATIO,
|
||||
TEAM,
|
||||
MR_TRTY_CODE,
|
||||
NSD_KCODE,
|
||||
NSD_NAME,
|
||||
RSD_KCODE,
|
||||
RSD_NAME,
|
||||
RSM_KCODE,
|
||||
DSM_KCODE,
|
||||
DSM_NAME,
|
||||
MR_KCODE,
|
||||
MR_NAME
|
||||
)
|
||||
select
|
||||
'ROC' as REGION_CODE,
|
||||
'ROC' as region_name_en,
|
||||
'Vacant' as RSM_Name,
|
||||
'ROC' as rc_code,
|
||||
'ROC' as rc_name_en,
|
||||
'Vacant' as RC_Name,
|
||||
null as RegionCenter,
|
||||
AUDIT_COD,
|
||||
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 ----------
|
||||
|
||||
-- DBTITLE 1,DM_TD_EXT_CHPA_ORG
|
||||
-----------------------------------------------------------
|
||||
--修改时间:20241118
|
||||
--修改人:Fanxujia
|
||||
--修改内容:
|
||||
--使用手工文件排除掉每个渠道的不需要显示的市场
|
||||
-----------------------------------------------------------
|
||||
with hidden_market as (
|
||||
select distinct
|
||||
case when upper(data_source) = 'CHPA' then 'IQVIA-CHPA(Monthly)'
|
||||
when upper(data_source) = '科室市场' then 'XH Data(Quarterly)'
|
||||
when upper(data_source) = 'EC' then 'EC(Monthly)'
|
||||
when upper(data_source) = 'RETAIL' then 'Retail(Quarterly)'
|
||||
when upper(data_source) = 'CHC' then 'CHC(Quarterly)'
|
||||
when upper(data_source) = 'AIA' then 'AIA(Monthly)'
|
||||
when upper(data_source) = 'THC' then 'THC(Quarterly)'
|
||||
when upper(data_source) = 'COUNTY' then 'IQVIA-COUNTY(Quarterly)'
|
||||
else data_source
|
||||
end as data_source,
|
||||
upper(hidden_market) as hidden_market
|
||||
from dwd.dwd_gnd_ims_hidden_market
|
||||
union all
|
||||
select
|
||||
'AIA(Monthly)' as data_source,
|
||||
'AIA ALL Market'
|
||||
)
|
||||
|
||||
|
||||
MERGE into dm.DM_TD_EXT_COUNTY_ORG as t1
|
||||
USING hidden_market t2
|
||||
on t1.data_source = t2.data_source
|
||||
and upper(t1.MARKET) = upper(t2.hidden_market)
|
||||
WHEN MATCHED THEN
|
||||
DELETE
|
||||
BIN
EXTERNAL/ORG/DM_TD_EXT_COUNTY_ORG.sql:Zone.Identifier
Normal file
BIN
EXTERNAL/ORG/DM_TD_EXT_COUNTY_ORG.sql:Zone.Identifier
Normal file
Binary file not shown.
219
EXTERNAL/ORG/DM_TD_EXT_EC_ORG.sql
Normal file
219
EXTERNAL/ORG/DM_TD_EXT_EC_ORG.sql
Normal file
@@ -0,0 +1,219 @@
|
||||
-- Databricks notebook source
|
||||
-- CREATE OR REPLACE TABLE DM.DM_TD_EXT_EC_ORG (
|
||||
-- REGION_CODE STRING,
|
||||
-- REGION_NAME_EN STRING,
|
||||
-- RSM_NAME STRING,
|
||||
-- RC_CODE STRING,
|
||||
-- RC_NAME_EN STRING,
|
||||
-- RC_NAME STRING,
|
||||
-- REGIONCENTER STRING,
|
||||
-- AUDIT_COD STRING,
|
||||
-- MARKET STRING,
|
||||
-- BU_CATEGORY STRING,
|
||||
-- BU_NAME_EN STRING,
|
||||
-- SUB_BU_NAME STRING,
|
||||
-- SUB_BU_CODE_AUTH STRING,
|
||||
-- BU_CODE_AUTH STRING,
|
||||
-- DATA_SOURCE STRING,
|
||||
-- REGION_RATIO FLOAT,
|
||||
-- TEAM STRING,
|
||||
-- MR_TRTY_CODE STRING,
|
||||
-- NSD_KCODE STRING,
|
||||
-- NSD_NAME STRING,
|
||||
-- RSD_KCODE STRING,
|
||||
-- RSD_NAME STRING,
|
||||
-- RSM_KCODE STRING,
|
||||
-- DSM_KCODE STRING,
|
||||
-- DSM_NAME STRING,
|
||||
-- MR_KCODE STRING,
|
||||
-- MR_NAME STRING)
|
||||
-- USING delta
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_ec_org';
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
-- 20260130 由于DM.dm_td_org数据需要转换,新增这个CELL。
|
||||
create or replace temporary view dm_td_org_temp
|
||||
as
|
||||
SELECT org_key,mr_trty_tag,district_code,rsm_name,rc_name,p2.region_name,p2.rsd_kcode,p2.rsd_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_code = 'PC12' then 'PC09' else p2.bu_code end bu_code
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_report = 'EC' THEN 'Retail' ELSE p2.bu_report end bu_report
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_code = 'NA27' then 'NA06' else p2.sub_bu_code end sub_bu_code
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_name = 'EC' then 'Retail' else p2.sub_bu_name end sub_bu_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_name_en = 'EC' then 'Retail' else p2.sub_bu_name_en end sub_bu_name_en
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_name = 'EC' then 'Retail' else p2.bu_name end bu_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_name_en = 'EC' then 'Retail' else p2.bu_name_en end bu_name_en
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.nsd_kcode = 'ND_EC0001_V' then 'KSGX559' else p2.nsd_kcode end nsd_kcode
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_name = 'EC'and p2.nsd_name = 'Vacant' then '李白杨' else p2.nsd_name end nsd_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.nsd_trty_code = 'ND_EC0001' then 'ND_RT0001' else p2.nsd_trty_code end nsd_trty_code
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bsd_kcode = 'VP_EC0001_V' then 'VP_RT0001_V' else p2.bsd_kcode end bsd_kcode
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bsd_trty_code = 'VP_EC0001' then 'VP_RT0001' else p2.bsd_trty_code end bsd_trty_code
|
||||
,mr_kcode,dsm_trty_code,rsm_trty_code,dsm_kcode,rsd_trty_code
|
||||
,district_name,dsm_name,mr_name,yyyymm,mr_trty_code,REGION_CODE,rc_code,bu_category,rsm_kcode
|
||||
FROM DM.dm_td_org P2
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
----------------------------------------------------------EC----------------------------------------------------------
|
||||
insert overwrite dm.DM_TD_EXT_EC_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,
|
||||
TEAM,
|
||||
MR_TRTY_CODE,
|
||||
NSD_KCODE,
|
||||
NSD_NAME,
|
||||
RSD_KCODE,
|
||||
RSD_NAME,
|
||||
RSM_KCODE,
|
||||
DSM_KCODE,
|
||||
DSM_NAME,
|
||||
MR_KCODE,
|
||||
MR_NAME
|
||||
)
|
||||
SELECT DISTINCT '' REGION_CODE,'' region_name_en,'' rc_code,'' rc_name_en,'' RegionCenter,A.AUDIT_COD,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,'EC(Monthly)') bu_code_auth,A.DATA_SOURCE,1 REGION_RATIO,'','',
|
||||
'' as TEAM,
|
||||
'' as MR_TRTY_CODE,
|
||||
'' as NSD_KCODE,
|
||||
'' as NSD_NAME,
|
||||
'' 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_external_sales A
|
||||
INNER JOIN DM.dm_td_external_market_pack_mapping B ON A.PACK_COD = 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
|
||||
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 = 'Eagle'
|
||||
) C
|
||||
WHERE A.DATA_SOURCE = 'EC(Monthly)'
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
-- DBTITLE 1,add
|
||||
--修改时间:20240808
|
||||
--修改人:FanXuJia
|
||||
--修改背景:
|
||||
--事实表与维度表来自于不同手工表,目前存在一部分audit_cod在事实表有销量,但是在维度表没有这个audit_cod,导致销量缺失。
|
||||
--因此需要从事实表补全这部分audit_cod
|
||||
with sales as (
|
||||
select distinct PACK_COD,AUDIT_COD,DATA_SOURCE from dm.dm_tf_external_sales
|
||||
union
|
||||
select distinct PACK_COD,AUDIT_COD,DATA_SOURCE from dm.dm_tf_external_sales_thc
|
||||
)
|
||||
,market_pack as (
|
||||
select distinct PACK_COD,MARKET,DATA_SOURCE from dm.dm_td_external_market_pack_mapping
|
||||
)
|
||||
,org as (
|
||||
select distinct AUDIT_COD,MARKET,DATA_SOURCE from dm.DM_TD_EXT_EC_ORG
|
||||
)
|
||||
,tmp_org as (
|
||||
select distinct a.AUDIT_COD,b.MARKET,a.DATA_SOURCE
|
||||
from sales a
|
||||
left join market_pack b on a.PACK_COD = b.PACK_COD and a.DATA_SOURCE = b.DATA_SOURCE
|
||||
left join org c on a.DATA_SOURCE = c.DATA_SOURCE and a.AUDIT_COD = c.AUDIT_COD and b.MARKET = c.MARKET
|
||||
where C.AUDIT_COD IS NULL
|
||||
)
|
||||
|
||||
insert into table dm.DM_TD_EXT_EC_ORG
|
||||
(
|
||||
REGION_CODE,
|
||||
region_name_en,
|
||||
RSM_Name,
|
||||
rc_code,
|
||||
rc_name_en,
|
||||
RC_Name,
|
||||
RegionCenter,
|
||||
AUDIT_COD,
|
||||
MARKET,
|
||||
bu_category,
|
||||
bu_name_en,
|
||||
sub_bu_name,
|
||||
sub_bu_code_auth,
|
||||
bu_code_auth,
|
||||
DATA_SOURCE,
|
||||
REGION_RATIO,
|
||||
TEAM,
|
||||
MR_TRTY_CODE,
|
||||
NSD_KCODE,
|
||||
NSD_NAME,
|
||||
RSD_KCODE,
|
||||
RSD_NAME,
|
||||
RSM_KCODE,
|
||||
DSM_KCODE,
|
||||
DSM_NAME,
|
||||
MR_KCODE,
|
||||
MR_NAME
|
||||
)
|
||||
select
|
||||
'ROC' as REGION_CODE,
|
||||
'ROC' as region_name_en,
|
||||
'Vacant' as RSM_Name,
|
||||
'ROC' as rc_code,
|
||||
'ROC' as rc_name_en,
|
||||
'Vacant' as RC_Name,
|
||||
null as RegionCenter,
|
||||
AUDIT_COD,
|
||||
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 = 'EC(Monthly)'
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
-- DBTITLE 1,hidden_market
|
||||
-----------------------------------------------------------
|
||||
--修改时间:20241118
|
||||
--修改人:Fanxujia
|
||||
--修改内容:
|
||||
--使用手工文件排除掉每个渠道的不需要显示的市场
|
||||
-----------------------------------------------------------
|
||||
with hidden_market as (
|
||||
select distinct
|
||||
case when upper(data_source) = 'CHPA' then 'IQVIA-CHPA(Monthly)'
|
||||
when upper(data_source) = '科室市场' then 'XH Data(Quarterly)'
|
||||
when upper(data_source) = 'EC' then 'EC(Monthly)'
|
||||
when upper(data_source) = 'RETAIL' then 'Retail(Quarterly)'
|
||||
when upper(data_source) = 'CHC' then 'CHC(Quarterly)'
|
||||
when upper(data_source) = 'AIA' then 'AIA(Monthly)'
|
||||
when upper(data_source) = 'THC' then 'THC(Quarterly)'
|
||||
when upper(data_source) = 'COUNTY' then 'IQVIA-COUNTY(Quarterly)'
|
||||
else data_source
|
||||
end as data_source,
|
||||
upper(hidden_market) as hidden_market
|
||||
from dwd.dwd_gnd_ims_hidden_market
|
||||
union all
|
||||
select
|
||||
'AIA(Monthly)' as data_source,
|
||||
'AIA ALL Market'
|
||||
)
|
||||
|
||||
|
||||
MERGE into dm.DM_TD_EXT_EC_ORG as t1
|
||||
USING hidden_market t2
|
||||
on t1.data_source = t2.data_source
|
||||
and upper(t1.MARKET) = upper(t2.hidden_market)
|
||||
WHEN MATCHED THEN
|
||||
DELETE
|
||||
BIN
EXTERNAL/ORG/DM_TD_EXT_EC_ORG.sql:Zone.Identifier
Normal file
BIN
EXTERNAL/ORG/DM_TD_EXT_EC_ORG.sql:Zone.Identifier
Normal file
Binary file not shown.
409
EXTERNAL/ORG/DM_TD_EXT_RETAIL_ORG.sql
Normal file
409
EXTERNAL/ORG/DM_TD_EXT_RETAIL_ORG.sql
Normal file
@@ -0,0 +1,409 @@
|
||||
-- Databricks notebook source
|
||||
-- CREATE OR REPLACE TABLE DM.DM_TD_EXT_RETAIL_ORG (
|
||||
-- REGION_CODE STRING,
|
||||
-- REGION_NAME_EN STRING,
|
||||
-- RSM_NAME STRING,
|
||||
-- RC_CODE STRING,
|
||||
-- RC_NAME_EN STRING,
|
||||
-- RC_NAME STRING,
|
||||
-- REGIONCENTER STRING,
|
||||
-- AUDIT_COD STRING,
|
||||
-- MARKET STRING,
|
||||
-- BU_CATEGORY STRING,
|
||||
-- BU_NAME_EN STRING,
|
||||
-- SUB_BU_NAME STRING,
|
||||
-- SUB_BU_CODE_AUTH STRING,
|
||||
-- BU_CODE_AUTH STRING,
|
||||
-- DATA_SOURCE STRING,
|
||||
-- REGION_RATIO FLOAT,
|
||||
-- TEAM STRING,
|
||||
-- MR_TRTY_CODE STRING,
|
||||
-- NSD_KCODE STRING,
|
||||
-- NSD_NAME STRING,
|
||||
-- RSD_KCODE STRING,
|
||||
-- RSD_NAME STRING,
|
||||
-- RSM_KCODE STRING,
|
||||
-- DSM_KCODE STRING,
|
||||
-- DSM_NAME STRING,
|
||||
-- MR_KCODE STRING,
|
||||
-- MR_NAME STRING)
|
||||
-- USING delta
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_retail_org';
|
||||
|
||||
-- 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。
|
||||
create or replace temporary view dm_td_org_temp
|
||||
as
|
||||
SELECT org_key,mr_trty_tag,district_code,rsm_name,rc_name,p2.region_name,p2.rsd_kcode,p2.rsd_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_code = 'PC12' then 'PC09' else p2.bu_code end bu_code
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_report = 'EC' THEN 'Retail' ELSE p2.bu_report end bu_report
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_code = 'NA27' then 'NA06' else p2.sub_bu_code end sub_bu_code
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_name = 'EC' then 'Retail' else p2.sub_bu_name end sub_bu_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_name_en = 'EC' then 'Retail' else p2.sub_bu_name_en end sub_bu_name_en
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_name = 'EC' then 'Retail' else p2.bu_name end bu_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_name_en = 'EC' then 'Retail' else p2.bu_name_en end bu_name_en
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.nsd_kcode = 'ND_EC0001_V' then 'KSGX559' else p2.nsd_kcode end nsd_kcode
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_name = 'EC'and p2.nsd_name = 'Vacant' then '李白杨' else p2.nsd_name end nsd_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.nsd_trty_code = 'ND_EC0001' then 'ND_RT0001' else p2.nsd_trty_code end nsd_trty_code
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bsd_kcode = 'VP_EC0001_V' then 'VP_RT0001_V' else p2.bsd_kcode end bsd_kcode
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bsd_trty_code = 'VP_EC0001' then 'VP_RT0001' else p2.bsd_trty_code end bsd_trty_code
|
||||
,mr_kcode,dsm_trty_code,rsm_trty_code,dsm_kcode,rsd_trty_code
|
||||
,district_name,dsm_name,mr_name,yyyymm,mr_trty_code,REGION_CODE,rc_code,bu_category,rsm_kcode
|
||||
FROM DM.dm_td_org P2
|
||||
WHERE rc_name NOT LIKE '%B2C%'
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
----------------------------------------------------Retail-----------------------------------------------------------------------
|
||||
insert overwrite DM.DM_TD_EXT_RETAIL_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,
|
||||
TEAM,
|
||||
MR_TRTY_CODE,
|
||||
NSD_KCODE,
|
||||
NSD_NAME,
|
||||
RSD_KCODE,
|
||||
RSD_NAME,
|
||||
RSM_KCODE,
|
||||
DSM_KCODE,
|
||||
DSM_NAME,
|
||||
MR_KCODE,
|
||||
MR_NAME
|
||||
)
|
||||
with
|
||||
market_ta (
|
||||
select
|
||||
MARKET,case when TA = 'ONCO' then 'OBU' else 'Retail' end as subbu
|
||||
from dm.dm_td_external_market_ta
|
||||
where DATA_SOURCE = 'Retail(Quarterly)'
|
||||
group by 1,2
|
||||
)
|
||||
|
||||
,pack_market as (
|
||||
select distinct a.pack_cod,a.market,b.subbu
|
||||
from dm.dm_td_external_market_pack_mapping a
|
||||
left join market_ta b on a.MARKET = b.market
|
||||
where data_source = 'Retail(Quarterly)'
|
||||
)
|
||||
,external_geo as (
|
||||
select distinct province_c,audit_cod,REGION_CENTER
|
||||
from dm.dm_td_external_geo_temp
|
||||
where DATA_SOURCE = 'Retail(Quarterly)'
|
||||
)
|
||||
,YM_CVH as (
|
||||
select key_value from dm.dm_td_date_config
|
||||
where key_code = 'pfmc_cvh'
|
||||
)
|
||||
,td_org as (
|
||||
select distinct
|
||||
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
|
||||
)
|
||||
,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 bu in ('Retail') --20260320 chenwu Retail数据源的架构,去掉OBU,只保留Retail
|
||||
and t1.key_hp<>3 --chenwu 20250904 排除双考影响
|
||||
)
|
||||
,province_market as (
|
||||
select t1.trty_code,
|
||||
t2.province_name,
|
||||
t5.market
|
||||
from territory t1
|
||||
left join dwd.dwd_td_institution t2
|
||||
on t1.inst_code = t2.inst_code
|
||||
left join cdw_dwd_dim_product_wide t3
|
||||
on t1.family_code = t3.prd_family_cd
|
||||
left join dwd.dwd_td_imscode_azcode t4
|
||||
on t3.prd_brand_cd = t4.brandcode
|
||||
left join pack_market t5
|
||||
on t4.ims_pack_cod = t5.pack_cod
|
||||
where t1.bu=t5.subbu
|
||||
)
|
||||
|
||||
|
||||
SELECT
|
||||
DISTINCT t1.REGION_CODE REGION_CODE,
|
||||
t1.region_name,
|
||||
t1.rc_code,
|
||||
t1.rc_name,
|
||||
t3.REGION_CENTER RegionCenter,
|
||||
t3.AUDIT_COD,
|
||||
t2.MARKET,
|
||||
t1.bu_category,
|
||||
t1.bu_name_en,
|
||||
t1.sub_bu_name,
|
||||
t1.sub_bu_code sub_bu_code_auth,
|
||||
concat(t1.bu_code, 'Retail(Quarterly)') bu_code_auth,
|
||||
'Retail(Quarterly)' as DATA_SOURCE,
|
||||
1 REGION_RATIO,
|
||||
t1.RSM_Name,
|
||||
t1.rsd_name,
|
||||
'' as TEAM,
|
||||
'' as MR_TRTY_CODE,
|
||||
'' as NSD_KCODE,
|
||||
'' as NSD_NAME,
|
||||
'' as RSD_KCODE,
|
||||
'' as RSD_NAME,
|
||||
'' as RSM_KCODE,
|
||||
'' as DSM_KCODE,
|
||||
'' as DSM_NAME,
|
||||
'' as MR_KCODE,
|
||||
'' as MR_NAME
|
||||
from td_org t1
|
||||
inner join province_market t2
|
||||
on t1.mr_trty_code = t2.trty_code
|
||||
inner join external_geo t3 on t2.province_name = t3.province_c
|
||||
where t2.market is not null
|
||||
and t3.audit_cod is not null
|
||||
union all
|
||||
SELECT DISTINCT
|
||||
'ROC' as REGION_CODE,
|
||||
'ROC' as region_name_en,
|
||||
'ROC' as rc_code,
|
||||
'ROC' as rc_name_en,
|
||||
'Other Low Tiers' as RegionCenter,
|
||||
'ROC' AUDIT_COD,
|
||||
t2.MARKET,
|
||||
'All Channel' as bu_category,
|
||||
CASE WHEN T2.subbu = 'OBU' THEN 'OBU' ELSE 'Retail' END as bu_name_en,
|
||||
CASE WHEN T2.subbu = 'OBU' THEN 'OBU' ELSE 'Retail' END as sub_bu_name,
|
||||
CASE WHEN T2.subbu = 'OBU' THEN 'OBU' ELSE 'Retail' END as sub_bu_code_auth,
|
||||
'Retail(Quarterly)' as bu_code_auth,
|
||||
'Retail(Quarterly)' as DATA_SOURCE,
|
||||
1 as REGION_RATIO,
|
||||
'Vacant' as RSM_Name,
|
||||
'Vacant' as rsd_name,
|
||||
'' as TEAM,
|
||||
'' as MR_TRTY_CODE,
|
||||
'' as NSD_KCODE,
|
||||
'' as NSD_NAME,
|
||||
'' as RSD_KCODE,
|
||||
'' as RSD_NAME,
|
||||
'' as RSM_KCODE,
|
||||
'' as DSM_KCODE,
|
||||
'' as DSM_NAME,
|
||||
'' as MR_KCODE,
|
||||
'' as MR_NAME
|
||||
FROM pack_market t2
|
||||
--特殊处理部分
|
||||
union all
|
||||
SELECT
|
||||
DISTINCT t1.REGION_CODE REGION_CODE,
|
||||
t1.region_name,
|
||||
t1.rc_code,
|
||||
t1.rc_name,
|
||||
t3.REGION_CENTER RegionCenter,
|
||||
t3.AUDIT_COD,
|
||||
"Atorvastatin Market" as MARKET,
|
||||
t1.bu_category,
|
||||
t1.bu_name_en,
|
||||
t1.sub_bu_name,
|
||||
t1.sub_bu_code sub_bu_code_auth,
|
||||
concat(t1.bu_code, 'Retail(Quarterly)') bu_code_auth,
|
||||
'Retail(Quarterly)' as DATA_SOURCE,
|
||||
1 REGION_RATIO,
|
||||
t1.RSM_Name,
|
||||
t1.rsd_name,
|
||||
'' as TEAM,
|
||||
'' as MR_TRTY_CODE,
|
||||
'' as NSD_KCODE,
|
||||
'' as NSD_NAME,
|
||||
'' as RSD_KCODE,
|
||||
'' as RSD_NAME,
|
||||
'' as RSM_KCODE,
|
||||
'' as DSM_KCODE,
|
||||
'' as DSM_NAME,
|
||||
'' as MR_KCODE,
|
||||
'' as MR_NAME
|
||||
from td_org t1
|
||||
inner join province_market t2
|
||||
on t1.mr_trty_code = t2.trty_code
|
||||
inner join external_geo t3 on t2.province_name = t3.province_c
|
||||
where t2.market is not null
|
||||
and t3.audit_cod is not null
|
||||
and t2.market = 'Rosuvastatin Market'
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
-- DBTITLE 1,DTP
|
||||
----------------------------------------------------Retail-----------------------------------------------------------------------
|
||||
insert into DM.DM_TD_EXT_RETAIL_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,
|
||||
TEAM,
|
||||
MR_TRTY_CODE,
|
||||
NSD_KCODE,
|
||||
NSD_NAME,
|
||||
RSD_KCODE,
|
||||
RSD_NAME,
|
||||
RSM_KCODE,
|
||||
DSM_KCODE,
|
||||
DSM_NAME,
|
||||
MR_KCODE,
|
||||
MR_NAME
|
||||
)
|
||||
with
|
||||
market_ta (
|
||||
select
|
||||
MARKET,case when TA = 'ONCO' then 'OBU' else 'Retail' end as subbu
|
||||
from dm.dm_td_external_market_ta
|
||||
where DATA_SOURCE = 'DTP(Quarterly)'
|
||||
group by 1,2
|
||||
)
|
||||
|
||||
,pack_market as (
|
||||
select distinct a.pack_cod,a.market,b.subbu
|
||||
from dm.dm_td_external_market_pack_mapping a
|
||||
left join market_ta b on a.MARKET = b.market
|
||||
where data_source = 'DTP(Quarterly)'
|
||||
)
|
||||
,external_geo as (
|
||||
select distinct province_c,audit_cod,REGION_CENTER
|
||||
from dm.dm_td_external_geo_temp
|
||||
where DATA_SOURCE = 'DTP(Quarterly)'
|
||||
)
|
||||
,YM_CVH as (
|
||||
select key_value from dm.dm_td_date_config
|
||||
where key_code = 'pfmc_cvh'
|
||||
)
|
||||
,td_org as (
|
||||
select distinct
|
||||
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
|
||||
)
|
||||
,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 bu in ('OBU','RIN') --20260320 chenwu DTP数据源的架构,只保留OBU和RIN
|
||||
and t1.key_hp<>3 --chenwu 20250904 排除双考影响
|
||||
)
|
||||
,province_market as (
|
||||
select t1.trty_code,
|
||||
t2.province_name,
|
||||
t5.market
|
||||
from territory t1
|
||||
left join dwd.dwd_td_institution t2
|
||||
on t1.inst_code = t2.inst_code
|
||||
left join cdw_dwd_dim_product_wide t3
|
||||
on t1.family_code = t3.prd_family_cd
|
||||
left join dwd.dwd_td_imscode_azcode t4
|
||||
on t3.prd_brand_cd = t4.brandcode
|
||||
left join pack_market t5
|
||||
on t4.ims_pack_cod = t5.pack_cod
|
||||
where t1.bu=t5.subbu
|
||||
)
|
||||
|
||||
|
||||
SELECT
|
||||
DISTINCT t1.REGION_CODE REGION_CODE,
|
||||
t1.region_name,
|
||||
t1.rc_code,
|
||||
t1.rc_name,
|
||||
t3.REGION_CENTER RegionCenter,
|
||||
t3.AUDIT_COD,
|
||||
t2.MARKET,
|
||||
t1.bu_category,
|
||||
t1.bu_name_en,
|
||||
t1.sub_bu_name,
|
||||
t1.sub_bu_code sub_bu_code_auth,
|
||||
concat(t1.bu_code, 'DTP(Quarterly)') bu_code_auth,
|
||||
'DTP(Quarterly)' as DATA_SOURCE,
|
||||
1 REGION_RATIO,
|
||||
t1.RSM_Name,
|
||||
t1.rsd_name,
|
||||
'' as TEAM,
|
||||
'' as MR_TRTY_CODE,
|
||||
'' as NSD_KCODE,
|
||||
'' as NSD_NAME,
|
||||
'' as RSD_KCODE,
|
||||
'' as RSD_NAME,
|
||||
'' as RSM_KCODE,
|
||||
'' as DSM_KCODE,
|
||||
'' as DSM_NAME,
|
||||
'' as MR_KCODE,
|
||||
'' as MR_NAME
|
||||
from td_org t1
|
||||
inner join province_market t2
|
||||
on t1.mr_trty_code = t2.trty_code
|
||||
inner join external_geo t3 on t2.province_name = t3.province_c
|
||||
where t2.market is not null
|
||||
and t3.audit_cod is not null
|
||||
union all
|
||||
SELECT DISTINCT
|
||||
'ROC' as REGION_CODE,
|
||||
'ROC' as region_name_en,
|
||||
'ROC' as rc_code,
|
||||
'ROC' as rc_name_en,
|
||||
'Other Low Tiers' as RegionCenter,
|
||||
'ROC' AUDIT_COD,
|
||||
t2.MARKET,
|
||||
'All Channel' as bu_category,
|
||||
CASE WHEN T2.subbu = 'OBU' THEN 'OBU' ELSE 'Retail' END as bu_name_en,
|
||||
CASE WHEN T2.subbu = 'OBU' THEN 'OBU' ELSE 'Retail' END as sub_bu_name,
|
||||
CASE WHEN T2.subbu = 'OBU' THEN 'OBU' ELSE 'Retail' END as sub_bu_code_auth,
|
||||
'DTP(Quarterly)' as bu_code_auth,
|
||||
'DTP(Quarterly)' as DATA_SOURCE,
|
||||
1 as REGION_RATIO,
|
||||
'Vacant' as RSM_Name,
|
||||
'Vacant' as rsd_name,
|
||||
'' as TEAM,
|
||||
'' as MR_TRTY_CODE,
|
||||
'' as NSD_KCODE,
|
||||
'' as NSD_NAME,
|
||||
'' as RSD_KCODE,
|
||||
'' as RSD_NAME,
|
||||
'' as RSM_KCODE,
|
||||
'' as DSM_KCODE,
|
||||
'' as DSM_NAME,
|
||||
'' as MR_KCODE,
|
||||
'' as MR_NAME
|
||||
FROM pack_market t2
|
||||
BIN
EXTERNAL/ORG/DM_TD_EXT_RETAIL_ORG.sql:Zone.Identifier
Normal file
BIN
EXTERNAL/ORG/DM_TD_EXT_RETAIL_ORG.sql:Zone.Identifier
Normal file
Binary file not shown.
344
EXTERNAL/ORG/DM_TD_EXT_THC_ORG.sql
Normal file
344
EXTERNAL/ORG/DM_TD_EXT_THC_ORG.sql
Normal file
@@ -0,0 +1,344 @@
|
||||
-- Databricks notebook source
|
||||
-- CREATE OR REPLACE TABLE DM.DM_TD_EXT_THC_ORG (
|
||||
-- REGION_CODE STRING,
|
||||
-- REGION_NAME_EN STRING,
|
||||
-- RSM_NAME STRING,
|
||||
-- RC_CODE STRING,
|
||||
-- RC_NAME_EN STRING,
|
||||
-- RC_NAME STRING,
|
||||
-- REGIONCENTER STRING,
|
||||
-- AUDIT_COD STRING,
|
||||
-- MARKET STRING,
|
||||
-- BU_CATEGORY STRING,
|
||||
-- BU_NAME_EN STRING,
|
||||
-- SUB_BU_NAME STRING,
|
||||
-- SUB_BU_CODE_AUTH STRING,
|
||||
-- BU_CODE_AUTH STRING,
|
||||
-- DATA_SOURCE STRING,
|
||||
-- REGION_RATIO FLOAT,
|
||||
-- TEAM STRING,
|
||||
-- MR_TRTY_CODE STRING,
|
||||
-- NSD_KCODE STRING,
|
||||
-- NSD_NAME STRING,
|
||||
-- RSD_KCODE STRING,
|
||||
-- RSD_NAME STRING,
|
||||
-- RSM_KCODE STRING,
|
||||
-- DSM_KCODE STRING,
|
||||
-- DSM_NAME STRING,
|
||||
-- MR_KCODE STRING,
|
||||
-- MR_NAME STRING)
|
||||
-- USING delta
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_thc_org';
|
||||
|
||||
-- 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。
|
||||
create or replace temporary view dm_td_org_temp
|
||||
as
|
||||
SELECT org_key,mr_trty_tag,district_code,rsm_name,rc_name,p2.region_name,p2.rsd_kcode,p2.rsd_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_code = 'PC12' then 'PC09' else p2.bu_code end bu_code
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_report = 'EC' THEN 'Retail' ELSE p2.bu_report end bu_report
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_code = 'NA27' then 'NA06' else p2.sub_bu_code end sub_bu_code
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_name = 'EC' then 'Retail' else p2.sub_bu_name end sub_bu_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_name_en = 'EC' then 'Retail' else p2.sub_bu_name_en end sub_bu_name_en
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_name = 'EC' then 'Retail' else p2.bu_name end bu_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_name_en = 'EC' then 'Retail' else p2.bu_name_en end bu_name_en
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.nsd_kcode = 'ND_EC0001_V' then 'KSGX559' else p2.nsd_kcode end nsd_kcode
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_name = 'EC'and p2.nsd_name = 'Vacant' then '李白杨' else p2.nsd_name end nsd_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.nsd_trty_code = 'ND_EC0001' then 'ND_RT0001' else p2.nsd_trty_code end nsd_trty_code
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bsd_kcode = 'VP_EC0001_V' then 'VP_RT0001_V' else p2.bsd_kcode end bsd_kcode
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bsd_trty_code = 'VP_EC0001' then 'VP_RT0001' else p2.bsd_trty_code end bsd_trty_code
|
||||
,mr_kcode,dsm_trty_code,rsm_trty_code,dsm_kcode,rsd_trty_code
|
||||
,district_name,dsm_name,mr_name,yyyymm,mr_trty_code,REGION_CODE,rc_code,bu_category,rsm_kcode
|
||||
FROM DM.dm_td_org P2
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
------------------------------------------------------------------------------------------------------
|
||||
--修改时间:20241113
|
||||
--修改人:Fanxujia
|
||||
--修改内容:
|
||||
--THC增加省份数据,因此增加架构数据。只需要Eagle的架构
|
||||
------------------------------------------------------------------------------------------------------
|
||||
----------------------------------------------------THC------------------------------------------------------------------------------
|
||||
--------只有eagle的人能看THC
|
||||
insert overwrite dm.DM_TD_EXT_THC_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,
|
||||
TEAM,
|
||||
MR_TRTY_CODE,
|
||||
NSD_KCODE,
|
||||
NSD_NAME,
|
||||
RSD_KCODE,
|
||||
RSD_NAME,
|
||||
RSM_KCODE,
|
||||
DSM_KCODE,
|
||||
DSM_NAME,
|
||||
MR_KCODE,
|
||||
MR_NAME
|
||||
)
|
||||
with pack_market as (
|
||||
select distinct pack_cod,market
|
||||
from dm.dm_td_external_market_pack_mapping
|
||||
where data_source = 'THC(Quarterly)'
|
||||
)
|
||||
,external_geo as (
|
||||
select distinct province_c,audit_cod,REGION_CENTER
|
||||
from dm.dm_td_external_geo_temp
|
||||
where DATA_SOURCE = 'THC(Quarterly)'
|
||||
)
|
||||
,YM_CVH as (
|
||||
select key_value from dm.dm_td_date_config
|
||||
where key_code = 'pfmc_cvh'
|
||||
)
|
||||
,td_org as (
|
||||
select distinct
|
||||
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
|
||||
)
|
||||
,territory as (
|
||||
select distinct
|
||||
trty_code,
|
||||
inst_code,
|
||||
family_code
|
||||
from dm.dm_td_sd_territory_indication t1
|
||||
inner join YM_CVH t2
|
||||
on t1.yyyymm = t2.key_value
|
||||
where bu = 'Eagle'
|
||||
and t1.key_hp<>3 --chenwu 20250904 排除双考影响
|
||||
)
|
||||
,province_market as (
|
||||
select t1.trty_code,
|
||||
t2.province_name,
|
||||
t5.market
|
||||
from territory t1
|
||||
left join dwd.dwd_td_institution t2
|
||||
on t1.inst_code = t2.inst_code
|
||||
left join cdw_dwd_dim_product_wide t3
|
||||
on t1.family_code = t3.prd_family_cd
|
||||
left join dwd.dwd_td_imscode_azcode t4
|
||||
on t3.prd_brand_cd = t4.brandcode
|
||||
left join pack_market t5
|
||||
on t4.ims_pack_cod = t5.pack_cod
|
||||
)
|
||||
,national_sales as (
|
||||
select distinct
|
||||
PACK_COD,
|
||||
AUDIT_COD
|
||||
from DM.dm_tf_external_sales_thc
|
||||
where DATA_SOURCE = 'THC(Quarterly)'
|
||||
)
|
||||
|
||||
SELECT
|
||||
DISTINCT t1.REGION_CODE,
|
||||
t1.region_name,
|
||||
t1.rc_code,
|
||||
t1.rc_name,
|
||||
t3.REGION_CENTER RegionCenter,
|
||||
t3.AUDIT_COD,
|
||||
t2.MARKET,
|
||||
t1.bu_category,
|
||||
t1.bu_name_en,
|
||||
t1.sub_bu_name,
|
||||
t1.sub_bu_code sub_bu_code_auth,
|
||||
concat(t1.bu_code, 'THC(Quarterly)') bu_code_auth,
|
||||
'THC(Quarterly)' as DATA_SOURCE,
|
||||
1 REGION_RATIO,
|
||||
t1.RSM_Name,
|
||||
t1.rsd_name,
|
||||
'' as TEAM,
|
||||
'' as MR_TRTY_CODE,
|
||||
'' as NSD_KCODE,
|
||||
'' as NSD_NAME,
|
||||
'' as RSD_KCODE,
|
||||
'' as RSD_NAME,
|
||||
'' as RSM_KCODE,
|
||||
'' as DSM_KCODE,
|
||||
'' as DSM_NAME,
|
||||
'' as MR_KCODE,
|
||||
'' as MR_NAME
|
||||
from td_org t1
|
||||
inner join province_market t2
|
||||
on t1.mr_trty_code = t2.trty_code
|
||||
inner join external_geo t3 on t2.province_name = t3.province_c
|
||||
where t2.market is not null
|
||||
and t3.audit_cod is not null
|
||||
union all
|
||||
SELECT DISTINCT
|
||||
'' as REGION_CODE,
|
||||
'' as region_name_en,
|
||||
'' as rc_code,
|
||||
'' as rc_name_en,
|
||||
'' as RegionCenter,
|
||||
t1.AUDIT_COD,
|
||||
t2.MARKET,
|
||||
'' as bu_category,
|
||||
'' as bu_name_en,
|
||||
'' as sub_bu_name,
|
||||
'' as sub_bu_code_auth,
|
||||
'THC(Quarterly)' as bu_code_auth,
|
||||
'THC(Quarterly)' as DATA_SOURCE,
|
||||
1 as REGION_RATIO,
|
||||
'' as RSM_Name,
|
||||
'' as rsd_name,
|
||||
'' as TEAM,
|
||||
'' as MR_TRTY_CODE,
|
||||
'' as NSD_KCODE,
|
||||
'' as NSD_NAME,
|
||||
'' as RSD_KCODE,
|
||||
'' as RSD_NAME,
|
||||
'' as RSM_KCODE,
|
||||
'' as DSM_KCODE,
|
||||
'' as DSM_NAME,
|
||||
'' as MR_KCODE,
|
||||
'' as MR_NAME
|
||||
FROM national_sales t1
|
||||
INNER JOIN pack_market t2
|
||||
ON t1.PACK_COD = t2.PACK_COD
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
-- DBTITLE 1,add
|
||||
--修改时间:20240808
|
||||
--修改人:FanXuJia
|
||||
--修改背景:
|
||||
--事实表与维度表来自于不同手工表,目前存在一部分audit_cod在事实表有销量,但是在维度表没有这个audit_cod,导致销量缺失。
|
||||
--因此需要从事实表补全这部分audit_cod
|
||||
with sales as (
|
||||
select distinct PACK_COD,AUDIT_COD,DATA_SOURCE from dm.dm_tf_external_sales
|
||||
union
|
||||
select distinct PACK_COD,AUDIT_COD,DATA_SOURCE from dm.dm_tf_external_sales_thc
|
||||
)
|
||||
,market_pack as (
|
||||
select distinct PACK_COD,MARKET,DATA_SOURCE from dm.dm_td_external_market_pack_mapping
|
||||
)
|
||||
,org as (
|
||||
select distinct AUDIT_COD,MARKET,DATA_SOURCE from dm.DM_TD_EXT_THC_ORG
|
||||
)
|
||||
,tmp_org as (
|
||||
select distinct a.AUDIT_COD,b.MARKET,a.DATA_SOURCE
|
||||
from sales a
|
||||
left join market_pack b on a.PACK_COD = b.PACK_COD and a.DATA_SOURCE = b.DATA_SOURCE
|
||||
left join org c on a.DATA_SOURCE = c.DATA_SOURCE and a.AUDIT_COD = c.AUDIT_COD and b.MARKET = c.MARKET
|
||||
where C.AUDIT_COD IS NULL
|
||||
)
|
||||
|
||||
insert into table dm.DM_TD_EXT_THC_ORG
|
||||
(
|
||||
REGION_CODE,
|
||||
region_name_en,
|
||||
RSM_Name,
|
||||
rc_code,
|
||||
rc_name_en,
|
||||
RC_Name,
|
||||
RegionCenter,
|
||||
AUDIT_COD,
|
||||
MARKET,
|
||||
bu_category,
|
||||
bu_name_en,
|
||||
sub_bu_name,
|
||||
sub_bu_code_auth,
|
||||
bu_code_auth,
|
||||
DATA_SOURCE,
|
||||
REGION_RATIO,
|
||||
TEAM,
|
||||
MR_TRTY_CODE,
|
||||
NSD_KCODE,
|
||||
NSD_NAME,
|
||||
RSD_KCODE,
|
||||
RSD_NAME,
|
||||
RSM_KCODE,
|
||||
DSM_KCODE,
|
||||
DSM_NAME,
|
||||
MR_KCODE,
|
||||
MR_NAME
|
||||
)
|
||||
select
|
||||
'ROC' as REGION_CODE,
|
||||
'ROC' as region_name_en,
|
||||
'Vacant' as RSM_Name,
|
||||
'ROC' as rc_code,
|
||||
'ROC' as rc_name_en,
|
||||
'Vacant' as RC_Name,
|
||||
null as RegionCenter,
|
||||
AUDIT_COD,
|
||||
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 = 'THC(Quarterly)'
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
-- DBTITLE 1,hidden_market
|
||||
-----------------------------------------------------------
|
||||
--修改时间:20241118
|
||||
--修改人:Fanxujia
|
||||
--修改内容:
|
||||
--使用手工文件排除掉每个渠道的不需要显示的市场
|
||||
-----------------------------------------------------------
|
||||
with hidden_market as (
|
||||
select distinct
|
||||
case when upper(data_source) = 'CHPA' then 'IQVIA-CHPA(Monthly)'
|
||||
when upper(data_source) = '科室市场' then 'XH Data(Quarterly)'
|
||||
when upper(data_source) = 'EC' then 'EC(Monthly)'
|
||||
when upper(data_source) = 'RETAIL' then 'Retail(Quarterly)'
|
||||
when upper(data_source) = 'CHC' then 'CHC(Quarterly)'
|
||||
when upper(data_source) = 'AIA' then 'AIA(Monthly)'
|
||||
when upper(data_source) = 'THC' then 'THC(Quarterly)'
|
||||
when upper(data_source) = 'COUNTY' then 'IQVIA-COUNTY(Quarterly)'
|
||||
else data_source
|
||||
end as data_source,
|
||||
upper(hidden_market) as hidden_market
|
||||
from dwd.dwd_gnd_ims_hidden_market
|
||||
union all
|
||||
select
|
||||
'AIA(Monthly)' as data_source,
|
||||
'AIA ALL Market'
|
||||
)
|
||||
|
||||
|
||||
MERGE into dm.DM_TD_EXT_THC_ORG as t1
|
||||
USING hidden_market t2
|
||||
on t1.data_source = t2.data_source
|
||||
and upper(t1.MARKET) = upper(t2.hidden_market)
|
||||
WHEN MATCHED THEN
|
||||
DELETE
|
||||
BIN
EXTERNAL/ORG/DM_TD_EXT_THC_ORG.sql:Zone.Identifier
Normal file
BIN
EXTERNAL/ORG/DM_TD_EXT_THC_ORG.sql:Zone.Identifier
Normal file
Binary file not shown.
283
EXTERNAL/ORG/DM_TD_EXT_XIEHE_ORG.sql
Normal file
283
EXTERNAL/ORG/DM_TD_EXT_XIEHE_ORG.sql
Normal file
@@ -0,0 +1,283 @@
|
||||
-- Databricks notebook source
|
||||
-- CREATE OR REPLACE TABLE DM.DM_TD_EXT_XIEHE_ORG (
|
||||
-- REGION_CODE STRING,
|
||||
-- REGION_NAME_EN STRING,
|
||||
-- RSM_NAME STRING,
|
||||
-- RC_CODE STRING,
|
||||
-- RC_NAME_EN STRING,
|
||||
-- RC_NAME STRING,
|
||||
-- REGIONCENTER STRING,
|
||||
-- AUDIT_COD STRING,
|
||||
-- MARKET STRING,
|
||||
-- BU_CATEGORY STRING,
|
||||
-- BU_NAME_EN STRING,
|
||||
-- SUB_BU_NAME STRING,
|
||||
-- SUB_BU_CODE_AUTH STRING,
|
||||
-- BU_CODE_AUTH STRING,
|
||||
-- DATA_SOURCE STRING,
|
||||
-- REGION_RATIO FLOAT,
|
||||
-- TEAM STRING,
|
||||
-- MR_TRTY_CODE STRING,
|
||||
-- NSD_KCODE STRING,
|
||||
-- NSD_NAME STRING,
|
||||
-- RSD_KCODE STRING,
|
||||
-- RSD_NAME STRING,
|
||||
-- RSM_KCODE STRING,
|
||||
-- DSM_KCODE STRING,
|
||||
-- DSM_NAME STRING,
|
||||
-- MR_KCODE STRING,
|
||||
-- MR_NAME STRING)
|
||||
-- USING delta
|
||||
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_xiehe_org';
|
||||
|
||||
-- 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。
|
||||
create or replace temporary view dm_td_org_temp
|
||||
as
|
||||
SELECT org_key,mr_trty_tag,district_code,rsm_name,rc_name,p2.region_name,p2.rsd_kcode,p2.rsd_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_code = 'PC12' then 'PC09' else p2.bu_code end bu_code
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_report = 'EC' THEN 'Retail' ELSE p2.bu_report end bu_report
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_code = 'NA27' then 'NA06' else p2.sub_bu_code end sub_bu_code
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_name = 'EC' then 'Retail' else p2.sub_bu_name end sub_bu_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_name_en = 'EC' then 'Retail' else p2.sub_bu_name_en end sub_bu_name_en
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_name = 'EC' then 'Retail' else p2.bu_name end bu_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_name_en = 'EC' then 'Retail' else p2.bu_name_en end bu_name_en
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.nsd_kcode = 'ND_EC0001_V' then 'KSGX559' else p2.nsd_kcode end nsd_kcode
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bu_name = 'EC'and p2.nsd_name = 'Vacant' then '李白杨' else p2.nsd_name end nsd_name
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.nsd_trty_code = 'ND_EC0001' then 'ND_RT0001' else p2.nsd_trty_code end nsd_trty_code
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bsd_kcode = 'VP_EC0001_V' then 'VP_RT0001_V' else p2.bsd_kcode end bsd_kcode
|
||||
,CASE WHEN p2.yyyymm >= '202601' and p2.bsd_trty_code = 'VP_EC0001' then 'VP_RT0001' else p2.bsd_trty_code end bsd_trty_code
|
||||
,mr_kcode,dsm_trty_code,rsm_trty_code,dsm_kcode,rsd_trty_code
|
||||
,district_name,dsm_name,mr_name,yyyymm,mr_trty_code,REGION_CODE,rc_code,bu_category,rsm_kcode
|
||||
FROM DM.dm_td_org P2
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
---------------------------------------------------XIEHE------------------------------------------------------------------------------
|
||||
--XIEHE参考CHPA
|
||||
------所有BU能看XIEHE
|
||||
insert overwrite dm.dm_td_ext_xiehe_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,
|
||||
TEAM,
|
||||
MR_TRTY_CODE,
|
||||
NSD_KCODE,
|
||||
NSD_NAME,
|
||||
RSD_KCODE,
|
||||
RSD_NAME,
|
||||
RSM_KCODE,
|
||||
DSM_KCODE,
|
||||
DSM_NAME,
|
||||
MR_KCODE,
|
||||
MR_NAME
|
||||
)
|
||||
SELECT
|
||||
DISTINCT t1.REGION_CODE,
|
||||
t1.region_name,
|
||||
t1.rc_code,
|
||||
t1.rc_name,
|
||||
t4.REGION_CENTER RegionCenter,
|
||||
t4.AUDIT_COD,
|
||||
t3.MARKET,
|
||||
t1.bu_category,
|
||||
t1.bu_name_en,
|
||||
t1.sub_bu_name,
|
||||
t1.sub_bu_code sub_bu_code_auth,
|
||||
concat(t1.bu_code, 'XH Data(Quarterly)') bu_code_auth,
|
||||
'XH Data(Quarterly)' DATA_SOURCE,
|
||||
1 REGION_RATIO,
|
||||
t1.RSM_Name,
|
||||
t1.rsd_name,
|
||||
'' as TEAM,
|
||||
'' as MR_TRTY_CODE,
|
||||
'' as NSD_KCODE,
|
||||
'' as NSD_NAME,
|
||||
'' as RSD_KCODE,
|
||||
'' as RSD_NAME,
|
||||
'' as RSM_KCODE,
|
||||
'' as DSM_KCODE,
|
||||
'' as DSM_NAME,
|
||||
'' as MR_KCODE,
|
||||
'' as MR_NAME
|
||||
from
|
||||
dm_td_org_temp t1
|
||||
left join(
|
||||
select
|
||||
distinct A.yyyymm,
|
||||
A.trty_code,
|
||||
B.city_name,
|
||||
D.ims_prod_cod,
|
||||
D.ims_pack_cod
|
||||
from
|
||||
dm.dm_td_sd_territory_indication A
|
||||
left join dwd.dwd_td_institution B on A.inst_code = B.inst_code
|
||||
left join cdw_dwd_dim_product_wide C on C.prd_family_cd = A.family_code
|
||||
left join dwd.dwd_td_imscode_azcode D on C.prd_brand_cd = D.brandcode
|
||||
where A.bu not in ('CUBE','KA')
|
||||
and A.key_hp<>3 --chenwu 20250904 排除双考影响
|
||||
) t2 on t2.trty_code = t1.mr_trty_code
|
||||
and t2.yyyymm = t1.yyyymm
|
||||
left join dws.dws_ims_td_market t3 on t2.ims_pack_cod = t3.pack_cod
|
||||
left join DM.DM_TD_EXTERNAL_GEO_TEMP t4 on t2.city_name = concat(t4.city_c, '市')
|
||||
AND t4.DATA_SOURCE = 'XH Data(Quarterly)'
|
||||
--使用和performance cvh 的org架构
|
||||
where
|
||||
t1.yyyymm in(
|
||||
select
|
||||
key_value
|
||||
from
|
||||
dm.dm_td_date_config
|
||||
where
|
||||
key_code = 'pfmc_cvh'
|
||||
)
|
||||
and t3.market is not null
|
||||
and t4.audit_cod is not null
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
-- DBTITLE 1,add
|
||||
--修改时间:20240808
|
||||
--修改人:FanXuJia
|
||||
--修改背景:
|
||||
--事实表与维度表来自于不同手工表,目前存在一部分audit_cod在事实表有销量,但是在维度表没有这个audit_cod,导致销量缺失。
|
||||
--因此需要从事实表补全这部分audit_cod
|
||||
with sales as (
|
||||
select distinct PACK_COD,AUDIT_COD,DATA_SOURCE from dm.dm_tf_external_sales
|
||||
union
|
||||
select distinct PACK_COD,AUDIT_COD,DATA_SOURCE from dm.dm_tf_external_sales_thc
|
||||
)
|
||||
,market_pack as (
|
||||
select distinct PACK_COD,MARKET,DATA_SOURCE from dm.dm_td_external_market_pack_mapping
|
||||
)
|
||||
,org as (
|
||||
select distinct AUDIT_COD,MARKET,DATA_SOURCE from dm.DM_TD_EXT_XIEHE_ORG
|
||||
)
|
||||
,tmp_org as (
|
||||
select distinct a.AUDIT_COD,b.MARKET,a.DATA_SOURCE
|
||||
from sales a
|
||||
left join market_pack b on a.PACK_COD = b.PACK_COD and a.DATA_SOURCE = b.DATA_SOURCE
|
||||
left join org c on a.DATA_SOURCE = c.DATA_SOURCE and a.AUDIT_COD = c.AUDIT_COD and b.MARKET = c.MARKET
|
||||
where C.AUDIT_COD IS NULL
|
||||
)
|
||||
|
||||
insert into table dm.dm_td_ext_xiehe_org
|
||||
(
|
||||
REGION_CODE,
|
||||
region_name_en,
|
||||
RSM_Name,
|
||||
rc_code,
|
||||
rc_name_en,
|
||||
RC_Name,
|
||||
RegionCenter,
|
||||
AUDIT_COD,
|
||||
MARKET,
|
||||
bu_category,
|
||||
bu_name_en,
|
||||
sub_bu_name,
|
||||
sub_bu_code_auth,
|
||||
bu_code_auth,
|
||||
DATA_SOURCE,
|
||||
REGION_RATIO,
|
||||
TEAM,
|
||||
MR_TRTY_CODE,
|
||||
NSD_KCODE,
|
||||
NSD_NAME,
|
||||
RSD_KCODE,
|
||||
RSD_NAME,
|
||||
RSM_KCODE,
|
||||
DSM_KCODE,
|
||||
DSM_NAME,
|
||||
MR_KCODE,
|
||||
MR_NAME
|
||||
)
|
||||
select
|
||||
'ROC' as REGION_CODE,
|
||||
'ROC' as region_name_en,
|
||||
'Vacant' as RSM_Name,
|
||||
'ROC' as rc_code,
|
||||
'ROC' as rc_name_en,
|
||||
'Vacant' as RC_Name,
|
||||
null as RegionCenter,
|
||||
AUDIT_COD,
|
||||
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 = 'XH Data(Quarterly)'
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
-- DBTITLE 1,hidden_market
|
||||
-----------------------------------------------------------
|
||||
--修改时间:20241118
|
||||
--修改人:Fanxujia
|
||||
--修改内容:
|
||||
--使用手工文件排除掉每个渠道的不需要显示的市场
|
||||
-----------------------------------------------------------
|
||||
with hidden_market as (
|
||||
select distinct
|
||||
case when upper(data_source) = 'CHPA' then 'IQVIA-CHPA(Monthly)'
|
||||
when upper(data_source) = '科室市场' then 'XH Data(Quarterly)'
|
||||
when upper(data_source) = 'EC' then 'EC(Monthly)'
|
||||
when upper(data_source) = 'RETAIL' then 'Retail(Quarterly)'
|
||||
when upper(data_source) = 'CHC' then 'CHC(Quarterly)'
|
||||
when upper(data_source) = 'AIA' then 'AIA(Monthly)'
|
||||
when upper(data_source) = 'THC' then 'THC(Quarterly)'
|
||||
when upper(data_source) = 'COUNTY' then 'IQVIA-COUNTY(Quarterly)'
|
||||
else data_source
|
||||
end as data_source,
|
||||
upper(hidden_market) as hidden_market
|
||||
from dwd.dwd_gnd_ims_hidden_market
|
||||
union all
|
||||
select
|
||||
'AIA(Monthly)' as data_source,
|
||||
'AIA ALL Market'
|
||||
)
|
||||
|
||||
|
||||
MERGE into dm.dm_td_ext_xiehe_org as t1
|
||||
USING hidden_market t2
|
||||
on t1.data_source = t2.data_source
|
||||
and upper(t1.MARKET) = upper(t2.hidden_market)
|
||||
WHEN MATCHED THEN
|
||||
DELETE
|
||||
BIN
EXTERNAL/ORG/DM_TD_EXT_XIEHE_ORG.sql:Zone.Identifier
Normal file
BIN
EXTERNAL/ORG/DM_TD_EXT_XIEHE_ORG.sql:Zone.Identifier
Normal file
Binary file not shown.
Reference in New Issue
Block a user