update20260427
This commit is contained in:
83
08 dm_td_external_corp.sql
Normal file
83
08 dm_td_external_corp.sql
Normal file
@@ -0,0 +1,83 @@
|
||||
-- Databricks notebook source
|
||||
----------------------------------------------------------------------------
|
||||
--修改时间:20241126
|
||||
--修改人:Fanxujia
|
||||
--修改内容:
|
||||
--补充THC渠道的全国的事实表中的pack_cod
|
||||
----------------------------------------------------------------------------
|
||||
----------------------------------------------------------------------------
|
||||
--修改时间:20241129
|
||||
--修改人:Fanxujia
|
||||
--修改内容:
|
||||
--补充Retail直取中DTP的手工文件里的pack_cod
|
||||
----------------------------------------------------------------------------
|
||||
with external_sales as (
|
||||
select distinct PACK_COD
|
||||
from dm.DM_TF_EXTERNAL_SALES
|
||||
union
|
||||
select distinct pack_cod
|
||||
from dm.dm_tf_external_sales_thc
|
||||
union
|
||||
select distinct pack_code
|
||||
from dm.dm_zk_retail_sales_kpi
|
||||
where NVL(pack_code,'Others') <> 'Others'
|
||||
and pack_code <> ''
|
||||
)
|
||||
|
||||
--只存放有外部数据的公司信息数据
|
||||
INSERT OVERWRITE dm.dm_td_external_corp(CORP_COD,CORP_DES,CORP_DES_C,CORP_TYPE)
|
||||
SELECT A.CORP_COD,CASE WHEN MAX(CORP_DES) LIKE 'ASTRAZENECA%' THEN 'ASTRAZENECA' ELSE MAX(CORP_DES) END CORP_DES,MAX(CORP_DES_C) CORP_DES_C,
|
||||
CASE WHEN MAX(UPPER(MNFL_DES)) = 'LOCAL' THEN 'LOCAL'
|
||||
WHEN UPPER(A.CORP_COD) LIKE '%CORP_COD%' OR UPPER(A.CORP_COD) LIKE '%OTHERS%' THEN ''
|
||||
ELSE 'MNC' END CORP_TYPE
|
||||
FROM (select distinct PACK_COD,CORP_COD,CORP_DES,CORP_DES_C,MNFL_DES from DM.dm_td_external_packinfo_temp2) A
|
||||
INNER JOIN external_sales B ON A.PACK_COD = B.PACK_COD
|
||||
WHERE A.CORP_COD IS NOT NULL
|
||||
GROUP BY A.CORP_COD
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
|
||||
------------ec补充缺少的Corp信息
|
||||
insert into dm.dm_td_external_corp(CORP_COD,CORP_DES,CORP_DES_C,CORP_TYPE)
|
||||
select
|
||||
case when CORP_COD is null or CORP_COD = '' then 'CORP_COD_EC(Monthly)'
|
||||
else CORP_COD end as CORP_COD,
|
||||
max(CORP_DES) CORP_DES,
|
||||
max(CORP_DES_C) CORP_DES,
|
||||
max(case when upper(MNFL_DES) = 'LOCAL' then 'LOCAL' else 'MNC' end) CORP_TYPE
|
||||
from dwd.dwd_inc_gnd_retail_b2c_label_total
|
||||
where CORP_COD in (
|
||||
select distinct
|
||||
a.CORP_COD
|
||||
from (select distinct corp_cod from dm.dm_zk_ec_sales_kpi ) a
|
||||
where not exists(
|
||||
select 1 from dm.dm_td_external_corp b
|
||||
where a.CORP_COD = b.CORP_COD
|
||||
)
|
||||
)
|
||||
group by 1
|
||||
|
||||
|
||||
-- COMMAND ----------
|
||||
|
||||
|
||||
------------Retail补充缺少的Corp信息
|
||||
insert into dm.dm_td_external_corp(CORP_COD,CORP_DES,CORP_DES_C,CORP_TYPE)
|
||||
select distinct
|
||||
case when CORP_COD is null or CORP_COD = '' then 'CORP_COD_Retail(Quarterly)'
|
||||
else CORP_COD end as CORP_COD,
|
||||
max(CORP_DES) CORP_DES,
|
||||
max(CORP_DES_C) CORP_DES,
|
||||
max(case when upper(MNFL_DES) = 'LOCAL' then 'LOCAL' else 'MNC' end) CORP_TYPE
|
||||
from dwd.dwd_inc_gnd_retail_b2c_label_total
|
||||
where CORP_COD in (
|
||||
select distinct
|
||||
a.CORP_COD
|
||||
from (select distinct corp_cod from dm.dm_zk_retail_sales_kpi ) a
|
||||
where not exists(
|
||||
select 1 from dm.dm_td_external_corp b
|
||||
where a.CORP_COD = b.CORP_COD
|
||||
)
|
||||
)
|
||||
group by 1
|
||||
Reference in New Issue
Block a user