Files
2026-05-14 16:57:06 +08:00

232 lines
7.1 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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
-- ============================================================
-- 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 JOINAIA_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_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'
)
-- ============================================================
-- 最终聚合
-- ============================================================
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