Files
MarketAnalysis-Rebuild/External All Channel.SemanticModel/definition/tables/Fact_Sales_Total_AIA.tmdl
2026-03-29 14:24:01 +08:00

361 lines
10 KiB
Plaintext

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] &[NEW_CODE]
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 NEW_CODE
dataType: string
lineageTag: 5b3d8790-508c-4edb-942d-54e8a8824e3a
summarizeBy: none
sourceColumn: NEW_CODE
annotation SummarizationSetBy = Automatic
column PRESCRIPTION
dataType: double
lineageTag: 19e2de06-e0e9-46e4-a677-9f51775807b2
summarizeBy: sum
sourceColumn: PRESCRIPTION
annotation SummarizationSetBy = Automatic
annotation PBI_FormatHint = {"isGeneralNumber":true}
column PRESCRIPTION_LY
dataType: double
lineageTag: 1deb1356-4697-4d1d-87aa-7b400c65b921
summarizeBy: sum
sourceColumn: PRESCRIPTION_LY
annotation SummarizationSetBy = Automatic
annotation PBI_FormatHint = {"isGeneralNumber":true}
column market
dataType: string
lineageTag: 0f707117-7286-4c4f-b77d-f68410ef1707
summarizeBy: none
sourceColumn: market
annotation SummarizationSetBy = Automatic
partition Fact_Sales_Total_AIA = m
mode: import
queryGroup: OLD\首页
source = ```
let
Source =
Value.NativeQuery(
Databricks.Catalogs(
ServerAddress, HttpPath, [
Catalog = CatalogName,
Database = null,
EnableAutomaticProxyDiscovery = null,EnableQueryResultDownload="0"
]
){
[Name = CatalogName, Kind = "Database"]
}[Data],
"
WITH temp AS (
SELECT
BRAND_NAME,
BRAND_CODE,
CompatitorMarket,
MARKET
FROM
DM.DM_TD_EXTERNAL_BRAND_MARKET A
LEFT JOIN (
SELECT
PROD_DES,
max(PROD_DES_C) PROD_DES_C
FROM
dm.dm_td_external_packinfo
group by
PROD_DES
) b on a.IMSBRAND = b.PROD_DES
WHERE
DEFAULTFLAG = 1
AND A.DATA_SOURCE = 'AIA(Monthly)'
),
dim_rc as(
SELECT A.audit_cod,A.market
FROM (
SELECT
DISTINCT A.AUDIT_COD,
A.MARKET
FROM
dm.dm_td_external_org A
LEFT JOIN dm.dm_aia_targethp_flag C ON A.AUDIT_COD = NVL(C.INST_CODE, 'ROC')
AND A.DATA_SOURCE = C.DATA_SOURCE
AND A.MARKET = C.MARKET
where
a.DATA_SOURCE = 'AIA(Monthly)'
AND C.IS_TARGET_HP = 'Y'
and a.MARKET in (
SELECT
market
FROM
temp
WHERE
market is NOT NULL
or market <> ''
UNION
SELECT
CompatitorMarket
FROM
temp
WHERE
len(CompatitorMarket) > 1
)
UNION All
SELECT
DISTINCT A.AUDIT_COD,
D.CompatitorMarket AS MARKET
FROM
dm.dm_td_external_org A
-- 这两个看全部机构
-- LEFT JOIN dm.dm_aia_targethp_flag C ON A.AUDIT_COD = NVL(C.INST_CODE, 'ROC')
-- AND A.DATA_SOURCE = C.DATA_SOURCE
-- AND A.MARKET = C.MARKET
LEFT JOIN (
select
distinct CompatitorMarket
from
temp
where
BRAND_CODE in ('B013', 'B015')
) D ON A.MARKET = D.CompatitorMarket
where
a.DATA_SOURCE = 'AIA(Monthly)'
-- AND C.IS_TARGET_HP = 'Y'
and D.CompatitorMarket is not null
) A
LEFT JOIN dm.dm_ext_aia_data_remove_flag B ON A.audit_cod=b.ins_code AND A.market = B.market
WHERE B.ins_code IS NULL --剔除异常机构
),
market_pack_ins (
select distinct
azinscode as ins_code
,market as mkt
from dwd.dwd_gnd_aia_mark_ins_data_by_mkt
),
fact_sales as (
SELECT
YYYYMM,
A.PACK_COD,
-- CORP_COD,
A.AUDIT_COD,
-- PLATFORM_TYPE,
-- STORE_NAME,
-- STORE_TYPE,
-- REGION_TYPE,
A.DATA_SOURCE,
-- PACK_FLAG,
-- PROD_FLAG,
-- DTP_FLAG,
-- INT(CMPS_FLAG) CMPS_FLAG,
NEW_CODE,
A.INST_CODE,
B.AIA_HP_FLAG,
-- DEPT_NAME,
-- ROUND(H_LEVEL, 0) H_LEVEL,
-- REIMBURSE,
-- REIMBURSE_TYPE,
-- PRESCRIPTION_SOURCE PRESCRIPTION_TYPE,
CASE
WHEN SALES_UNIT_CAL = 0 THEN NULL
ELSE CAST(SALES_UNIT_CAL AS DECIMAL(35, 10))
END SALES_UNIT_CAL,
CASE
WHEN SALES_UNIT_CAL_LY = 0 THEN NULL
ELSE CAST(SALES_UNIT_CAL_LY AS DECIMAL(35, 10))
END SALES_UNIT_CAL_LY,
CASE
WHEN SALES_VALUE_CAL = 0 THEN NULL
ELSE CAST(SALES_VALUE_CAL AS DECIMAL(35, 10))
END SALES_VALUE_CAL,
CASE
WHEN SALES_VALUE_CAL_LY = 0 THEN NULL
ELSE CAST(SALES_VALUE_CAL_LY AS DECIMAL(35, 10))
END SALES_VALUE_CAL_LY,
CASE
WHEN CONUTING_UNIT = 0 THEN NULL
ELSE CAST(CONUTING_UNIT AS DECIMAL(35, 10))
END CONUTING_UNIT,
CASE
WHEN CONUTING_UNIT_LY = 0 THEN NULL
ELSE CAST(CONUTING_UNIT_LY AS DECIMAL(35, 10))
END CONUTING_UNIT_LY,
CASE
WHEN prescription = 0 THEN NULL
ELSE CAST(prescription AS DECIMAL(35, 10))
END PRESCRIPTION,
CASE
WHEN prescription_ly = 0 THEN NULL
ELSE CAST(prescription_ly AS DECIMAL(35, 10))
END PRESCRIPTION_LY
FROM
DM.DM_TF_EXTERNAL_SALES A
LEFT JOIN dm.dm_aia_hp_flag B ON A.inst_code = B.inst_code
AND A.DATA_SOURCE = B.DATA_SOURCE
WHERE
A.DATA_SOURCE = 'AIA(Monthly)'
AND A.inst_code IN (
SELECT
inst_code
FROM
dm.dm_aia_provided_flag C
WHERE
C.DATA_SOURCE = 'AIA(Monthly)'
AND C.aia_provided_flag = '滚动两年有数'
GROUP BY
1
)
),
t1 as (
select
fact_sales.*,
dim_rc.market
from
fact_sales
left join dim_rc on fact_sales.AUDIT_COD = dim_rc.AUDIT_COD
)
SELECT
YYYYMM,
PACK_COD,
DATA_SOURCE,
NEW_CODE,
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(PRESCRIPTION) AS PRESCRIPTION,
SUM(PRESCRIPTION_LY) AS PRESCRIPTION_LY
from
t1
group by
YYYYMM,
PACK_COD,
DATA_SOURCE,
NEW_CODE,
market
"
& UsingLimit,
null,
[
EnableFolding = true
]
)
in
Source
```
annotation PBI_NavigationStepName = Navigation
annotation PBI_ResultType = Table
annotation TabularEditor_TableGroup = 05_FactTable