20260514_PDOT_by_Month定版
This commit is contained in:
@@ -144,24 +144,11 @@ table Fact_Sales_Total_AIA
|
||||
){
|
||||
[Name = CatalogName, Kind = "Database"]
|
||||
}[Data],
|
||||
"-- ============================================================
|
||||
"
|
||||
-- ============================================================
|
||||
-- CTE 1: 品牌市场维度(小表,后续可广播)
|
||||
-- ============================================================
|
||||
WITH temp AS (
|
||||
SELECT
|
||||
a.BRAND_NAME,
|
||||
a.BRAND_CODE,
|
||||
a.CompatitorMarket,
|
||||
a.MARKET
|
||||
FROM DM.DM_TD_EXTERNAL_BRAND_MARKET a
|
||||
LEFT JOIN (
|
||||
SELECT PROD_DES, MAX(PROD_DES_C) AS PROD_DES_C
|
||||
FROM dm.dm_td_external_packinfo
|
||||
GROUP BY PROD_DES
|
||||
) b ON a.IMSBRAND = b.PROD_DES
|
||||
WHERE a.DEFAULTFLAG = 1
|
||||
AND a.DATA_SOURCE = 'AIA(Monthly)'
|
||||
),
|
||||
WITH
|
||||
|
||||
-- ============================================================
|
||||
-- CTE 2: 提前过滤 provided_flag(避免 fact_sales 里重复执行子查询)
|
||||
@@ -195,11 +182,12 @@ table Fact_Sales_Total_AIA
|
||||
CASE WHEN CONUTING_UNIT_LY = 0 THEN NULL ELSE CAST(CONUTING_UNIT_LY AS DECIMAL(35,10)) END AS CONUTING_UNIT_LY,
|
||||
CASE WHEN PDOT = 0 THEN NULL ELSE CAST(PDOT AS DECIMAL(35,10)) END AS PDOT, -- 修复:原为 prescription
|
||||
CASE WHEN PDOT_LY = 0 THEN NULL ELSE CAST(PDOT_LY AS DECIMAL(35,10)) END AS PDOT_LY
|
||||
FROM DM.dm_tf_ext_unionall_market_sales A
|
||||
FROM DM.dm_tf_ext_unionall_sales_mapping A
|
||||
-- 用 CTE JOIN 替代 IN(subquery),支持 BROADCAST
|
||||
left JOIN provided_insts p ON A.AUDIT_COD = p.inst_code
|
||||
WHERE A.MARKET <> 'ALL Market'
|
||||
AND A.DATA_SOURCE = 'AIA(Monthly)'
|
||||
AND A.TARGET_INS = 'Y'
|
||||
)
|
||||
|
||||
-- ============================================================
|
||||
|
||||
Reference in New Issue
Block a user