313 lines
8.1 KiB
Plaintext
313 lines
8.1 KiB
Plaintext
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
|
||
|