61 lines
2.4 KiB
SQL
61 lines
2.4 KiB
SQL
-- Databricks notebook source
|
|
--笛卡尔积生成PKAU维度表
|
|
insert overwrite table tmp.tmp_ims_county_pack_audit
|
|
SELECT
|
|
PACK.Pack_ID,
|
|
if( Pack_Code REGEXP '^[0-9]',right(concat('000000000000',Pack_Code),12),Pack_Code) as PACK_CODE,--RIGHT(concat('0000000',Pack_Code),7)
|
|
AUDI.Audit_ID,
|
|
AUDI.Audit_Name AS AUDIT_COD,
|
|
concat(REPLACE(AUDI.Audit_Name,' ','') , '_', if( Pack_Code REGEXP '^[0-9]',right(concat('000000000000',Pack_Code),12),Pack_Code))as PKAU_INDEX,
|
|
from_utc_timestamp(current_timestamp,'UTC+8') as etl_insert_dt,
|
|
from_utc_timestamp(current_timestamp,'UTC+8') as etl_update_dt
|
|
FROM dwd.dwd_gnd_county_dim_pack PACK
|
|
CROSS JOIN (
|
|
SELECT
|
|
Audit_ID,
|
|
Audit_Type,
|
|
Audit_Name
|
|
FROM dwd.dwd_gnd_county_dim_audit
|
|
) AUDI
|
|
|
|
-- COMMAND ----------
|
|
|
|
---------------------------------------------事实表添加lastyear的KPI字段---------------------------------------------
|
|
insert overwrite table tmp.tmp_ims_county_fact_sales_sum
|
|
select
|
|
distinct
|
|
t1.qtr
|
|
,left(t1.qtr,4)*100+right(t1.qtr,1)*3 as yyyymm
|
|
,t2.pack_code as pack_cod
|
|
,t2.audit_cod as region_cod
|
|
,sum(SalesValue_LC ) as SalesValue_LC
|
|
,sum(SalesValue_LC_LY) as SalesValue_LC_LY
|
|
,sum(Counting_Unit ) as Counting_Unit
|
|
,sum(Counting_Unit_LY) as Counting_Unit_LY
|
|
,sum(Sales_Unit ) as Sales_Unit
|
|
,sum(Sales_Unit_LY) as Sales_Unit_LY
|
|
,from_utc_timestamp(current_timestamp,'UTC+8') as etl_insert_dt
|
|
,from_utc_timestamp(current_timestamp,'UTC+8') as etl_update_dt
|
|
from(
|
|
select DISTINCT left(concat(year,'Q',month/3),6) as qtr,pack_id,audit_id,
|
|
nvl(SalesValue_LC,0) AS SalesValue_LC,
|
|
0 AS SalesValue_LC_LY,
|
|
nvl(Counting_Unit,0) AS Counting_Unit,
|
|
0 AS Counting_Unit_LY,
|
|
nvl(Sales_Unit,0) AS Sales_Unit,
|
|
0 AS Sales_Unit_LY
|
|
from dwd.dwd_gnd_county_fact_sales
|
|
union all
|
|
select DISTINCT left(concat(left(year,4),'Q',month/3),6) as qtr,pack_id,audit_id,
|
|
0 AS SalesValue_LC,
|
|
nvl(SalesValue_LC,0) AS SalesValue_LC_LY,
|
|
0 AS Counting_Unit,
|
|
nvl(Counting_Unit,0) AS Counting_Unit_LY,
|
|
0 AS Sales_Unit,
|
|
nvl(Sales_Unit,0) AS Sales_Unit_LY
|
|
from (select DISTINCT year+1 as year,month,SalesValue_LC,Counting_Unit,Sales_Unit,pack_id,audit_id from dwd.dwd_gnd_county_fact_sales) fact_ly
|
|
where year*100+month in (select distinct year*100+month from dwd.dwd_gnd_county_fact_sales)
|
|
)t1
|
|
left join tmp.tmp_ims_county_pack_audit t2 on t1.pack_id=t2.pack_id and t1.audit_id=t2.audit_id
|
|
group by t1.qtr,t2.pack_code,t2.audit_cod
|