给free report页面增加PRICE
This commit is contained in:
@@ -28,7 +28,10 @@
|
|||||||
-- DATE_KEY DATE,
|
-- DATE_KEY DATE,
|
||||||
-- PLATFORM STRING,
|
-- PLATFORM STRING,
|
||||||
-- STORE_NAME STRING,
|
-- STORE_NAME STRING,
|
||||||
-- STORE_TYPE STRING)
|
-- STORE_TYPE STRING,
|
||||||
|
-- PRICE STRING,
|
||||||
|
-- DIGITAL_SPREAD_RATE STRING,
|
||||||
|
-- WEIGHTED_SPREAD_RATE STRING
|
||||||
-- USING delta
|
-- USING delta
|
||||||
-- -- LOCATION 'abfss://master@azcdatalakeprd.dfs.core.chinacloudapi.cn/DM/dm_tf_ext_unionall_sales_mapping_niad';
|
-- -- LOCATION 'abfss://master@azcdatalakeprd.dfs.core.chinacloudapi.cn/DM/dm_tf_ext_unionall_sales_mapping_niad';
|
||||||
-- -- 上面是生产环境location,下面是测试环境location
|
-- -- 上面是生产环境location,下面是测试环境location
|
||||||
@@ -44,8 +47,6 @@
|
|||||||
-- 修改日期:2026-04-02
|
-- 修改日期:2026-04-02
|
||||||
-- ****************************************************
|
-- ****************************************************
|
||||||
|
|
||||||
INSERT OVERWRITE DM.DM_TF_EXT_UNIONALL_SALES_MAPPING_NIAD
|
|
||||||
|
|
||||||
WITH
|
WITH
|
||||||
|
|
||||||
-- CTE 1:获取NIAD市场的产品编码集合
|
-- CTE 1:获取NIAD市场的产品编码集合
|
||||||
@@ -55,6 +56,23 @@ niad_pack_cods AS (
|
|||||||
FROM DM.DM_TF_EXT_UNIONALL_MARKET_SALES
|
FROM DM.DM_TF_EXT_UNIONALL_MARKET_SALES
|
||||||
WHERE MARKET = 'NIAD (Non-Insulin Anti-Diabetic) Market'
|
WHERE MARKET = 'NIAD (Non-Insulin Anti-Diabetic) Market'
|
||||||
AND DATA_SOURCE IN ('EC(Monthly)', 'Retail(Quarterly)')
|
AND DATA_SOURCE IN ('EC(Monthly)', 'Retail(Quarterly)')
|
||||||
|
),
|
||||||
|
|
||||||
|
-- CTE 2:从KPI宽转长表中横向取出三个零售铺货率/价格指标
|
||||||
|
-- 来源:Retail pack粒度数据(EC行join后为NULL,属正常)
|
||||||
|
-- 关联键:pack_code = PACK_COD, geo_key = AUDIT_COD, YYYYMM = YYYYMM
|
||||||
|
kpi_pivot AS (
|
||||||
|
SELECT
|
||||||
|
pack_code,
|
||||||
|
YYYYMM,
|
||||||
|
geo_key,
|
||||||
|
MAX(CASE WHEN KPI_name = 'pack_price' THEN kpi_val END) AS PRICE,
|
||||||
|
MAX(CASE WHEN KPI_name = 'digital_spread_rate' THEN kpi_val END) AS DIGITAL_SPREAD_RATE,
|
||||||
|
MAX(CASE WHEN KPI_name = 'weighted_spread_rate' THEN kpi_val END) AS WEIGHTED_SPREAD_RATE
|
||||||
|
FROM dm.dm_zk_retail_sales_kpi
|
||||||
|
WHERE KPI_name IN ('pack_price', 'digital_spread_rate', 'weighted_spread_rate')
|
||||||
|
AND ta = 'DM'
|
||||||
|
GROUP BY pack_code, YYYYMM, geo_key
|
||||||
)
|
)
|
||||||
|
|
||||||
-- 主查询:提取所有关联市场的完整销售数据
|
-- 主查询:提取所有关联市场的完整销售数据
|
||||||
@@ -101,12 +119,23 @@ SELECT /*+ BROADCAST(m) */
|
|||||||
CONCAT(t.AUDIT_COD, t.DATA_SOURCE) AS AUDIT_SOURCE,
|
CONCAT(t.AUDIT_COD, t.DATA_SOURCE) AS AUDIT_SOURCE,
|
||||||
CONCAT(t.MARKET, t.DATA_SOURCE) AS MARKET_SOURCE,
|
CONCAT(t.MARKET, t.DATA_SOURCE) AS MARKET_SOURCE,
|
||||||
CONCAT(t.MARKET,t.CLASS, t.DATA_SOURCE) AS CLASS_SOURCE,
|
CONCAT(t.MARKET,t.CLASS, t.DATA_SOURCE) AS CLASS_SOURCE,
|
||||||
|
|
||||||
-- 时间维度:优化为 TO_DATE 直接解析 yyyyMM 格式,避免字符串拼接
|
-- 时间维度:优化为 TO_DATE 直接解析 yyyyMM 格式,避免字符串拼接
|
||||||
TO_DATE(t.YYYYMM, 'yyyyMM') AS DATE_KEY,
|
TO_DATE(t.YYYYMM, 'yyyyMM') AS DATE_KEY,
|
||||||
PLATFORM_TYPE,
|
PLATFORM_TYPE,
|
||||||
STORE_NAME,
|
STORE_NAME,
|
||||||
STORE_TYPE
|
STORE_TYPE,
|
||||||
|
|
||||||
|
-- 零售铺货率 & 价格(仅 Retail 行有值,EC 行为 NULL)
|
||||||
|
CAST(kpi.PRICE AS string) AS PRICE,
|
||||||
|
CAST(round(kpi.DIGITAL_SPREAD_RATE,2) AS string)||'%' AS DIGITAL_SPREAD_RATE,
|
||||||
|
CAST(round(kpi.WEIGHTED_SPREAD_RATE,2) AS string)||'%' AS WEIGHTED_SPREAD_RATE
|
||||||
|
|
||||||
FROM DM.DM_TF_EXT_UNIONALL_MARKET_SALES t
|
FROM DM.DM_TF_EXT_UNIONALL_MARKET_SALES t
|
||||||
LEFT SEMI JOIN niad_pack_cods m ON t.PACK_COD = m.PACK_COD
|
LEFT SEMI JOIN niad_pack_cods m ON t.PACK_COD = m.PACK_COD
|
||||||
|
LEFT JOIN kpi_pivot kpi
|
||||||
|
ON kpi.pack_code = t.PACK_COD
|
||||||
|
AND kpi.YYYYMM = t.YYYYMM
|
||||||
|
AND kpi.geo_key = t.AUDIT_COD
|
||||||
|
AND t.DATA_SOURCE = 'Retail(Quarterly)'
|
||||||
WHERE t.DATA_SOURCE IN ('EC(Monthly)', 'Retail(Quarterly)')
|
WHERE t.DATA_SOURCE IN ('EC(Monthly)', 'Retail(Quarterly)')
|
||||||
Reference in New Issue
Block a user