89 lines
3.8 KiB
SQL
89 lines
3.8 KiB
SQL
-- Databricks notebook source
|
||
|
||
-------使用新的DIM表,生成PackProfile,保证后续的逻辑
|
||
-- 20260119 依赖前面 dwd.dwd_ims_nfc_hierarchy、dwd.dwd_ims_atc_hierarchy、dwd.dwd_ims_td_manufacturer_corp
|
||
-- 20260119 依赖上面补0 dwd.dwd_gnd_ims_tblbrandtype
|
||
|
||
insert overwrite table dwd.dwd_ims_td_pack_property
|
||
select DISTINCT
|
||
if( PACK.Pack_Code REGEXP '^[0-9]',right(concat('000000000000',PACK.Pack_Code),12),PACK.Pack_Code) as PACK_COD, --RIGHT(concat('0000000',PACK.Pack_Code),7)
|
||
PACK.Pack_Description AS PACK_DES,
|
||
PACK.STRENGTH AS STGH_DES,
|
||
concat('Y',LEFT(PACK.LAUNCHTIME,4),'M',RIGHT(PACK.LAUNCHTIME,2)) AS PACK_LCH,
|
||
|
||
RIGHT(concat('000000000',PROD.Product_Code),9) AS PROD_COD, --RIGHT(concat('00000',PROD.Product_Code),5)
|
||
RIGHT(concat('000000',MOLE.MoleCompCode),6) AS CMPS_COD,
|
||
MOLE.MoleCompDesc AS CMPS_DES,
|
||
|
||
ATCH.ATC1_CODE AS ATC1_COD,
|
||
ATCH.ATC2_CODE AS ATC2_COD,
|
||
ATCH.ATC3_CODE AS ATC3_COD,
|
||
ATCH.ATC4_CODE AS ATC4_COD,
|
||
|
||
NFCH.NFC1_CODE AS APP1_COD,
|
||
NFCH.NFC2_CODE AS APP2_COD,
|
||
NFCH.NFC3_CODE AS APP3_COD,
|
||
|
||
MOLE.BIO AS BIO_DESC,
|
||
MOLE.Gene_Orig AS GENE_ORIG_DESC,
|
||
MOLE.Rx_Flag AS ETH_OTC_DESC,
|
||
MOLE.NRDL AS NRDL_DESC,
|
||
MOLE.NRDL_Entry_Date,
|
||
MOLE.EDL AS EDL_DESC,
|
||
MOLE.TCMEX AS TCM_DESC,
|
||
MOLE.PAED AS PAED_DESC,
|
||
MOLE.GQCE AS GQCE_DESC,
|
||
MOLE.VBP AS VBP_DESC,
|
||
MANU.Manufacturer_Abbr AS MANU_COD,
|
||
MANU.Manufacturer_Name AS MANU_DES,
|
||
MANUT.ManufacturerType_CODE AS MNFL_COD,
|
||
MANUT.ManufacturerType_Name AS MNFL_DES,
|
||
MANU.CORP_ABBR AS CORP_COD,
|
||
MANU.CORP_DES AS CORP_DES,
|
||
BRANDTYPE.Brand_Type AS BrandType
|
||
from dwd.dwd_ims_td_pack PACK
|
||
LEFT JOIN dwd.dwd_ims_td_product PROD ON PACK.Product_ID = PROD.Product_ID
|
||
LEFT JOIN dwd.dwd_ims_td_new_form_class NFC ON PACK.NewFormClass_ID = NFC.NewFormClass_ID
|
||
LEFT JOIN dwd.dwd_ims_nfc_hierarchy NFCH ON NFC.NewFormClass_Code = NFCH.NFC3_CODE
|
||
LEFT JOIN dwd.dwd_ims_td_therapeutic_class ATC ON PACK.Therapeutic_ID = ATC.Therapeutic_ID
|
||
LEFT JOIN dwd.dwd_ims_atc_hierarchy ATCH ON ATC.Therapeutic_Code = ATCH.ATC4_CODE
|
||
LEFT JOIN dwd.dwd_ims_td_pack_additional_attribute MOLE ON PACK.Pack_ID = MOLE.Pack_ID
|
||
LEFT JOIN dwd.dwd_ims_td_manufacturer_corp MANU ON PROD.Manufacturer_ID = MANU.Manufacturer_ID
|
||
LEFT JOIN dwd.dwd_ims_td_manufacturertype MANUT ON MANU.ManufacturerType_ID = MANUT.ManufacturerType_ID
|
||
LEFT JOIN dwd.dwd_gnd_ims_tblbrandtype BRANDTYPE ON PACK.Pack_Code = BRANDTYPE.PACK_COD
|
||
;
|
||
|
||
update dwd.dwd_ims_td_pack_property set CORP_COD ='' where CORP_COD is null ;
|
||
update dwd.dwd_ims_td_pack_property set STGH_DES ='' where STGH_DES is null ;
|
||
|
||
-- COMMAND ----------
|
||
|
||
-- 20260119 修改 dwd.dwd_ims_td_pack_property 我感觉可以拉到前面去
|
||
-- 要调研下,为什么前面没有写,而在后面写。
|
||
--Update AZ BRANDS SCOPE---MANU的页面显示
|
||
---by Product&Pack add in 'Fluimucil, Broncho-vaxom, Ai Rui Zhuo', by AC 202103
|
||
update dwd.dwd_ims_td_pack_property
|
||
set CORP_COD = 'A5Z', CORP_DES = 'ASTRAZENECA GROUP'
|
||
where PROD_COD in(
|
||
select
|
||
right(concat('0000000000',PROD_COD),9) as PROD_COD --right(concat('000000',PROD_COD),5)
|
||
from dwd.dwd_gnd_tbl_corp_change where corp_cod='A5Z')
|
||
or PACK_COD in(
|
||
select
|
||
if( PACK_COD REGEXP '^[0-9]',right(concat('000000000000',PACK_COD),12),PACK_COD) as PACK_COD --right(concat('000000',PACK_COD),7)
|
||
from dwd.dwd_gnd_tbl_corp_change where corp_cod='A5Z')
|
||
-- where PROD_COD in ('97336','73148') OR PACK_COD = '0795918'
|
||
;
|
||
---by Product&Pack remove out tblAZScope.xlsx', by AC 202103
|
||
update dwd.dwd_ims_td_pack_property
|
||
set CORP_COD = 'A5ZD', CORP_DES = 'AZDealed',MANU_COD = 'A5ZD' ,MANU_DES = 'AZDealed'
|
||
where PROD_COD in(
|
||
select
|
||
right(concat('0000000000',PROD_COD),9) as PROD_COD
|
||
from dwd.dwd_gnd_tbl_corp_change where corp_cod='A5ZD')
|
||
or PACK_COD in(
|
||
select
|
||
if( PACK_COD REGEXP '^[0-9]',right(concat('000000000000',PACK_COD),12),PACK_COD) as PACK_COD
|
||
from dwd.dwd_gnd_tbl_corp_change where corp_cod='A5ZD')
|
||
-- where PROD_COD in ('02267','14691','58423','12754','06482','97266','14164')
|
||
; |