Compare commits

9 Commits

Author SHA1 Message Date
481a8e0087 修改dm_td_external_geo的region_type不为空 2026-06-04 09:51:01 +00:00
abf7bb0f04 下游SD会使用到字段region_type 2026-05-29 09:50:35 +00:00
5b626ade77 MDC切换dwd表名称 2026-05-28 09:27:12 +00:00
1b0186db2a retail的藏数逻辑修改 2026-05-28 06:51:26 +00:00
ce8c9cfa09 20260528发版最终版本 2026-05-28 06:47:38 +00:00
719fd73bae Merge pull request 'county以及xiehe修改合并' (#2) from county_2026 into master
Reviewed-on: #2
2026-05-26 14:36:02 +08:00
ca91505441 Retail藏数逻辑调整
Retail藏数逻辑调整,Symbicort Market、Respules Market、Respiratory Maintenance Market省份数据要放出来,影响AI取数
2026-05-22 11:14:04 +00:00
405f9393ed pack info表中的chc和thc的表替换成dm层 2026-05-21 07:04:00 +00:00
d39402998c 20260520生产bug修复
1 retail的架构的陕西 对应 两个 RC
2 niad free report页面的market size ly值因直取出现未聚合的问题
3 Retail 的价格铺货率没有 1,2月份的值
2026-05-20 10:41:41 +00:00
10 changed files with 192 additions and 86 deletions

View File

@@ -298,11 +298,11 @@ select * from tmp.tmp_county_dm_td_external_packinfo
insert overwrite table tmp.tmp_thc_dm_td_external_packinfo insert overwrite table tmp.tmp_thc_dm_td_external_packinfo
with temp as ( -- 临时表补充维度 with temp as ( -- 临时表补充维度
SELECT SELECT
iqvia_pack_code PACK_COD, PACK_COD PACK_COD,
MAX(B.PACK_DES) PACK_DES, MAX(B.PACK_DES) PACK_DES,
MAX(B.STGH_DES) STGH_DES, MAX(B.STGH_DES) STGH_DES,
MAX(B.PACK_LCH) PACK_LCH, MAX(B.PACK_LCH) PACK_LCH,
MAX(B.iqvia_prod_code) PROD_COD, MAX(B.prod_cod) PROD_COD,
MAX(B.PROD_DES) PROD_DES, MAX(B.PROD_DES) PROD_DES,
MAX(B.PROD_DES_C) PROD_DES_C, MAX(B.PROD_DES_C) PROD_DES_C,
MAX(B.CMPS_COD) CMPS_COD, MAX(B.CMPS_COD) CMPS_COD,
@@ -358,8 +358,8 @@ with temp as ( -- 临时表补充维度
WHEN MAX(B.GENE_ORIG_DESC) = 'TCM' THEN 4 WHEN MAX(B.GENE_ORIG_DESC) = 'TCM' THEN 4
ELSE 5 ELSE 5
END GEN_RN END GEN_RN
FROM dwd.dwd_gnd_ext_thc_pack_property B FROM dm.dm_thc_pack_property B
GROUP BY B.iqvia_pack_code GROUP BY B.pack_cod
) )
select select
A.PACK_COD A.PACK_COD
@@ -435,11 +435,11 @@ with temp as ( -- dm.dm_td_external_packinfo_temp 该表数
--01(source)chpa的pack_porperty表, --01(source)chpa的pack_porperty表,
--02chpa中,code --02chpa中,code
SELECT SELECT
iqvia_pack_code PACK_COD, pack_cod PACK_COD,
MAX(B.PACK_DES) PACK_DES, MAX(B.PACK_DES) PACK_DES,
MAX(B.STGH_DES) STGH_DES, MAX(B.STGH_DES) STGH_DES,
MAX(B.PACK_LCH) PACK_LCH, MAX(B.PACK_LCH) PACK_LCH,
MAX(B.iqvia_prod_code) PROD_COD, MAX(B.prod_cod) PROD_COD,
MAX(B.PROD_DES) PROD_DES, MAX(B.PROD_DES) PROD_DES,
MAX(B.PROD_DES_C) PROD_DES_C, MAX(B.PROD_DES_C) PROD_DES_C,
MAX(B.CMPS_COD) CMPS_COD, MAX(B.CMPS_COD) CMPS_COD,
@@ -495,8 +495,8 @@ with temp as ( -- dm.dm_td_external_packinfo_temp 该表数
WHEN MAX(B.GENE_ORIG_DESC) = 'TCM' THEN 4 WHEN MAX(B.GENE_ORIG_DESC) = 'TCM' THEN 4
ELSE 5 ELSE 5
END GEN_RN END GEN_RN
FROM dwd.dwd_gnd_ext_chc_pack_property B FROM dm.dm_chc_pack_property B
GROUP BY B.iqvia_pack_code GROUP BY B.pack_cod
) )
select select
A.PACK_COD A.PACK_COD

View File

@@ -876,7 +876,7 @@ with original_table(
A.AUDIT_COD, A.AUDIT_COD,
CASE CASE
WHEN A.PROVINCE_C IN ( WHEN A.PROVINCE_C IN (
'BBU_OtherProv', 'OBU_OtherProv', 'Others', 'Others',
'ROC', 'Other Low Tiers', 'OTHER LOW TIERS' 'ROC', 'Other Low Tiers', 'OTHER LOW TIERS'
) )
OR A.PROVINCE_C IS NULL OR A.PROVINCE_C IS NULL
@@ -1431,7 +1431,7 @@ ins_level
SELECT SELECT
A.DATA_SOURCE, A.DATA_SOURCE,
A.AUDIT_COD, A.AUDIT_COD,
A.REGION_TYPE, nvl(A.REGION_TYPE,'') REGION_TYPE,
CASE CASE
WHEN A.DATA_SOURCE = 'EC(Monthly)' THEN '全国' WHEN A.DATA_SOURCE = 'EC(Monthly)' THEN '全国'
WHEN A.DATA_SOURCE = 'THC(Quarterly)' AND A.AUDIT_COD = 'CHT' THEN '全国' WHEN A.DATA_SOURCE = 'THC(Quarterly)' AND A.AUDIT_COD = 'CHT' THEN '全国'
@@ -1512,7 +1512,7 @@ PROVINCE_GROUP
select select
DATA_SOURCE, DATA_SOURCE,
AUDIT_COD, AUDIT_COD,
null as REGION_TYPE, '' as REGION_TYPE,
PROVINCE_GROUP PROVINCE_GROUP
from from
dm_td_external_geo_type_temp dm_td_external_geo_type_temp

View File

@@ -162,6 +162,10 @@
-- ('Retail(Quarterly)', 'Inhaled Extended Market', '1'), -- ('Retail(Quarterly)', 'Inhaled Extended Market', '1'),
-- ('Retail(Quarterly)', 'BUDESONIDE Market', '1'), -- ('Retail(Quarterly)', 'BUDESONIDE Market', '1'),
-- ('Retail(Quarterly)', 'PPI Oral ESOMEPRAZOLE Market', '1'), -- ('Retail(Quarterly)', 'PPI Oral ESOMEPRAZOLE Market', '1'),
-- -- Retail藏数逻辑调整Symbicort Market、Respules Market、Respiratory Maintenance Market省份数据要放出来影响AI取数
-- ('Retail(Quarterly)', 'Symbicort Market', '1'),
-- ('Retail(Quarterly)', 'Respules Market', '1'),
-- ('Retail(Quarterly)', 'Respiratory Maintenance', '1'),
-- -- DTP(Quarterly) 部分 -- -- DTP(Quarterly) 部分
-- ('DTP(Quarterly)', 'EGFR TKI Market', '1'), -- ('DTP(Quarterly)', 'EGFR TKI Market', '1'),

View File

@@ -64,7 +64,7 @@ FROM DM.dm_td_org P2
-- COMMAND ---------- -- COMMAND ----------
-- --
insert into DM.DM_TD_EXT_RETAIL_ORG insert overwrite DM.DM_TD_EXT_COUNTY_ORG
(REGION_CODE,region_name_en,rc_code,rc_name_en,RegionCenter,AUDIT_COD,MARKET,bu_category,bu_name_en,sub_bu_name,sub_bu_code_auth,bu_code_auth,DATA_SOURCE,REGION_RATIO,RSM_Name,RC_Name, (REGION_CODE,region_name_en,rc_code,rc_name_en,RegionCenter,AUDIT_COD,MARKET,bu_category,bu_name_en,sub_bu_name,sub_bu_code_auth,bu_code_auth,DATA_SOURCE,REGION_RATIO,RSM_Name,RC_Name,
TEAM, TEAM,
MR_TRTY_CODE, MR_TRTY_CODE,
@@ -171,7 +171,7 @@ province_market AS (
LEFT JOIN dwd.dwd_td_institution t2 ON t1.inst_code = t2.inst_code 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 INNER JOIN family_2_markt t3 ON t1.family_code = t3.prd_family_cd
) )
,part1(
-- ════════════════════════════════════════════ -- ════════════════════════════════════════════
-- 主查询 Part 1正常地理覆盖行 -- 主查询 Part 1正常地理覆盖行
-- ════════════════════════════════════════════ -- ════════════════════════════════════════════
@@ -208,6 +208,24 @@ 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 INNER JOIN external_geo t3 ON t2.province_name = t3.province_c
WHERE t2.market IS NOT NULL WHERE t2.market IS NOT NULL
AND t3.audit_cod IS NOT NULL AND t3.audit_cod IS NOT NULL
)
,all_combinations AS (
SELECT
/*+ BROADCAST(geo) */
p.market,
P.subbu,
geo.audit_cod
FROM (SELECT DISTINCT market,subbu FROM pack_2_market) p
CROSS JOIN external_geo geo
GROUP BY
p.market,
P.subbu,
geo.audit_cod
)
SELECT * FROM part1
UNION ALL UNION ALL
@@ -220,12 +238,12 @@ SELECT DISTINCT
'ROC' AS rc_code, 'ROC' AS rc_code,
'ROC' AS rc_name_en, 'ROC' AS rc_name_en,
'Other Low Tiers' AS RegionCenter, 'Other Low Tiers' AS RegionCenter,
'ROC' AS AUDIT_COD, ac.audit_cod AS AUDIT_COD,
t2.MARKET, ac.market,
'All Channel' AS bu_category, 'All Channel' AS bu_category,
nvl(subbu,'BBU_County') AS bu_name_en, NVL(subbu,'ROC') AS bu_name_en,
nvl(subbu,'BBU_County') AS sub_bu_name, NVL(subbu,'ROC') AS sub_bu_name,
nvl(subbu,'BBU_County') AS sub_bu_code_auth, NVL(subbu,'ROC') AS sub_bu_code_auth,
'IQVIA-COUNTY(Quarterly)' AS bu_code_auth, 'IQVIA-COUNTY(Quarterly)' AS bu_code_auth,
'IQVIA-COUNTY(Quarterly)' AS DATA_SOURCE, 'IQVIA-COUNTY(Quarterly)' AS DATA_SOURCE,
1 AS REGION_RATIO, 1 AS REGION_RATIO,
@@ -242,4 +260,7 @@ SELECT DISTINCT
'' AS DSM_NAME, '' AS DSM_NAME,
'' AS MR_KCODE, '' AS MR_KCODE,
'' AS MR_NAME '' AS MR_NAME
FROM pack_2_market t2 FROM all_combinations ac
LEFT ANTI JOIN part1 p
ON ac.market = p.market
AND ac.audit_cod = p.audit_cod

View File

@@ -89,10 +89,10 @@ market_ta (
) )
,pack_market as ( ,pack_market as (
select distinct a.pack_cod,a.market,b.subbu select distinct a.pack_code as pack_cod,a.market,b.subbu
from dm.dm_td_external_market_pack_mapping a from dm.dm_td_ext_unionall_market_pack_mapping a
left join market_ta b on a.MARKET = b.market left join market_ta b on a.MARKET = b.market
where data_source = 'Retail(Quarterly)' where datasource = 'Retail(Quarterly)'
) )
,external_geo as ( ,external_geo as (
select distinct province_c,audit_cod,REGION_CENTER select distinct province_c,audit_cod,REGION_CENTER
@@ -132,7 +132,7 @@ from dm.dm_td_sd_territory_indication t1
inner join YM_CVH t2 inner join YM_CVH t2
on t1.yyyymm = t2.key_value on t1.yyyymm = t2.key_value
where bu in ('Retail') --20260320 chenwu Retail数据源的架构OBURetail where bu in ('Retail') --20260320 chenwu Retail数据源的架构OBURetail
and t1.key_hp<>3 --chenwu 20250904 and t1.key_hp=1 --chenwu 20260519
) )
,province_market as ( ,province_market as (
select t1.trty_code, select t1.trty_code,

View File

@@ -212,58 +212,132 @@ FROM
-- 功能: 月份NIAD不进行季度汇总, 新建DM.DM_TF_EXT_RETAIL_NIAD_SALES表做关联 -- 功能: 月份NIAD不进行季度汇总, 新建DM.DM_TF_EXT_RETAIL_NIAD_SALES表做关联
-- **************************************************** -- ****************************************************
WITH NIAD_DWD_TABLE AS ( WITH NIAD_DWD_TABLE AS (
select SELECT
a.month, a.month,
b.iqvia_pack_code as pack_code, b.iqvia_pack_code AS pack_code,
'ROC' AS zk_region, 'ROC' AS zk_region,
a.sales_unit, SUM(a.sales_unit) AS sales_unit,
a.sales_value, SUM(a.sales_value) AS sales_value,
a.sales_unit * (b.counting_unit/ coalesce(b.unit,1)) as counting_unit SUM(a.sales_unit * (b.counting_unit / COALESCE(b.unit, 1))) AS counting_unit
from FROM
dwd.dwd_gnd_ext_retail_nataional_niad a dwd.dwd_gnd_ext_retail_nataional_niad a
left join dwd.dwd_gnd_ext_retail_pack_property b LEFT JOIN dwd.dwd_gnd_ext_retail_pack_property b
on case ON CASE
when length(zk_product_id) < 7 then right(concat('0000000', zk_product_id), 7) WHEN LENGTH(zk_product_id) < 7 THEN RIGHT(CONCAT('0000000', zk_product_id), 7)
else zk_product_id ELSE zk_product_id
end = b.product_id END = b.product_id
where WHERE
a.zk_region = '全国' a.zk_region = '全国'
GROUP BY
a.month, b.iqvia_pack_code
),
UNION_TABLE AS (
-- 当期
SELECT
cur.month AS YYYYMM,
cur.pack_code AS PACK_CODE,
'' AS CORP_CODE,
cur.zk_region AS AUDIT_CODE,
'' AS PLATFORM_TYPE,
'' AS STORE_NAME,
'' AS STORE_TYPE,
'' AS REGION_TYPE,
'' AS PACK_FLAG,
'' AS PROD_FLAG,
'' AS DTP_FLAG,
CAST(REPLACE(cur.sales_unit, ',', '') AS DECIMAL(38, 10)) AS SALES_UNIT_CAL,
0 AS SALES_UNIT_CAL_LY,
CAST(REPLACE(cur.sales_value, ',', '') AS DECIMAL(38, 10)) AS SALES_VALUE_CAL,
0 AS SALES_VALUE_CAL_LY,
CAST(cur.counting_unit AS DECIMAL(38, 10)) AS CONUTING_UNIT,
0 AS CONUTING_UNIT_LY,
'Retail(Quarterly)' AS DATA_SOURCE,
'' AS INST_CODE,
'' AS CMPS_FLAG,
'' AS DEPT_NAME,
'' AS PRESCRIPTION,
'' AS PRESCRIPTION_LY,
'' AS NEW_CODE,
'' AS AREA,
'' AS H_LEVEL,
'' AS REIMBURSE,
'' AS REIMBURSE_TYPE,
'' AS PRESCRIPTION_SOURCE
FROM NIAD_DWD_TABLE cur
UNION ALL
-- 同期(去年)
SELECT
CAST(CAST(cur.month AS INT) + 100 AS STRING) AS YYYYMM,
cur.pack_code AS PACK_CODE,
'' AS CORP_CODE,
cur.zk_region AS AUDIT_CODE,
'' AS PLATFORM_TYPE,
'' AS STORE_NAME,
'' AS STORE_TYPE,
'' AS REGION_TYPE,
'' AS PACK_FLAG,
'' AS PROD_FLAG,
'' AS DTP_FLAG,
0 AS SALES_UNIT_CAL,
CAST(REPLACE(cur.sales_unit, ',', '') AS DECIMAL(38, 10)) AS SALES_UNIT_CAL_LY,
0 AS SALES_VALUE_CAL,
CAST(REPLACE(cur.sales_value, ',', '') AS DECIMAL(38, 10)) AS SALES_VALUE_CAL_LY,
0 AS CONUTING_UNIT,
CAST(cur.counting_unit AS DECIMAL(38, 10)) AS CONUTING_UNIT_LY,
'Retail(Quarterly)' AS DATA_SOURCE,
'' AS INST_CODE,
'' AS CMPS_FLAG,
'' AS DEPT_NAME,
'' AS PRESCRIPTION,
'' AS PRESCRIPTION_LY,
'' AS NEW_CODE,
'' AS AREA,
'' AS H_LEVEL,
'' AS REIMBURSE,
'' AS REIMBURSE_TYPE,
'' AS PRESCRIPTION_SOURCE
FROM NIAD_DWD_TABLE cur
WHERE CAST(cur.month AS INT) + 100 <= (SELECT CAST(MAX(month) AS INT) FROM NIAD_DWD_TABLE)
) )
INSERT OVERWRITE TABLE DM.DM_TF_EXT_RETAIL_NIAD_SALES INSERT OVERWRITE TABLE DM.DM_TF_EXT_RETAIL_NIAD_SALES
SELECT SELECT
cur.month AS YYYYMM, YYYYMM,
cur.pack_code AS PACK_CODE, PACK_CODE,
'' AS CORP_CODE, CORP_CODE,
cur.zk_region AS AUDIT_CODE, AUDIT_CODE,
'' AS PLATFORM_TYPE, PLATFORM_TYPE,
'' AS STORE_NAME, STORE_NAME,
'' AS STORE_TYPE, STORE_TYPE,
'' AS REGION_TYPE, REGION_TYPE,
'' AS PACK_FLAG, PACK_FLAG,
'' AS PROD_FLAG, PROD_FLAG,
'' AS DTP_FLAG, DTP_FLAG,
CAST(REPLACE(cur.sales_unit, ',', '') AS DECIMAL(38, 10)) AS SALES_UNIT_CAL, SUM(SALES_UNIT_CAL) AS SALES_UNIT_CAL,
IFNULL(CAST(REPLACE(ly.sales_unit, ',', '') AS DECIMAL(38, 10)), 0) AS SALES_UNIT_CAL_LY, SUM(SALES_UNIT_CAL_LY) AS SALES_UNIT_CAL_LY,
CAST(REPLACE(cur.sales_value, ',', '') AS DECIMAL(38, 10)) AS SALES_VALUE_CAL, SUM(SALES_VALUE_CAL) AS SALES_VALUE_CAL,
IFNULL(CAST(REPLACE(ly.sales_value, ',', '') AS DECIMAL(38, 10)), 0) AS SALES_VALUE_CAL_LY, SUM(SALES_VALUE_CAL_LY) AS SALES_VALUE_CAL_LY,
CAST(cur.counting_unit AS DECIMAL(38, 10)) AS CONUTING_UNIT, SUM(CONUTING_UNIT) AS CONUTING_UNIT,
IFNULL(CAST(ly.counting_unit AS DECIMAL(38, 10)), 0) AS CONUTING_UNIT_LY, SUM(CONUTING_UNIT_LY) AS CONUTING_UNIT_LY,
'Retail(Quarterly)' AS DATA_SOURCE, DATA_SOURCE,
'' AS INST_CODE, INST_CODE,
'' AS CMPS_FLAG, CMPS_FLAG,
'' AS DEPT_NAME, DEPT_NAME,
'' AS PRESCRIPTION, PRESCRIPTION,
'' AS PRESCRIPTION_LY, PRESCRIPTION_LY,
'' AS NEW_CODE, NEW_CODE,
'' AS AREA, AREA,
'' AS H_LEVEL, H_LEVEL,
'' AS REIMBURSE, REIMBURSE,
'' AS REIMBURSE_TYPE, REIMBURSE_TYPE,
'' AS PRESCRIPTION_SOURCE, PRESCRIPTION_SOURCE,
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(), 'UTC+8') AS ETL_INSERT_DT, FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(), 'UTC+8') AS ETL_INSERT_DT,
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(), 'UTC+8') AS ETL_UPDATE_DT FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(), 'UTC+8') AS ETL_UPDATE_DT
FROM (select * from NIAD_DWD_TABLE ) cur FROM UNION_TABLE
LEFT JOIN (select * from NIAD_DWD_TABLE ) ly GROUP BY
ON CAST(CAST(ly.month AS INT) + 100 AS STRING) = cur.month YYYYMM, PACK_CODE, CORP_CODE, AUDIT_CODE, PLATFORM_TYPE,
AND ly.pack_code = cur.pack_code STORE_NAME, STORE_TYPE, REGION_TYPE, PACK_FLAG, PROD_FLAG,
AND ly.zk_region = cur.zk_region DTP_FLAG, DATA_SOURCE, INST_CODE, CMPS_FLAG, DEPT_NAME,
PRESCRIPTION, PRESCRIPTION_LY, NEW_CODE, AREA, H_LEVEL,
REIMBURSE, REIMBURSE_TYPE, PRESCRIPTION_SOURCE

View File

@@ -80,10 +80,10 @@ SELECT
T0.STORE_TYPE, T0.STORE_TYPE,
T0.REGION_TYPE, T0.REGION_TYPE,
T0.DATA_SOURCE, T0.DATA_SOURCE,
CASE WHEN P.MARKET IS NOT NULL AND T0.PACK_FLAG = 1 THEN 1 CASE WHEN P.MARKET IS NOT NULL THEN 1
WHEN P.MARKET IS NOT NULL THEN 2 WHEN P.MARKET IS NOT NULL THEN 2
ELSE 0 END PACK_FLAG, ELSE 0 END PACK_FLAG,
CASE WHEN P.MARKET IS NOT NULL AND T0.PROD_FLAG = 1 THEN 1 CASE WHEN P.MARKET IS NOT NULL THEN 1
WHEN P.MARKET IS NOT NULL THEN 2 WHEN P.MARKET IS NOT NULL THEN 2
WHEN T0.MARKET = 'Metoprolol Succinate Market' AND PACK.PROD_DES = 'BETALOC ZOK' THEN 1 WHEN T0.MARKET = 'Metoprolol Succinate Market' AND PACK.PROD_DES = 'BETALOC ZOK' THEN 1
WHEN T0.MARKET = 'Atorvastatin Market' AND PACK.PROD_DES = 'LIPITOR' THEN 1 WHEN T0.MARKET = 'Atorvastatin Market' AND PACK.PROD_DES = 'LIPITOR' THEN 1

View File

@@ -143,16 +143,23 @@ niad_pack_cods AS (
-- 来源Retail pack粒度数据EC行join后为NULL属正常 -- 来源Retail pack粒度数据EC行join后为NULL属正常
-- 关联键pack_code = PACK_COD, geo_key = AUDIT_COD, YYYYMM = YYYYMM -- 关联键pack_code = PACK_COD, geo_key = AUDIT_COD, YYYYMM = YYYYMM
kpi_pivot AS ( kpi_pivot AS (
SELECT select
pack_code, a.month yyyymm,
YYYYMM, b.iqvia_pack_code as pack_code,
geo_key, 'ROC' AS geo_key,
MAX(CASE WHEN KPI_name = 'digital_spread_rate' THEN kpi_val END) AS DIGITAL_SPREAD_RATE, max(a.digital_spread_rate) as DIGITAL_SPREAD_RATE,
MAX(CASE WHEN KPI_name = 'weighted_spread_rate' THEN kpi_val END) AS WEIGHTED_SPREAD_RATE max(a.weighted_spread_rate) as WEIGHTED_SPREAD_RATE
FROM dm.dm_zk_retail_sales_kpi from
WHERE KPI_name IN ( 'digital_spread_rate', 'weighted_spread_rate') dwd.dwd_gnd_ext_retail_nataional_niad a
AND ta = 'DM' left join dwd.dwd_gnd_ext_retail_pack_property b
GROUP BY pack_code, YYYYMM, geo_key on case
when length(zk_product_id) < 7 then right(concat('0000000', zk_product_id), 7)
else zk_product_id
end = b.product_id
where
a.zk_region = '全国'
group by
a.month,b.iqvia_pack_code
) )
-- 主查询:提取所有关联市场的完整销售数据 -- 主查询:提取所有关联市场的完整销售数据

View File

@@ -12,7 +12,7 @@ with geo_xiehe as (-- dwd层表
group by fact_province,fact_city,geo_city,nvl(geo_province,'') group by fact_province,fact_city,geo_city,nvl(geo_province,'')
) )
-- 特殊区域:'黑吉辽','云贵川','湖北','甘肃','其他地区' -- 特殊区域:'黑吉辽','云贵川','湖北','其他地区'
select select
-- a.*, -- a.*,
concat('xiehe_',nvl(b.AUDIT_COD,concat(a.geo_province,a.fact_province,a.fact_city))) as AUDIT_COD concat('xiehe_',nvl(b.AUDIT_COD,concat(a.geo_province,a.fact_province,a.fact_city))) as AUDIT_COD

View File

@@ -14,10 +14,10 @@
-- bbu_bu_county_flag string -- bbu_bu_county_flag string
-- ) -- )
-- USING delta -- USING delta
-- -- location 'abfss://master@azcdatalakeprd.dfs.core.chinacloudapi.cn/DM/dm_td_ext_county_geo_mapping_flag' -- location 'abfss://master@azcdatalakeprd.dfs.core.chinacloudapi.cn/DM/dm_td_ext_county_geo_mapping_flag'
-- location 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_county_geo_mapping_flag' -- -- location 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_td_ext_county_geo_mapping_flag'
-- COMMAND ---------- -- COMMAND ----------
insert overwrite dm.dm_td_ext_county_geo_mapping_flag insert overwrite dm.dm_td_ext_county_geo_mapping_flag
select province,bbu_bu_county_flag from dwd.dwd_gnd_county_geo_mapping select province,bbu_bu_county from dwd.dwd_gnd_county_geo