table Fact_Sales_Total_AIA lineageTag: 66e3af3d-7196-48cf-bbbf-64e7dcd68fd8 column YYYYMM dataType: string lineageTag: c2da0e0f-208f-4d14-b291-1e5924d75d7f summarizeBy: none sourceColumn: YYYYMM annotation SummarizationSetBy = Automatic column PACK_COD dataType: string lineageTag: 3797b680-044a-4487-9b12-8c00c7a175bf summarizeBy: none sourceColumn: PACK_COD annotation SummarizationSetBy = Automatic column DATA_SOURCE dataType: string lineageTag: f1147874-379d-4e82-9d36-ef995ca9b7b2 summarizeBy: none sourceColumn: DATA_SOURCE annotation SummarizationSetBy = Automatic column SALES_UNIT_CAL dataType: double lineageTag: 5a4d1849-5cab-4a24-ba6a-51381063ea04 summarizeBy: sum sourceColumn: SALES_UNIT_CAL annotation SummarizationSetBy = Automatic annotation PBI_FormatHint = {"isGeneralNumber":true} column SALES_UNIT_CAL_LY dataType: double lineageTag: 44d6d7b2-764b-45dc-a958-21c76b840ee2 summarizeBy: sum sourceColumn: SALES_UNIT_CAL_LY annotation SummarizationSetBy = Automatic annotation PBI_FormatHint = {"isGeneralNumber":true} column SALES_VALUE_CAL dataType: double lineageTag: d02c2bae-b16c-4583-88a5-355d28c22adc summarizeBy: sum sourceColumn: SALES_VALUE_CAL annotation SummarizationSetBy = Automatic annotation PBI_FormatHint = {"isGeneralNumber":true} column SALES_VALUE_CAL_LY dataType: double lineageTag: c639cde2-175f-4e0d-b0d1-7af28986a9b4 summarizeBy: sum sourceColumn: SALES_VALUE_CAL_LY annotation SummarizationSetBy = Automatic annotation PBI_FormatHint = {"isGeneralNumber":true} column CONUTING_UNIT dataType: double lineageTag: 596b9106-fa8e-4f58-b245-2f7483e8444e summarizeBy: sum sourceColumn: CONUTING_UNIT annotation SummarizationSetBy = Automatic annotation PBI_FormatHint = {"isGeneralNumber":true} column CONUTING_UNIT_LY dataType: double lineageTag: 88f7011e-1dd9-4804-a66f-ae7d8794b099 summarizeBy: sum sourceColumn: CONUTING_UNIT_LY annotation SummarizationSetBy = Automatic annotation PBI_FormatHint = {"isGeneralNumber":true} column PACK_SOURCE = ``` [PACK_COD] & [DATA_SOURCE] ``` lineageTag: 154b50db-3939-4522-b099-c670eb0f3fec summarizeBy: none annotation SummarizationSetBy = Automatic column DATE_KEY = DATE(LEFT([YYYYMM],4),RIGHT([YYYYMM],2),"01") formatString: General Date lineageTag: d6ed09aa-8b6b-478c-86ad-17867e5b1f56 summarizeBy: none annotation SummarizationSetBy = Automatic column MARKET dataType: string lineageTag: ecd7241a-ee49-45f1-bee9-f939e17a59de summarizeBy: none sourceColumn: MARKET annotation SummarizationSetBy = Automatic column PDOT dataType: double lineageTag: 7229acee-56c5-46ba-af59-ed65644e9889 summarizeBy: sum sourceColumn: PDOT annotation SummarizationSetBy = Automatic annotation PBI_FormatHint = {"isGeneralNumber":true} column PDOT_LY dataType: double lineageTag: b73230b7-1966-4d35-a05f-51cbcef42dac summarizeBy: sum sourceColumn: PDOT_LY annotation SummarizationSetBy = Automatic annotation PBI_FormatHint = {"isGeneralNumber":true} partition Fact_Sales_Total_AIA = m mode: import queryGroup: Fact_Sales source = ``` let Source = Value.NativeQuery( Databricks.Catalogs( ServerAddress, HttpPath, [ Catalog = CatalogName, Database = null, EnableAutomaticProxyDiscovery = null,EnableQueryResultDownload="0" ] ){ [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)' ), -- ============================================================ -- CTE 2: 提前过滤 provided_flag(避免 fact_sales 里重复执行子查询) -- ============================================================ provided_insts AS ( SELECT /*+ BROADCAST(this) */ inst_code FROM dm.dm_aia_provided_flag WHERE DATA_SOURCE = 'AIA(Monthly)' AND aia_provided_flag = '滚动两年有数' GROUP BY inst_code ), -- ============================================================ -- CTE 3: 事实销售数据 -- 修复:移除未使用的 dm_aia_hp_flag LEFT JOIN(AIA_HP_FLAG 最终未输出) -- 修复:PDOT CASE 中 prescription → PDOT -- 修复:末尾逗号去除 -- ============================================================ fact_sales AS ( SELECT A.YYYYMM, A.MARKET, A.PACK_COD, -- ⚠️ 如字段实际为 PACK_CODE 请确认 A.AUDIT_COD, A.DATA_SOURCE, CASE WHEN SALES_UNIT_CAL = 0 THEN NULL ELSE CAST(SALES_UNIT_CAL AS DECIMAL(35,10)) END AS SALES_UNIT_CAL, CASE WHEN SALES_UNIT_CAL_LY = 0 THEN NULL ELSE CAST(SALES_UNIT_CAL_LY AS DECIMAL(35,10)) END AS SALES_UNIT_CAL_LY, CASE WHEN SALES_VALUE_CAL = 0 THEN NULL ELSE CAST(SALES_VALUE_CAL AS DECIMAL(35,10)) END AS SALES_VALUE_CAL, CASE WHEN SALES_VALUE_CAL_LY = 0 THEN NULL ELSE CAST(SALES_VALUE_CAL_LY AS DECIMAL(35,10)) END AS SALES_VALUE_CAL_LY, CASE WHEN CONUTING_UNIT = 0 THEN NULL ELSE CAST(CONUTING_UNIT AS DECIMAL(35,10)) END AS CONUTING_UNIT, 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 -- 用 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)' ) -- ============================================================ -- 最终聚合 -- ============================================================ SELECT YYYYMM, PACK_COD, DATA_SOURCE, MARKET, SUM(SALES_UNIT_CAL) AS SALES_UNIT_CAL, SUM(SALES_UNIT_CAL_LY) AS SALES_UNIT_CAL_LY, SUM(SALES_VALUE_CAL) AS SALES_VALUE_CAL, SUM(SALES_VALUE_CAL_LY) AS SALES_VALUE_CAL_LY, SUM(CONUTING_UNIT) AS CONUTING_UNIT, SUM(CONUTING_UNIT_LY) AS CONUTING_UNIT_LY, SUM(PDOT) AS PDOT, SUM(PDOT_LY) AS PDOT_LY FROM fact_sales GROUP BY YYYYMM, PACK_COD, DATA_SOURCE, MARKET " & UsingLimit, null, [ EnableFolding = true ] ) in Source ``` annotation PBI_NavigationStepName = Navigation annotation PBI_ResultType = Table annotation TabularEditor_TableGroup = 05_FactTable