83 lines
2.8 KiB
SQL
83 lines
2.8 KiB
SQL
-- 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 |