Files
MarketAnalysis-Rebuild/External All Channel.SemanticModel/definition/tables/Dim_Geo.tmdl
2026-04-15 10:36:20 +08:00

313 lines
8.1 KiB
Plaintext
Raw 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 Dim_Geo
lineageTag: aeec8d5d-c86c-4957-8592-3a153f08c3a8
column DATA_SOURCE
dataType: string
lineageTag: b8553d0a-9333-4148-a504-45df64984c85
summarizeBy: none
sourceColumn: DATA_SOURCE
changedProperty = IsHidden
annotation SummarizationSetBy = Automatic
column AUDIT_COD
dataType: string
lineageTag: c4d4ba83-b9a7-4bf2-b7c1-52b72a5e8c64
summarizeBy: none
sourceColumn: AUDIT_COD
changedProperty = IsHidden
annotation SummarizationSetBy = Automatic
column AUDIT_KEY = [AUDIT_COD] & [DATA_SOURCE] & [REGION_TYPE]
lineageTag: ad7b8a85-bcee-4e83-b855-5bba9eca0cb8
summarizeBy: none
changedProperty = IsHidden
annotation SummarizationSetBy = Automatic
column REGION_TYPE
dataType: string
lineageTag: 8d11b6b5-f0ee-4989-b43e-9cc3d871feec
summarizeBy: none
sourceColumn: REGION_TYPE
changedProperty = IsHidden
annotation SummarizationSetBy = Automatic
column PROVINCE_C
dataType: string
lineageTag: faea721c-723e-4a6f-a8fd-466367b20c59
summarizeBy: none
sourceColumn: PROVINCE_C
sortByColumn: PROV_RN
changedProperty = IsHidden
changedProperty = SortByColumn
annotation SummarizationSetBy = Automatic
column CITY_C
dataType: string
lineageTag: 9ac48675-dc7e-4c17-bdee-b9b01c0ceda0
summarizeBy: none
sourceColumn: CITY_C
sortByColumn: CITY_RN
changedProperty = IsHidden
changedProperty = SortByColumn
annotation SummarizationSetBy = Automatic
column AZ_CITY_TIER
dataType: string
lineageTag: 4d853518-7ca3-4779-9fca-0a58ac0a90dd
summarizeBy: none
sourceColumn: AZ_CITY_TIER
changedProperty = IsHidden
annotation SummarizationSetBy = Automatic
column AUDIT_SOURCE = [AUDIT_COD] & [DATA_SOURCE]
lineageTag: 09d9f35d-ec00-41e2-9f74-a9fb396745e8
summarizeBy: none
changedProperty = IsHidden
annotation SummarizationSetBy = Automatic
column PROV_RN
dataType: int64
formatString: 0
lineageTag: b670be6c-3c55-47a6-a72d-273bc9d279d2
summarizeBy: sum
sourceColumn: PROV_RN
changedProperty = IsHidden
annotation SummarizationSetBy = Automatic
column CITY_RN
dataType: int64
formatString: 0
lineageTag: 8358fef1-3938-4aa7-a597-3862284f3926
summarizeBy: sum
sourceColumn: CITY_RN
changedProperty = IsHidden
annotation SummarizationSetBy = Automatic
column PROVINCE_MAP
dataType: string
lineageTag: 2f1e99c3-ddee-4ee7-9096-f2b311ba56a8
summarizeBy: none
sourceColumn: PROVINCE_MAP
changedProperty = IsHidden
annotation SummarizationSetBy = Automatic
column COUNTY_NAME
dataType: string
lineageTag: 31fb4942-21e7-4cbc-9f0f-1040ba2a27cb
summarizeBy: none
sourceColumn: COUNTY_NAME
annotation SummarizationSetBy = Automatic
column COUNTY_TIER
dataType: string
lineageTag: 145266b5-5d87-4d57-ba70-385745a0d25b
summarizeBy: none
sourceColumn: COUNTY_TIER
annotation SummarizationSetBy = Automatic
column PMT_REGION
dataType: string
lineageTag: afc28c11-8f63-4a52-bd3c-c9b568b1071e
summarizeBy: none
sourceColumn: PMT_REGION
annotation SummarizationSetBy = Automatic
column PROVINCE_EN
dataType: string
lineageTag: 0de2113a-757f-47ee-8d37-e43a1fce5826
summarizeBy: none
sourceColumn: PROVINCE_EN
sortByColumn: PROV_RN
changedProperty = SortByColumn
annotation SummarizationSetBy = Automatic
column CITY_EN
dataType: string
lineageTag: 0f11f025-1ad5-4772-af6c-9ae5c2e77edb
summarizeBy: none
sourceColumn: CITY_EN
sortByColumn: CITY_RN
changedProperty = SortByColumn
annotation SummarizationSetBy = Automatic
column MERGED_DATA_CITY_C
dataType: string
lineageTag: 36ca5465-718a-48cc-b58e-8c5b18887fc6
summarizeBy: none
sourceColumn: MERGED_DATA_CITY_C
annotation SummarizationSetBy = Automatic
partition Dim_Geo = m
mode: import
queryGroup: Dim
source = ```
let
Source =
Value.NativeQuery(
Databricks.Catalogs(
ServerAddress, HttpPath, [
Catalog = CatalogName,
Database = null,
EnableAutomaticProxyDiscovery = null,EnableQueryResultDownload="0"
]
){
[Name = CatalogName, Kind = "Database"]
}[Data],
"
WITH
-- 去重后的外部地理维度表
external_geo AS (
SELECT DISTINCT
DATA_SOURCE, -- 数据来源
AUDIT_COD, -- 审计编码
REGION_TYPE, -- 区域类型
PROVINCE_C, -- 省份(中文)
CITY_C, -- 城市(中文)
AZ_CITY_TIER, -- 城市等级
PROV_RN, -- 省份排序编号
CITY_RN, -- 城市排序编号
PROVINCE_MAP, -- 省份映射
COUNTY_NAME, -- 县/区名称
COUNTY_TIER, -- 县/区等级
PMT_REGION -- 大区
FROM
DM.DM_TD_EXTERNAL_GEO
),
-- 省份中→英映射(去重)
province_en AS (
SELECT DISTINCT
province_name, -- 省份中文名
province_name_en -- 省份英文名
FROM
DM.DM_TD_GEOGRAPHY
WHERE
province_name IS NOT NULL
AND province_name <> ''
),
-- 城市中→英映射(原始名称,用于精确匹配)
city_base AS (
SELECT DISTINCT
city_name, -- 城市中文名
city_name_en -- 城市英文名
FROM
DM.DM_TD_GEOGRAPHY
WHERE
city_name IS NOT NULL
AND city_name <> ''
),
-- 城市中→英映射(带'市'后缀,用于模糊匹配)
city_with_suffix AS (
SELECT DISTINCT
city_name, -- 城市中文名(含'市'后缀)
city_name_en -- 城市英文名
FROM
DM.DM_TD_GEOGRAPHY
WHERE
city_name IS NOT NULL
AND city_name <> ''
)
SELECT
a.DATA_SOURCE,
a.AUDIT_COD,
a.REGION_TYPE,
a.PROVINCE_C,
-- ========== 省份英文翻译 ==========
CASE
WHEN a.PROVINCE_C = 'ROC' THEN 'ROC'
WHEN a.PROVINCE_C = '全国' THEN 'National'
ELSE prov.province_name_en
END AS PROVINCE_EN,
-- ========== 城市中文(优先取地理表标准名) ==========
CASE
WHEN a.DATA_SOURCE <> 'AIA(Monthly)' and replace (a.CITY_C, '市', '') IN ('北京', '上海', '天津', '重庆') THEN a.CITY_C || '市'
ELSE a.CITY_C
END AS CITY_C,
CASE
WHEN a.DATA_SOURCE <> 'AIA(Monthly)' and REPLACE (a.CITY_C, '市', '') IN ('北京', '上海', '天津', '重庆') THEN a.CITY_C || '市'
ELSE a.CITY_C
END AS MERGED_DATA_CITY_C,
-- ========== 城市英文翻译 ==========
-- 条件按命中概率从高到低排列:
-- ① 特殊标记ROC / 全国)
-- ② 特殊区域缩写(苏锡 → Suxichang
-- ③ 省市同名(如'北京'既是省也是市,取省级翻译)
-- ④ 精确匹配命中
-- ⑤ 带'市'后缀模糊匹配命中
-- ⑥ 兜底:保留原始中文
CASE
WHEN a.CITY_C = 'ROC' THEN 'ROC'
WHEN a.CITY_C = '全国' THEN 'National'
WHEN a.CITY_C = '苏锡' THEN 'Suxichang'
WHEN a.PROVINCE_C = a.CITY_C THEN prov.province_name_en
WHEN base.city_name_en IS NOT NULL THEN base.city_name_en
WHEN sfx.city_name_en IS NOT NULL THEN sfx.city_name_en
ELSE a.CITY_C
END AS CITY_EN,
a.AZ_CITY_TIER,
a.PROV_RN,
a.CITY_RN,
a.PROVINCE_MAP,
a.COUNTY_NAME,
a.COUNTY_TIER,
a.PMT_REGION
FROM
external_geo a
-- 省份精确关联
LEFT JOIN province_en prov ON a.PROVINCE_C = prov.province_name
-- 城市精确匹配(外部表.city = 地理表.city
LEFT JOIN city_base base ON a.CITY_C = base.city_name
-- 城市模糊匹配(外部表.city + '市' = 地理表.city
LEFT JOIN city_with_suffix sfx ON CONCAT (a.CITY_C, '市') = sfx.city_name
"
& UsingLimit,
null,
[
EnableFolding = true
]
)
in
Source
```
changedProperty = IsHidden
annotation PBI_ResultType = Table
annotation PBI_NavigationStepName = Navigation
annotation TabularEditor_TableGroup = 04_DimTable