-- Databricks notebook source --对折算规则文件中的Pack,Mole code 补0 --时间条件为空的,赋默认值 --地理维度表增加KCT和ROC UPDATE dwd.dwd_gnd_ims_tblBrandRatio SET PACK_COD = if( CAST(PACK_COD AS string) REGEXP '^[0-9]',right(concat('000000000000',CAST(PACK_COD AS string)),12),CAST(PACK_COD AS string)), CMPS_COD = RIGHT(concat('000000',CAST(CMPS_COD AS string)),6), StartTime = CASE WHEN StartTime IS NULL OR UPPER(StartTime)= 'ALL' THEN '190001' ELSE StartTime END, EndTime = CASE WHEN EndTime IS NULL OR UPPER(EndTime)= 'ALL' THEN '209901' ELSE EndTime END ; -- COMMAND ---------- -- 20260119 这个补0操作,可以放最前面,或者专门找个地方放。 ----确保Market和KeyCompetitor配置表中,Pack_Code,Product_Code,Molecule_Code 三个字段都已经补0 UPDATE dwd.dwd_gnd_ims_tblmarket --20250428 chenwu iqivacode扩到12位,brandcode 扩到9位 SET Pack_Code = if( Pack_Code REGEXP '^[0-9]',right(concat('000000000000',Pack_Code),12),Pack_Code) ,Product_Code = RIGHT(concat('000000000',Product_Code),9) --RIGHT(concat('00000',Product_Code),5) ,Molecule_Code = RIGHT(concat('000000',Molecule_Code),6) ; UPDATE dwd.dwd_gnd_ims_tblkeycompetitor SET Pack_Code = if( Pack_Code REGEXP '^[0-9]',right(concat('000000000000',Pack_Code),12),Pack_Code) ,Product_Code = RIGHT(concat('000000000',Product_Code),9) --RIGHT(concat('00000',Product_Code),5) ,Molecule_Code = RIGHT(concat('000000',Molecule_Code),6) ; UPDATE dwd.dwd_gnd_ims_tblbrandtype SET PACK_COD = if( PACK_COD REGEXP '^[0-9]',right(concat('000000000000',PACK_COD),12),PACK_COD) --RIGHT(concat('0000000',PACK_COD),7) ;