Add EXTERNAL SQL scripts

This commit is contained in:
2026-04-20 14:55:25 +08:00
parent c05ba7ec7e
commit b4979eed82
344 changed files with 61619 additions and 0 deletions

View File

@@ -0,0 +1,759 @@
-- Databricks notebook source
-- DBTITLE 1,建表SQL
-- CREATE OR REPLACE TABLE dm.dm_ims_tf_sales (
-- YYYYMM STRING,
-- DAY_DATE STRING,
-- PACK_COD STRING,
-- AUDIT_COD STRING,
-- Related_flag STRING,
-- ORG_KEY STRING,
-- Market STRING,
-- MARKET_PACK_KEY STRING,
-- MARKET_AUDIT_KEY STRING,
-- SALES_VALUE DECIMAL(30,10),
-- SALES_VALUE_LY DECIMAL(30,10),
-- SALES_VALUE_L2Y DECIMAL(30,10),
-- SALES_UNIT DECIMAL(30,10),
-- SALES_UNIT_LY DECIMAL(30,10),
-- SALES_UNIT_L2Y DECIMAL(30,10),
-- CONUTING_UNIT DECIMAL(30,10),
-- CONUTING_UNIT_LY DECIMAL(30,10),
-- CONUTING_UNIT_L2Y DECIMAL(30,10),
-- PDOT DECIMAL(30,10),
-- PDOT_LY DECIMAL(30,10),
-- PDOT_L2Y DECIMAL(30,10),
-- SALES_VALUE_CAL DECIMAL(30,10),
-- SALES_VALUE_CAL_LY DECIMAL(30,10),
-- SALES_UNIT_CAL DECIMAL(30,10),
-- SALES_UNIT_CAL_LY DECIMAL(30,10),
-- ETL_INSERT_DT TIMESTAMP,
-- ETL_UPDATE_DT TIMESTAMP)
-- USING delta
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_ims_tf_sales';
-- COMMAND ----------
-- DBTITLE 1,tmp_ims_tf_fact_sales_l2y
--
-- tmp.tmp_ims_tf_fact_sales 整张表对应的notebook path:/Workspace/Users/kthc245@azc.partner.onmschina.cn/20251125Rebuild MA/rebuildMA/DWS/dws_ims_tbl
CREATE
OR REPLACE TEMPORARY VIEW tmp_ims_tf_fact_sales_l2y AS
select
YM,
AUDIT_COD,
PACK_COD,
sum(MTH00LC) as MTH00LC,
sum(MTH00LCLY) as MTH00LCLY,
sum(MTH00LCL2Y) as MTH00LCL2Y,
sum(MTH00CN) as MTH00CN,
sum(MTH00CNLY) as MTH00CNLY,
sum(MTH00CNL2Y) as MTH00CNL2Y,
sum(MTH00UN) as MTH00UN,
sum(MTH00UNLY) as MTH00UNLY,
sum(MTH00UNL2Y) as MTH00UNL2Y
from
(
select
YM,
AUDIT_COD,
PACK_COD,
MTH00LC,
MTH00LCLY,
0 as MTH00LCL2Y,
MTH00CN,
MTH00CNLY,
0 as MTH00CNL2Y,
MTH00UN,
MTH00UNLY,
0 as MTH00UNL2Y
from
tmp.tmp_ims_tf_fact_sales
union all
select
YM + 200 as YM,
AUDIT_COD,
PACK_COD,
0 as MTH00LC,
0 as MTH00LCLY,
MTH00LC as MTH00LCL2Y,
0 as MTH00CN,
0 as MTH00CNLY,
MTH00CN as MTH00CNL2Y,
0 as MTH00UN,
0 as MTH00UNLY,
MTH00UN as MTH00UNL2Y
from
tmp.tmp_ims_tf_fact_sales
where
YM + 200 in (
select distinct
YM
from
tmp.tmp_ims_tf_fact_sales
)
)
group by
YM,
AUDIT_COD,
PACK_COD
-- COMMAND ----------
-- DBTITLE 1,tmp_ims_tf_sales_total
--IMS value和不折算的value
CREATE
OR REPLACE TEMPORARY VIEW tmp_ims_tf_sales_total AS
-- select distinct
-- t1.YM as YYYYMM,
-- t1.PACK_COD,
-- t1.AUDIT_COD,
-- 'ALL' AS RELATE_FLAG,
-- t1.AUDIT_COD as ORG_KEY,
-- case
-- when t2.market is null then 'Non Market'
-- else t2.market
-- end Market,
-- case
-- when t2.market is null then concat ('Non Market_', t1.pack_cod)
-- else concat (t2.market, '_', t2.pack_cod)
-- end as MARKET_PACK_KEY,
-- case
-- when t2.market is null then concat ('Non Market_', t1.audit_cod)
-- else concat (t2.market, '_', t1.audit_cod)
-- end as MARKET_AUDIT_KEY,
-- t1.MTH00LC * (
-- case
-- when t2.Value_Market_Ratio is null then 1
-- else t2.Value_Market_Ratio
-- end
-- ) as SALES_VALUE,
-- t1.MTH00LCLY * (
-- case
-- when t2.Value_Market_Ratio is null then 1
-- else t2.Value_Market_Ratio
-- end
-- ) as SALES_VALUE_LY,
-- t1.MTH00LCL2Y * (
-- case
-- when t2.Value_Market_Ratio is null then 1
-- else t2.Value_Market_Ratio
-- end
-- ) as SALES_VALUE_L2Y,
-- t1.MTH00UN * (
-- case
-- when t2.Unit_Market_Ratio is null then 1
-- else t2.Unit_Market_Ratio
-- end
-- ) as SALES_UNIT,
-- t1.MTH00UNLY * (
-- case
-- when t2.Unit_Market_Ratio is null then 1
-- else t2.Unit_Market_Ratio
-- end
-- ) as SALES_UNIT_LY,
-- t1.MTH00UNL2Y * (
-- case
-- when t2.Unit_Market_Ratio is null then 1
-- else t2.Unit_Market_Ratio
-- end
-- ) as SALES_UNIT_L2Y,
-- t1.MTH00CN as CONUTING_UNIT,
-- t1.MTH00CNLY as CONUTING_UNIT_LY,
-- t1.MTH00CNL2Y as CONUTING_UNIT_L2Y,
-- t1.MTH00CN * (
-- case
-- when t2.CountingUnit_Market_Ratio is null then 1
-- else t2.CountingUnit_Market_Ratio
-- end
-- ) as PDOT,
-- t1.MTH00CNLY * (
-- case
-- when t2.CountingUnit_Market_Ratio is null then 1
-- else t2.CountingUnit_Market_Ratio
-- end
-- ) as PDOT_LY,
-- t1.MTH00CNL2Y * (
-- case
-- when t2.CountingUnit_Market_Ratio is null then 1
-- else t2.CountingUnit_Market_Ratio
-- end
-- ) as PDOT_L2Y,
-- t1.MTH00LC as SALES_VALUE_CAL,
-- t1.MTH00LCLY as SALES_VALUE_CAL_LY,
-- t1.MTH00LCL2Y as SALES_VALUE_CAL_L2Y,
-- t1.MTH00UN as SALES_UNIT_CAL,
-- t1.MTH00UNLY as SALES_UNIT_CAL_LY,
-- t1.MTH00UNL2Y as SALES_UNIT_CAL_L2Y,
-- from_utc_timestamp (current_timestamp(), 'UTC+8') as ETL_INSERT_DT,
-- from_utc_timestamp (current_timestamp(), 'UTC+8') as ETL_UPDATE_DT
-- from
-- tmp_ims_tf_fact_sales_l2y t1
-- left join (
-- select distinct
-- YM,
-- market,
-- pack_cod,
-- Value_Market_Ratio,
-- Unit_Market_Ratio,
-- CountingUnit_Market_Ratio
-- from
-- dws.dws_ims_td_market_ratio
-- ) t2 on t1.pack_cod = t2.pack_cod
-- and t1.YM = t2.YM
-- where
-- -- t1.YM in (select YYYYMM from dm.dm_ims_td_calendar)and
-- t2.market is not null
-- union all
-- -- IMS ALL Market 为所有的IMS市场 不折算的数据的汇总即不折算的所有市场的city粒度数据
select distinct
t1.YM as YYYYMM,
t1.PACK_COD,
t1.AUDIT_COD,
-- 'ALL' AS RELATE_FLAG,
t1.AUDIT_COD as ORG_KEY,
-- 'IMS ALL Market' Market,
-- concat ('IMS ALL Market_', t1.pack_cod) as MARKET_PACK_KEY,
-- concat ('IMS ALL Market_', t1.audit_cod) as MARKET_AUDIT_KEY,
t1.MTH00LC SALES_VALUE,
t1.MTH00LCLY SALES_VALUE_LY,
t1.MTH00LCL2Y SALES_VALUE_L2Y,
t1.MTH00UN SALES_UNIT,
t1.MTH00UNLY SALES_UNIT_LY,
t1.MTH00UNL2Y SALES_UNIT_L2Y,
t1.MTH00CN CONUTING_UNIT,
t1.MTH00CNLY CONUTING_UNIT_LY,
t1.MTH00CNL2Y CONUTING_UNIT_L2Y,
t1.MTH00CN PDOT,
t1.MTH00CNLY PDOT_LY,
t1.MTH00CNL2Y PDOT_L2Y,
t1.MTH00LC SALES_VALUE_CAL,
t1.MTH00LCLY SALES_VALUE_CAL_LY,
t1.MTH00LCL2Y SALES_VALUE_CAL_L2Y,
t1.MTH00UN SALES_UNIT_CAL,
t1.MTH00UNLY SALES_UNIT_CAL_LY,
t1.MTH00UNL2Y SALES_UNIT_CAL_L2Y,
from_utc_timestamp (current_timestamp(), 'UTC+8') ETL_INSERT_DT,
from_utc_timestamp (current_timestamp(), 'UTC+8') ETL_UPDATE_DT
from
tmp_ims_tf_fact_sales_l2y t1
-- where t1.YM in (select YYYYMM from dm.dm_ims_td_calendar)
;
-- COMMAND ----------
-- DBTITLE 1,tmp_ims_tf_sales_tamarket
-- --在原本的数据上加上AZ Related Market此为AZ 相关的六大市场数据汇总
-- --以及年月日的日期格式标签
-- CREATE
-- OR REPLACE TEMPORARY VIEW tmp_ims_tf_sales_tamarket AS
-- select distinct
-- YYYYMM,
-- concat (left (YYYYMM, 4), '-', right (YYYYMM, 2), '-01') as DAY_DATE,
-- PACK_COD,
-- AUDIT_COD,
-- RELATE_FLAG,
-- ORG_KEY,
-- Market,
-- MARKET_PACK_KEY,
-- MARKET_AUDIT_KEY,
-- SALES_VALUE,
-- SALES_VALUE_LY,
-- SALES_VALUE_L2Y,
-- SALES_UNIT,
-- SALES_UNIT_LY,
-- SALES_UNIT_L2Y,
-- CONUTING_UNIT,
-- CONUTING_UNIT_LY,
-- CONUTING_UNIT_L2Y,
-- PDOT,
-- PDOT_LY,
-- PDOT_L2Y,
-- SALES_VALUE_CAL,
-- SALES_VALUE_CAL_LY,
-- SALES_VALUE_CAL_L2Y,
-- SALES_UNIT_CAL,
-- SALES_UNIT_CAL_LY,
-- SALES_UNIT_CAL_L2Y,
-- from_utc_timestamp (current_timestamp(), 'UTC+8') ETL_INSERT_DT,
-- from_utc_timestamp (current_timestamp(), 'UTC+8') ETL_UPDATE_DT
-- from
-- tmp_ims_tf_sales_total
-- COMMAND ----------
-- DBTITLE 1,插入逻辑1-需保留
-- dm.dm_ims_tf_sales_china 和 dm.dm_ims_tf_sales 区别就在于 audit_cod = 'CHT' 或者 t1.audit_cod <> 'CHT'
-- insert overwrite table dm.dm_ims_tf_sales_china
-- from tmp_ims_tf_sales_tamarket t1
-- where t1.audit_cod = 'CHT' and (sales_value<>0 or sales_value_ly<>0) and t1.market not in ('Primary Prevention Market-XZK','Iressa 1L TKI Market' )
-- union all
-- from tmp_ims_tf_sales_tamarket t1
-- where t1.audit_cod = 'CHT' and (sales_value<>0 or sales_value_ly<>0) and t1.market in ('Primary Prevention Market-XZK','Iressa 1L TKI Market')
-- insert overwrite table dm.dm_ims_tf_sales
-- from tmp_ims_tf_sales_tamarket t1
-- where t1.audit_cod <> 'CHT' and t1.market not in ('Primary Prevention Market-XZK','Iressa 1L TKI Market')and (sales_value<>0 or sales_value_ly<>0)
-- union all
-- from tmp_ims_tf_sales_tamarket t1
-- where t1.audit_cod <> 'CHT' and t1.market in ('Primary Prevention Market-XZK','Iressa 1L TKI Market')and (sales_value<>0 or sales_value_ly<>0)
-- COMMAND ----------
-- CREATE TABLE catalog_e2_ngbi_qas.dm.dm_ims_tf_sales_china (
-- YYYYMM INT,
-- PACK_COD STRING,
-- AUDIT_COD STRING,
-- SALES_VALUE DECIMAL(38,10),
-- SALES_VALUE_LY DECIMAL(38,10),
-- SALES_VALUE_L2Y DECIMAL(38,10),
-- SALES_UNIT DECIMAL(38,10),
-- SALES_UNIT_LY DECIMAL(38,10),
-- SALES_UNIT_L2Y DECIMAL(38,10),
-- CONUTING_UNIT DECIMAL(38,10),
-- CONUTING_UNIT_LY DECIMAL(38,10),
-- CONUTING_UNIT_L2Y DECIMAL(38,10),
-- PDOT DECIMAL(38,10),
-- PDOT_LY DECIMAL(38,10),
-- PDOT_L2Y DECIMAL(38,10),
-- SALES_VALUE_CAL DECIMAL(38,10),
-- SALES_VALUE_CAL_LY DECIMAL(38,10),
-- SALES_UNIT_CAL DECIMAL(38,10),
-- SALES_UNIT_CAL_LY DECIMAL(38,10),
-- ETL_INSERT_DT TIMESTAMP,
-- ETL_UPDATE_DT TIMESTAMP)
-- USING delta
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_ims_tf_sales_china'
-- COMMAND ----------
-- DBTITLE 1,overwrite dm.dm_ims_tf_sales_china
--SALES
--CHINA CHPA数据
-- t1.market not in ('Primary Prevention Market-XZK','Iressa 1L TKI Market')
-- ,CONUTING_UNIT
-- ,CONUTING_UNIT_LY
-- ,CONUTING_UNIT_L2Y
-- ,SALES_VALUE_CAL
-- ,SALES_VALUE_CAL_LY
-- ,SALES_UNIT_CAL
-- ,SALES_UNIT_CAL_LY
-- from tmp_ims_tf_sales_tamarket t1
-- where t1.audit_cod = 'CHT' and (sales_value<>0 or sales_value_ly<>0) and t1.market not in ('Primary Prevention Market-XZK','Iressa 1L TKI Market' )
-- t1.market in ('Primary Prevention Market-XZK','Iressa 1L TKI Market')
-- PDOT as CONUTING_UNIT
-- ,PDOT_LY as CONUTING_UNIT_LY
-- ,PDOT_L2Y as CONUTING_UNIT_L2Y
-- ,SALES_VALUE as SALES_VALUE_CAL
-- ,SALES_VALUE_LY as SALES_VALUE_CAL_LY
-- ,SALES_UNIT as SALES_UNIT_CAL
-- ,SALES_UNIT_LY as SALES_UNIT_CAL_LY
-- from tmp_ims_tf_sales_tamarket t1
-- where t1.audit_cod = 'CHT' and (sales_value<>0 or sales_value_ly<>0) and t1.market in ('Primary Prevention Market-XZK','Iressa 1L TKI Market')
-- create or replace table dm.dm_ims_tf_sales_china
insert overwrite table dm.dm_ims_tf_sales_china
select distinct
YYYYMM,
-- DAY_DATE,
PACK_COD,
AUDIT_COD,
-- RELATE_FLAG,
-- ORG_KEY,
-- Market,
-- MARKET_PACK_KEY,
-- MARKET_AUDIT_KEY,
SALES_VALUE,
SALES_VALUE_LY,
SALES_VALUE_L2Y,
SALES_UNIT,
SALES_UNIT_LY,
SALES_UNIT_L2Y,
CONUTING_UNIT,
CONUTING_UNIT_LY,
CONUTING_UNIT_L2Y,
PDOT,
PDOT_LY,
PDOT_L2Y,
SALES_VALUE_CAL,
SALES_VALUE_CAL_LY,
SALES_UNIT_CAL,
SALES_UNIT_CAL_LY,
from_utc_timestamp (current_timestamp(), 'UTC+8') ETL_INSERT_DT,
from_utc_timestamp (current_timestamp(), 'UTC+8') ETL_UPDATE_DT
from
tmp_ims_tf_sales_total t1
where
t1.audit_cod = 'CHT'
and (
sales_value <> 0
or sales_value_ly <> 0
)
-- and t1.market not in (
-- 'Primary Prevention Market-XZK',
-- 'Iressa 1L TKI Market'
-- )
-- union all
-- select distinct
-- YYYYMM,
-- DAY_DATE,
-- PACK_COD,
-- AUDIT_COD,
-- RELATE_FLAG,
-- ORG_KEY,
-- Market,
-- MARKET_PACK_KEY,
-- MARKET_AUDIT_KEY,
-- SALES_VALUE,
-- SALES_VALUE_LY,
-- SALES_VALUE_L2Y,
-- SALES_UNIT,
-- SALES_UNIT_LY,
-- SALES_UNIT_L2Y,
-- PDOT as CONUTING_UNIT,
-- PDOT_LY as CONUTING_UNIT_LY,
-- PDOT_L2Y as CONUTING_UNIT_L2Y,
-- PDOT,
-- PDOT_LY,
-- PDOT_L2Y,
-- SALES_VALUE as SALES_VALUE_CAL,
-- SALES_VALUE_LY as SALES_VALUE_CAL_LY,
-- SALES_UNIT as SALES_UNIT_CAL,
-- SALES_UNIT_LY as SALES_UNIT_CAL_LY,
-- from_utc_timestamp (current_timestamp(), 'UTC+8') ETL_INSERT_DT,
-- from_utc_timestamp (current_timestamp(), 'UTC+8') ETL_UPDATE_DT
-- from
-- tmp_ims_tf_sales_tamarket t1
-- where
-- t1.audit_cod = 'CHT'
-- and (
-- sales_value <> 0
-- or sales_value_ly <> 0
-- )
-- and t1.market in (
-- 'Primary Prevention Market-XZK',
-- 'Iressa 1L TKI Market'
-- )
-- COMMAND ----------
-- CREATE or REPLACE TABLE dm.dm_ims_tf_sales (
-- YYYYMM INT,
-- PACK_COD STRING,
-- AUDIT_COD STRING,
-- SALES_VALUE DECIMAL(38,10),
-- SALES_VALUE_LY DECIMAL(38,10),
-- SALES_VALUE_L2Y DECIMAL(38,10),
-- SALES_UNIT DECIMAL(38,10),
-- SALES_UNIT_LY DECIMAL(38,10),
-- SALES_UNIT_L2Y DECIMAL(38,10),
-- CONUTING_UNIT DECIMAL(38,10),
-- CONUTING_UNIT_LY DECIMAL(38,10),
-- CONUTING_UNIT_L2Y DECIMAL(38,10),
-- PDOT DECIMAL(38,10),
-- PDOT_LY DECIMAL(38,10),
-- PDOT_L2Y DECIMAL(38,10),
-- SALES_VALUE_CAL DECIMAL(38,10),
-- SALES_VALUE_CAL_LY DECIMAL(38,10),
-- SALES_UNIT_CAL DECIMAL(38,10),
-- SALES_UNIT_CAL_LY DECIMAL(38,10),
-- ETL_INSERT_DT TIMESTAMP,
-- ETL_UPDATE_DT TIMESTAMP)
-- USING delta
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_ims_tf_sales'
-- COMMAND ----------
-- DBTITLE 1,overwrite dm.dm_ims_tf_sales
--SALES
--CITY
insert overwrite table dm.dm_ims_tf_sales
select distinct
YYYYMM,
-- DAY_DATE,
PACK_COD,
AUDIT_COD,
-- RELATE_FLAG,
-- ORG_KEY,
-- Market,
-- MARKET_PACK_KEY,
-- MARKET_AUDIT_KEY,
SALES_VALUE,
SALES_VALUE_LY,
SALES_VALUE_L2Y,
SALES_UNIT,
SALES_UNIT_LY,
SALES_UNIT_L2Y,
CONUTING_UNIT,
CONUTING_UNIT_LY,
CONUTING_UNIT_L2Y,
PDOT,
PDOT_LY,
PDOT_L2Y,
SALES_VALUE_CAL,
SALES_VALUE_CAL_LY,
SALES_UNIT_CAL,
SALES_UNIT_CAL_LY,
from_utc_timestamp (current_timestamp(), 'UTC+8') ETL_INSERT_DT,
from_utc_timestamp (current_timestamp(), 'UTC+8') ETL_UPDATE_DT
from
tmp_ims_tf_sales_total t1
where
t1.audit_cod <> 'CHT'
-- and t1.market not in (
-- 'Primary Prevention Market-XZK',
-- 'Iressa 1L TKI Market'
-- )
and (
sales_value <> 0
or sales_value_ly <> 0
)
-- union all
-- --'Primary Prevention Market-XZK','Iressa 1L TKI Market' 两个市场特殊处理所有的value都是折算过的
-- select distinct
-- YYYYMM,
-- DAY_DATE,
-- PACK_COD,
-- AUDIT_COD,
-- RELATE_FLAG,
-- ORG_KEY,
-- Market,
-- MARKET_PACK_KEY,
-- MARKET_AUDIT_KEY,
-- SALES_VALUE,
-- SALES_VALUE_LY,
-- SALES_VALUE_L2Y,
-- SALES_UNIT,
-- SALES_UNIT_LY,
-- SALES_UNIT_L2Y,
-- PDOT as CONUTING_UNIT,
-- PDOT_LY as CONUTING_UNIT_LY,
-- PDOT_L2Y as CONUTING_UNIT_L2Y,
-- PDOT,
-- PDOT_LY,
-- PDOT_L2Y,
-- SALES_VALUE as SALES_VALUE_CAL,
-- SALES_VALUE_LY as SALES_VALUE_CAL_LY,
-- SALES_UNIT as SALES_UNIT_CAL,
-- SALES_UNIT_LY as SALES_UNIT_CAL_LY,
-- from_utc_timestamp (current_timestamp(), 'UTC+8') ETL_INSERT_DT,
-- from_utc_timestamp (current_timestamp(), 'UTC+8') ETL_UPDATE_DT
-- from
-- tmp_ims_tf_sales_tamarket t1
-- where
-- t1.audit_cod <> 'CHT'
-- -- and t1.market in (
-- -- 'Primary Prevention Market-XZK',
-- -- 'Iressa 1L TKI Market'
-- -- )
-- -- and (
-- -- sales_value <> 0
-- -- or sales_value_ly <> 0
-- -- )
-- COMMAND ----------
-- DBTITLE 1,插入逻辑2-需保留
-- -- 关键词
-- audit_cod <> 'CHT' -》 dm.dm_ims_tf_sales
-- audit_cod = 'CHT' -》dm.dm_ims_tf_sales_china
-- KCT 所有城市的IMS数据 基于 dm.dm_ims_tf_sales
-- ROC 其他城市的IMS数据计算 ROC = CHT-KCT
-- COMMAND ----------
-- DBTITLE 1,overwrite tmp.tmp_ims_tf_sales_kct
-- 所有城市汇总的IMS数据计算 KCT=sum(all city)
-- create or replace table tmp.tmp_ims_tf_sales_kct
insert overwrite table tmp.tmp_ims_tf_sales_kct
select
YYYYMM,
PACK_COD,
'KCT' as AUDIT_COD,
-- Related_flag,
-- 'KCT' as ORG_KEY,
-- Market,
-- MARKET_PACK_KEY,
-- concat (Market, '_KCT') as MARKET_AUDIT_KEY,
sum(SALES_VALUE) as SALES_VALUE,
sum(SALES_VALUE_LY) as SALES_VALUE_LY,
sum(SALES_VALUE_L2Y) as SALES_VALUE_L2Y,
sum(SALES_UNIT) as SALES_UNIT,
sum(SALES_UNIT_LY) as SALES_UNIT_LY,
sum(SALES_UNIT_L2Y) as SALES_UNIT_L2Y,
sum(CONUTING_UNIT) as CONUTING_UNIT,
sum(CONUTING_UNIT_LY) as CONUTING_UNIT_LY,
sum(CONUTING_UNIT_L2Y) as CONUTING_UNIT_L2Y,
sum(PDOT) as PDOT,
sum(PDOT_LY) as PDOT_LY,
sum(PDOT_LY) as PDOT_L2Y,
sum(SALES_VALUE_CAL) as SALES_VALUE_CAL,
sum(SALES_VALUE_CAL_LY) as SALES_VALUE_CAL_LY,
sum(SALES_UNIT_CAL) as SALES_UNIT_CAL,
sum(SALES_UNIT_CAL_LY) as SALES_UNIT_CAL_LY
from
dm.dm_ims_tf_sales
group by
YYYYMM,
PACK_COD
-- Related_flag,
-- Market,
-- MARKET_PACK_KEY;
-- COMMAND ----------
-- DBTITLE 1,overwrite tmp.tmp_ims_tf_sales_roc
-- 其他城市的IMS数据计算 ROC=CHT-KCT
insert overwrite table tmp.tmp_ims_tf_sales_roc
WITH
DIM_YM_PACK_MARKT (
SELECT
YYYYMM as CHINA_YYYYMM,
PACK_COD as CHINA_PACK_COD
-- ,CHINA_Market
from
dm.dm_ims_tf_sales_china
group by
YYYYMM,
PACK_COD
-- ,CHINA_Market
UNION
SELECT
YYYYMM,
PACK_COD
-- ,Market
from
tmp.tmp_ims_tf_sales_kct
group by
YYYYMM,
PACK_COD
-- ,Market
),
CHPA_SALES (
select
YYYYMM,
PACK_COD,
-- CHINA_Market,
sum(SALES_VALUE) as CHINA_SALES_VALUE,
sum(SALES_VALUE_LY) as CHINA_SALES_VALUE_LY,
sum(SALES_VALUE_L2Y) as CHINA_SALES_VALUE_L2Y,
sum(SALES_UNIT) as CHINA_SALES_UNIT,
sum(SALES_UNIT_LY) as CHINA_SALES_UNIT_LY,
sum(SALES_UNIT_L2Y) as CHINA_SALES_UNIT_L2Y,
sum(CONUTING_UNIT) as CHINA_CONUTING_UNIT,
sum(CONUTING_UNIT_LY) as CHINA_CONUTING_UNIT_LY,
sum(CONUTING_UNIT_L2Y) as CHINA_CONUTING_UNIT_L2Y,
sum(PDOT) as CHINA_PDOT,
sum(PDOT_LY) as CHINA_PDOT_LY,
sum(PDOT_L2Y) as CHINA_PDOT_L2Y,
sum(SALES_VALUE_CAL) as SALES_VALUE_CAL,
sum(SALES_VALUE_CAL_LY) as SALES_VALUE_CAL_LY,
sum(SALES_UNIT_CAL) as SALES_UNIT_CAL,
sum(SALES_UNIT_CAL_LY) as SALES_UNIT_CAL_LY
from
dm.dm_ims_tf_sales_china
group by
YYYYMM,
PACK_COD
-- ,CHINA_Market
),
FABO_SALES (
select
YYYYMM,
PACK_COD,
-- Market,
sum(SALES_VALUE) as SALES_VALUE,
sum(SALES_VALUE_LY) as SALES_VALUE_LY,
sum(SALES_VALUE_L2Y) as SALES_VALUE_L2Y,
sum(SALES_UNIT) as SALES_UNIT,
sum(SALES_UNIT_LY) as SALES_UNIT_LY,
sum(SALES_UNIT_L2Y) as SALES_UNIT_L2Y,
sum(CONUTING_UNIT) as CONUTING_UNIT,
sum(CONUTING_UNIT_LY) as CONUTING_UNIT_LY,
sum(CONUTING_UNIT_L2Y) as CONUTING_UNIT_L2Y,
sum(PDOT) as PDOT,
sum(PDOT_LY) as PDOT_LY,
sum(PDOT_L2Y) as PDOT_L2Y,
sum(SALES_VALUE_CAL) as SALES_VALUE_CAL,
sum(SALES_VALUE_CAL_LY) as SALES_VALUE_CAL_LY,
sum(SALES_UNIT_CAL) as SALES_UNIT_CAL,
sum(SALES_UNIT_CAL_LY) as SALES_UNIT_CAL_LY
from
tmp.tmp_ims_tf_sales_kct
group by
YYYYMM,
PACK_COD
-- ,Market
)
SELECT
t1.CHINA_YYYYMM as YYYYMM,
t1.CHINA_PACK_COD as PACK_COD,
'ROC' as AUDIT_COD,
-- null as Related_flag,
-- 'ROC' as ORG_KEY,
-- t1.CHINA_Market as Market,
-- concat (t1.CHINA_Market, '_', t1.china_pack_cod) as MARKET_PACK_KEY,
-- concat (t1.CHINA_Market, '_ROC') as MARKET_AUDIT_KEY,
nvl (t2.CHINA_SALES_VALUE, 0) - nvl (t3.SALES_VALUE, 0) as SALES_VALUE,
nvl (t2.CHINA_SALES_VALUE_LY, 0) - nvl (t3.SALES_VALUE_LY, 0) as SALES_VALUE_LY,
nvl (t2.CHINA_SALES_VALUE_L2Y, 0) - nvl (t3.SALES_VALUE_L2Y, 0) as SALES_VALUE_L2Y,
nvl (t2.CHINA_SALES_UNIT, 0) - nvl (t3.SALES_UNIT, 0) as SALES_UNIT,
nvl (t2.CHINA_SALES_UNIT_L2Y, 0) - nvl (t3.SALES_UNIT_L2Y, 0) as SALES_UNIT_LY,
nvl (t2.CHINA_SALES_UNIT_LY, 0) - nvl (t3.SALES_UNIT_LY, 0) as SALES_UNIT_L2Y,
nvl (t2.CHINA_CONUTING_UNIT, 0) - nvl (t3.CONUTING_UNIT, 0) as CONUTING_UNIT,
nvl (t2.CHINA_CONUTING_UNIT_LY, 0) - nvl (t3.CONUTING_UNIT_LY, 0) as CONUTING_UNIT_LY,
nvl (t2.CHINA_CONUTING_UNIT_L2Y, 0) - nvl (t3.CONUTING_UNIT_L2Y, 0) as CONUTING_UNIT_L2Y,
nvl (t2.CHINA_PDOT, 0) - nvl (t3.PDOT, 0) as PDOT,
nvl (t2.CHINA_PDOT_LY, 0) - nvl (t3.PDOT_LY, 0) as PDOT_LY,
nvl (t2.CHINA_PDOT_L2Y, 0) - nvl (t3.PDOT_L2Y, 0) as PDOT_L2Y,
nvl (t2.SALES_VALUE_CAL, 0) - nvl (t3.SALES_VALUE_CAL, 0) as SALES_VALUE_CAL,
nvl (t2.SALES_VALUE_CAL_LY, 0) - nvl (t3.SALES_VALUE_CAL_LY, 0) as SALES_VALUE_CAL_LY,
nvl (t2.SALES_UNIT_CAL, 0) - nvl (t3.SALES_UNIT_CAL, 0) as SALES_UNIT_CAL,
nvl (t2.SALES_UNIT_CAL_LY, 0) - nvl (t3.SALES_UNIT_CAL_LY, 0) as SALES_UNIT_CAL_LY
FROM
dim_ym_pack_markt t1
LEFT JOIN chpa_sales t2 on
-- t1.china_market = t2.china_market and
t1.china_yyyymm = t2.yyyymm
and t1.china_pack_cod = t2.pack_cod
LEFT JOIN fabo_sales t3 on
-- t1.china_market = t3.market and
t1.china_yyyymm = t3.yyyymm
and t1.china_pack_cod = t3.pack_cod
-- COMMAND ----------
-- DBTITLE 1,insert into dm.dm_ims_tf_sales
--ROC的数据写入dm.dm_ims_tf_sales
insert into
dm.dm_ims_tf_sales
select distinct
YYYYMM,
-- concat (left (YYYYMM, 4), '-', right (YYYYMM, 2), '-01') as DAY_DATE,
PACK_COD,
AUDIT_COD,
-- RELATED_FLAG,
-- ORG_KEY,
-- Market,
-- MARKET_PACK_KEY,
-- MARKET_AUDIT_KEY,
SALES_VALUE,
SALES_VALUE_LY,
SALES_VALUE_L2Y,
SALES_UNIT,
SALES_UNIT_LY,
SALES_UNIT_L2Y,
CONUTING_UNIT,
CONUTING_UNIT_LY,
CONUTING_UNIT_L2Y,
PDOT,
PDOT_LY,
PDOT_L2Y,
SALES_VALUE_CAL,
SALES_VALUE_CAL_LY,
SALES_UNIT_CAL,
SALES_UNIT_CAL_LY,
from_utc_timestamp (current_timestamp(), 'UTC+8') ETL_INSERT_DT,
from_utc_timestamp (current_timestamp(), 'UTC+8') ETL_UPDATE_DT
from
tmp.tmp_ims_tf_sales_roc
where
sales_value <> 0
or sales_value_ly <> 0;