Merge pull request 'county以及xiehe修改合并' (#2) from county_2026 into master
Reviewed-on: #2
This commit was merged in pull request #2.
This commit is contained in:
@@ -32,6 +32,15 @@
|
||||
|
||||
-- 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
|
||||
@@ -54,9 +63,8 @@ FROM DM.dm_td_org P2
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
----------------------------------------------------county------------------------------------------------------------------------------
|
||||
-----------------------除了Eagle、CHC、Retail、EC的人都能看
|
||||
insert overwrite table DM.DM_TD_EXT_COUNTY_ORG
|
||||
--
|
||||
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,
|
||||
@@ -70,149 +78,168 @@ DSM_NAME,
|
||||
MR_KCODE,
|
||||
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,'','',
|
||||
'' 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_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)'
|
||||
WITH
|
||||
-- ① 市场与子BU映射
|
||||
market_ta AS (
|
||||
select distinct MARKET,bu as subbu from dwd.dwd_gnd_tblmarket_bymonth
|
||||
-- WHERE UPPER(TA) <> 'ALL'
|
||||
),
|
||||
|
||||
-- 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
|
||||
--修改人:FanXuJia
|
||||
--修改背景:
|
||||
--事实表与维度表来自于不同手工表,目前存在一部分audit_cod在事实表有销量,但是在维度表没有这个audit_cod,导致销量缺失。
|
||||
--因此需要从事实表补全这部分audit_cod
|
||||
with sales as (
|
||||
select distinct PACK_CODE,AUDIT_CODE,DATA_SOURCE from dm.DM_TF_EXT_UNIONALL_SALES
|
||||
)
|
||||
,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_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
|
||||
left join org c on a.DATA_SOURCE = c.DATA_SOURCE and a.AUDIT_CODE = c.AUDIT_COD and b.MARKET = c.MARKET
|
||||
where C.AUDIT_COD IS NULL
|
||||
-- ③ 外部地理信息
|
||||
external_geo AS (
|
||||
SELECT DISTINCT
|
||||
province_c,
|
||||
audit_cod,
|
||||
REGION_CENTER
|
||||
FROM dm.dm_td_external_geo_temp
|
||||
WHERE DATA_SOURCE = 'IQVIA-COUNTY(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
|
||||
),
|
||||
|
||||
-- ⑥ 辖区-指征明细(仅保留 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
|
||||
(
|
||||
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_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)'
|
||||
-- ════════════════════════════════════════════
|
||||
-- 主查询 Part 1:正常地理覆盖行
|
||||
-- ════════════════════════════════════════════
|
||||
SELECT DISTINCT
|
||||
t1.REGION_CODE,
|
||||
t1.region_name,
|
||||
t1.rc_code,
|
||||
t1.rc_name AS rc_name_en,
|
||||
t3.REGION_CENTER AS RegionCenter,
|
||||
t3.AUDIT_COD,
|
||||
t2.MARKET,
|
||||
t1.bu_category,
|
||||
t1.bu_name_en,
|
||||
t1.sub_bu_name,
|
||||
t1.sub_bu_code AS sub_bu_code_auth,
|
||||
CONCAT(t1.bu_code, 'IQVIA-COUNTY(Quarterly)') AS bu_code_auth,
|
||||
'IQVIA-COUNTY(Quarterly)' AS DATA_SOURCE,
|
||||
1 AS REGION_RATIO,
|
||||
t1.RSM_Name,
|
||||
t1.rsd_name,
|
||||
'' AS TEAM,
|
||||
'' AS MR_TRTY_CODE,
|
||||
'' AS NSD_KCODE,
|
||||
'' AS NSD_NAME,
|
||||
'' AS RSD_KCODE,
|
||||
'' AS RC_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
|
||||
|
||||
-- COMMAND ----------
|
||||
UNION ALL
|
||||
|
||||
-- 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
|
||||
-- ════════════════════════════════════════════
|
||||
-- 主查询 Part 2:ROC 虚拟兜底行
|
||||
-- ════════════════════════════════════════════
|
||||
SELECT DISTINCT
|
||||
'ROC' AS REGION_CODE,
|
||||
'ROC' AS region_name,
|
||||
'ROC' AS rc_code,
|
||||
'ROC' AS rc_name_en,
|
||||
'Other Low Tiers' AS RegionCenter,
|
||||
'ROC' AS AUDIT_COD,
|
||||
t2.MARKET,
|
||||
'All Channel' AS bu_category,
|
||||
nvl(subbu,'BBU_County') AS bu_name_en,
|
||||
nvl(subbu,'BBU_County') AS sub_bu_name,
|
||||
nvl(subbu,'BBU_County') AS sub_bu_code_auth,
|
||||
'IQVIA-COUNTY(Quarterly)' AS bu_code_auth,
|
||||
'IQVIA-COUNTY(Quarterly)' AS DATA_SOURCE,
|
||||
1 AS REGION_RATIO,
|
||||
'Vacant' AS RSM_Name,
|
||||
'Vacant' AS RC_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_2_market t2
|
||||
|
||||
Reference in New Issue
Block a user