pbi-county-2026调整

This commit is contained in:
2026-05-20 18:44:29 +08:00
parent 6e957a44f6
commit fbbd428a3b
19 changed files with 230 additions and 423 deletions

View File

@@ -2835,10 +2835,7 @@ table 00_KPI
lineageTag: 7c18d276-c27c-4a17-83a8-d4e197e51fc1
measure 'ExternalTotal.VBP.LY.KPI' =
CALCULATE (
[ExternalTotal.VBP.LY.MTH],
USERELATIONSHIP ( Dim_RegionType[IS_HIDDEN_COUNTY], Dim_BrandMKT[IS_HIDDEN_COUNTY] )
)
[ExternalTotal.VBP.LY.MTH]
---------------------------------KPI描述------------------------------------
------创建者zhouxin
------邮箱kmls393@astrazeneca.net
@@ -2936,10 +2933,7 @@ table 00_KPI
lineageTag: ef6a1c21-e215-4c04-ab99-6dfd275d246a
measure 'ExternalTotal.VBP.KPI' =
CALCULATE (
[ExternalTotal.VBP.MTH],
USERELATIONSHIP ( Dim_RegionType[IS_HIDDEN_COUNTY], Dim_BrandMKT[IS_HIDDEN_COUNTY] )
)
[ExternalTotal.VBP.MTH]
---------------------------------KPI描述------------------------------------
------创建者zhouxin
------邮箱kmls393@astrazeneca.net

View File

@@ -212,15 +212,6 @@ table Dim_BrandMKT
annotation SummarizationSetBy = Automatic
column IS_HIDDEN_COUNTY
dataType: int64
formatString: 0
lineageTag: 8a2003c6-a56b-42e8-af70-f41f5e5908b3
summarizeBy: sum
sourceColumn: IS_HIDDEN_COUNTY
annotation SummarizationSetBy = Automatic
column Definition
dataType: string
lineageTag: 2885513c-6cc4-4b7b-8636-b21a05e89dad
@@ -265,11 +256,6 @@ table Dim_BrandMKT
TA_RN,
DATA_SOURCE,
B.PROD_DES_C BRAND_NAME_CN,
CASE
WHEN TA_NAME = 'ONC' THEN 1
WHEN TA_NAME = 'RARE' THEN 2
ELSE 0
END AS IS_HIDDEN_COUNTY,
CONCAT(
MARKET,
' (',

View File

@@ -74,15 +74,6 @@ table Dim_GeoGroup
annotation SummarizationSetBy = Automatic
column PROVINCE_GROUP_CATAGORY
dataType: int64
formatString: 0
lineageTag: f7d1d4c5-e998-4b63-a952-2cfd7fcd4515
summarizeBy: sum
sourceColumn: PROVINCE_GROUP_CATAGORY
annotation SummarizationSetBy = Automatic
partition Dim_GeoGroup = m
mode: import
queryGroup: OLD\非首页
@@ -104,11 +95,7 @@ table Dim_GeoGroup
DISTINCT DATA_SOURCE,
AUDIT_COD,
REGION_TYPE,
PROVINCE_GROUP,
CASE WHEN PROVINCE_GROUP = 'BBU County' OR PROVINCE_GROUP = 'BBU_BU_COUNTY' THEN 1
WHEN PROVINCE_GROUP = 'OBU East5' OR PROVINCE_GROUP = 'OBU NonEast5' THEN 2
WHEN PROVINCE_GROUP = '全国' THEN 3
ELSE 4 END AS PROVINCE_GROUP_CATAGORY
PROVINCE_GROUP
FROM
DM.dm_td_external_geo_type
"

View File

@@ -57,15 +57,6 @@ table Dim_Market
annotation SummarizationSetBy = Automatic
column IS_HIDDEN_COUNTY
dataType: int64
formatString: 0
lineageTag: f991248d-5cae-4b11-8178-7d460f1fa073
summarizeBy: sum
sourceColumn: IS_HIDDEN_COUNTY
annotation SummarizationSetBy = Automatic
column MERGED_DATA_MARKET
dataType: int64
formatString: 0
@@ -132,11 +123,6 @@ table Dim_Market
AND A.MARKET IN ('Respules Market', 'HTN Market') THEN 2
ELSE 0
END AS MKT_FLAG,
CASE
WHEN B.TA_MAP = 'RARE' THEN 1
WHEN B.TA_MAP = 'ONCO' THEN 2
ELSE 0
END AS IS_HIDDEN_COUNTY,
CASE WHEN C.MARKET IS NOT NULL THEN 1 ELSE 0 END AS MERGED_DATA_MARKET
FROM DM.dm_td_ext_unionall_market A
LEFT JOIN COUNTY_MARKET B ON A.MARKET = B.MARKET
@@ -152,7 +138,7 @@ table Dim_Market
Source
```
annotation PBI_ResultType = Exception
annotation PBI_ResultType = Table
annotation PBI_NavigationStepName = Navigation

View File

@@ -3,7 +3,7 @@ table Dim_RegionType
column REGION_TYPE
dataType: string
lineageTag: 8ed78a9a-bf64-495b-bfe8-39e8a5d4b77a
lineageTag: b57a0378-d343-4cc0-82c6-f0bc06dc5f6d
summarizeBy: none
sourceColumn: REGION_TYPE
@@ -11,70 +11,21 @@ table Dim_RegionType
column region_name
dataType: string
lineageTag: a2623e17-4eca-4108-9086-31e65141735d
lineageTag: 5e1e77ff-108a-44c1-9fea-5c21ff027469
summarizeBy: none
sourceColumn: region_name
annotation SummarizationSetBy = Automatic
column IS_HIDDEN_COUNTY
dataType: string
lineageTag: a6fe8b2d-feec-4282-9b75-4f0276a8bb58
summarizeBy: none
sourceColumn: IS_HIDDEN_COUNTY
annotation SummarizationSetBy = Automatic
partition Dim_RegionType = m
mode: import
queryGroup: OLD\首页
source = ```
source =
let
Source =
Value.NativeQuery(
Databricks.Catalogs(
ServerAddress, HttpPath, [
Catalog = CatalogName,
Database = null,
EnableAutomaticProxyDiscovery = null,EnableQueryResultDownload="0"
]
){
[Name = CatalogName, Kind = "Database"]
}[Data],
// " SELECT DISTINCT A.REGION_TYPE,'BBU_COUNTY' REGION_NAME
// FROM DM.dm_ext_county_tf_sales_region A
// WHERE A.REGION_TYPE IN ('bbu_county_obu_nonEast5','BBU COUNTY')
// UNION ALL
// SELECT DISTINCT A.REGION_TYPE,'BBU_BU_COUNTY' REGION_NAME
// FROM DM.dm_ext_county_tf_sales_region A
// WHERE A.REGION_TYPE IN ('BBU_BU_COUNTY','bbu_bu_county_obu_East5','bbu_bu_county_obu_nonEast5')
// UNION ALL
// SELECT DISTINCT A.REGION_TYPE,'OBU East5' REGION_NAME
// FROM DM.dm_ext_county_tf_sales_region A
// WHERE A.REGION_TYPE = 'bbu_bu_county_obu_East5'
// UNION ALL
// SELECT DISTINCT A.REGION_TYPE,'OBU NonEast5' REGION_NAME
// FROM DM.dm_ext_county_tf_sales_region A
// WHERE A.REGION_TYPE IN ('bbu_bu_county_obu_nonEast5','bbu_county_obu_nonEast5')
// "
"SELECT DISTINCT A.REGION_TYPE
FROM DM.dm_ext_county_tf_sales_region A
WHERE A.REGION_TYPE IS NOT NULL"
& UsingLimit,
null,
[
EnableFolding = true
]
),
已添加自定义 = Table.AddColumn(Source, "region_name", each if [REGION_TYPE]="bbu_bu_county_obu_East5" then "OBU East5"
else if List.Contains({"bbu_bu_county_obu_nonEast5", "bbu_county_obu_nonEast5"}, [REGION_TYPE]) then "OBU NonEast5"
else if List.Contains({"BBU County", "bbu_county_obu_nonEast5"}, [REGION_TYPE]) then "BBU County"
else if List.Contains({"BBU_BU_COUNTY", "bbu_bu_county_obu_East5","bbu_bu_county_obu_nonEast5"}, [REGION_TYPE]) then "BBU_BU_COUNTY"
else 9),
#"Added Custom" = Table.AddColumn(已添加自定义, "IS_HIDDEN_COUNTY", each if Text.StartsWith([region_name], "OBU") then 1 else if Text.StartsWith([region_name], "BBU") then 0 else 0)
TABLE_1 = Table.FromRows({{"BBU County", "BBU County"},{"BU_County", "BU_County"}},{"REGION_TYPE","region_name"}),
#"Changed Type" = Table.TransformColumnTypes(TABLE_1,{{"REGION_TYPE", type text}, {"region_name", type text}})
in
#"Added Custom"
```
#"Changed Type"
annotation PBI_ResultType = Table

View File

@@ -160,13 +160,6 @@ table Fact_Sales
annotation SummarizationSetBy = Automatic
column COUNTY_FLAG = IF([REGION_TYPE] IN {"BBU_BU COUNTY","OBU_BU COUNTY","OBU COUNTY","BBU COUNTY"},1,0)
formatString: 0
lineageTag: 54d2f08a-99ae-4b56-8612-73a265a98b88
summarizeBy: sum
annotation SummarizationSetBy = Automatic
column GEO_FLAG =
SWITCH(TRUE(),

View File

@@ -195,38 +195,75 @@ table Fact_Sales_Total
[Name = CatalogName, Kind = "Database"]
}[Data],
"
WITH base AS (
-- 下推过滤,主表只扫一次
SELECT *
FROM DM.dm_tf_ext_unionall_sales_mapping
WHERE YYYYMM >= (YEAR(CURRENT_DATE()) - 3) * 100 + 1
),
geo AS (
-- 小维表预聚合去重,配合 BROADCAST 使用
SELECT DISTINCT AUDIT_COD, PROVINCE_GROUP
FROM DM.dm_td_external_geo_type
WHERE DATA_SOURCE = 'IQVIA-COUNTY(Quarterly)'
AND PROVINCE_GROUP <> '全国'
)
-- Branch 1: 非季度数据REGION_TYPE 置空
SELECT
A.YYYYMM,
A.MARKET,
A.CLASS,
A.PACK_COD,
A.PLATFORM_TYPE,
A.STORE_TYPE,
A.REGION_TYPE,
A.DATA_SOURCE,
concat(A.MARKET,A.DATA_SOURCE) MKT_SOURCE,
SUM(NULLIF(A.SALES_UNIT_CAL, 0)) AS SALES_UNIT_CAL,
SUM(NULLIF(A.SALES_UNIT_CAL_LY, 0)) AS SALES_UNIT_CAL_LY,
SUM(NULLIF(A.SALES_VALUE_CAL, 0)) AS SALES_VALUE_CAL,
SUM(NULLIF(A.SALES_VALUE_CAL_LY, 0)) AS SALES_VALUE_CAL_LY,
SUM(NULLIF(A.CONUTING_UNIT, 0)) AS CONUTING_UNIT,
SUM(NULLIF(A.CONUTING_UNIT_LY, 0)) AS CONUTING_UNIT_LY,
SUM(NULLIF(A.PDOT, 0)) AS PDOT,
SUM(NULLIF(A.PDOT_LY, 0)) AS PDOT_LY
FROM
DM.dm_tf_ext_unionall_sales_mapping A
WHERE
YYYYMM >= (YEAR(CURRENT_DATE()) - 3) * 100 + 1 -- 内联,消除 CROSS JOIN
AND DATA_SOURCE <> 'XH Data(Quarterly)'
YYYYMM,
MARKET,
CLASS,
PACK_COD,
PLATFORM_TYPE,
STORE_TYPE,
'' AS REGION_TYPE,
DATA_SOURCE,
concat(MARKET, DATA_SOURCE) AS MKT_SOURCE,
SUM(NULLIF(SALES_UNIT_CAL, 0)) AS SALES_UNIT_CAL,
SUM(NULLIF(SALES_UNIT_CAL_LY,0)) AS SALES_UNIT_CAL_LY,
SUM(NULLIF(SALES_VALUE_CAL, 0)) AS SALES_VALUE_CAL,
SUM(NULLIF(SALES_VALUE_CAL_LY,0)) AS SALES_VALUE_CAL_LY,
SUM(NULLIF(CONUTING_UNIT, 0)) AS CONUTING_UNIT,
SUM(NULLIF(CONUTING_UNIT_LY, 0)) AS CONUTING_UNIT_LY,
SUM(NULLIF(PDOT, 0)) AS PDOT,
SUM(NULLIF(PDOT_LY, 0)) AS PDOT_LY
FROM base
WHERE DATA_SOURCE NOT IN ('XH Data(Quarterly)', 'IQVIA-COUNTY(Quarterly)','AIA(Monthly)')
GROUP BY
YYYYMM, MARKET, CLASS, PACK_COD,
PLATFORM_TYPE, STORE_TYPE, DATA_SOURCE
UNION ALL
-- Branch 2: IQVIA 季度数据,关联省份分组
SELECT /*+ BROADCAST(geo) */
A.YYYYMM,
A.MARKET,
A.CLASS,
A.PACK_COD,
A.PLATFORM_TYPE,
A.STORE_TYPE,
A.REGION_TYPE,
A.DATA_SOURCE
'' as PLATFORM_TYPE,
'' as STORE_TYPE,
coalesce(B.PROVINCE_GROUP, '') AS REGION_TYPE,
A.DATA_SOURCE,
concat(A.MARKET, A.DATA_SOURCE) AS MKT_SOURCE,
SUM(NULLIF(A.SALES_UNIT_CAL, 0)) AS SALES_UNIT_CAL,
SUM(NULLIF(A.SALES_UNIT_CAL_LY,0)) AS SALES_UNIT_CAL_LY,
SUM(NULLIF(A.SALES_VALUE_CAL, 0)) AS SALES_VALUE_CAL,
SUM(NULLIF(A.SALES_VALUE_CAL_LY,0)) AS SALES_VALUE_CAL_LY,
SUM(NULLIF(A.CONUTING_UNIT, 0)) AS CONUTING_UNIT,
SUM(NULLIF(A.CONUTING_UNIT_LY, 0)) AS CONUTING_UNIT_LY,
SUM(NULLIF(A.PDOT, 0)) AS PDOT,
SUM(NULLIF(A.PDOT_LY, 0)) AS PDOT_LY
FROM base A
LEFT JOIN geo B
ON A.AUDIT_COD = B.AUDIT_COD
WHERE A.DATA_SOURCE = 'IQVIA-COUNTY(Quarterly)'
GROUP BY
A.YYYYMM, A.MARKET, A.CLASS, A.PACK_COD,
A.DATA_SOURCE,
coalesce(B.PROVINCE_GROUP, '')
"
& UsingLimit,
null,
@@ -238,7 +275,7 @@ table Fact_Sales_Total
Source
```
annotation PBI_ResultType = Table
annotation PBI_ResultType = Exception
annotation PBI_NavigationStepName = Navigation

View File

@@ -1613,46 +1613,16 @@ table Measure
lineageTag: fb23c401-367f-47a1-be96-8ab5a3691aac
measure 'External.Sales.LY.KPI' =
VAR MKT_FLAG =
SELECTEDVALUE ( Dim_Market[IS_HIDDEN_COUNTY], -1 )
RETURN
//如果选择market且选择province_group则隐藏ONC&RARE市场
SWITCH (
TRUE ( ),
ISFILTERED ( Dim_GeoGroup ),
SWITCH (
MKT_FLAG,
-1, [External.Sales.LY.MTH.MID],
1,
CALCULATE (
[External.Sales.LY.MTH.MID],
KEEPFILTERS (
TREATAS ( { 0, 3 }, Dim_GeoGroup[PROVINCE_GROUP_CATAGORY] )
)
),
2,
CALCULATE (
[External.Sales.LY.MTH.MID],
KEEPFILTERS (
TREATAS ( { 0, 2, 3 }, Dim_GeoGroup[PROVINCE_GROUP_CATAGORY] )
)
),
0,
CALCULATE (
[External.Sales.LY.MTH.MID],
KEEPFILTERS (
TREATAS ( { 0, 1, 3 }, Dim_GeoGroup[PROVINCE_GROUP_CATAGORY] )
)
)
),
ISFILTERED ( AIA_Merge_Data[mergedata_5_2] ),
SUMX (
VALUES ( Dim_MergeDataSource[DATA_SOURCE] ),
[External.Sales.LY.MTH.MID]
),
ISFILTERED ( Config_PageFlag_FreeReportNIAD ), [Retail.NIAD.Sales.LY],
[External.Sales.LY.MTH.MID]
)
SWITCH (
TRUE ( ),
ISFILTERED ( AIA_Merge_Data[mergedata_5_2] ),
SUMX (
VALUES ( Dim_MergeDataSource[DATA_SOURCE] ),
[External.Sales.LY.MTH.MID]
),
ISFILTERED ( Config_PageFlag_FreeReportNIAD ), [Retail.NIAD.Sales.LY],
[External.Sales.LY.MTH.MID]
)
---------------------------------KPI描述------------------------------------
------创建者zhouxin
------邮箱kmls393@astrazeneca.net
@@ -1959,46 +1929,16 @@ table Measure
lineageTag: 80db969c-cb8b-4fb1-a94b-1904c1af37d5
measure 'External.Sales.KPI' =
VAR MKT_FLAG =
SELECTEDVALUE ( Dim_Market[IS_HIDDEN_COUNTY], -1 )
RETURN
//如果选择market且选择province_group则隐藏ONC&RARE市场
SWITCH (
TRUE ( ),
ISFILTERED ( Dim_GeoGroup ),
SWITCH (
MKT_FLAG,
-1, [External.Sales.MTH.MID],
1,
CALCULATE (
[External.Sales.MTH.MID],
KEEPFILTERS (
TREATAS ( { 0, 3 }, Dim_GeoGroup[PROVINCE_GROUP_CATAGORY] )
)
),
2,
CALCULATE (
[External.Sales.MTH.MID],
KEEPFILTERS (
TREATAS ( { 0, 2, 3 }, Dim_GeoGroup[PROVINCE_GROUP_CATAGORY] )
)
),
0,
CALCULATE (
[External.Sales.MTH.MID],
KEEPFILTERS (
TREATAS ( { 0, 1, 3 }, Dim_GeoGroup[PROVINCE_GROUP_CATAGORY] )
)
)
),
ISFILTERED ( AIA_Merge_Data[mergedata_5_2] ),
SUMX (
VALUES ( Dim_MergeDataSource[DATA_SOURCE] ),
[External.Sales.MTH.MID]
),
ISFILTERED ( Config_PageFlag_FreeReportNIAD ), [Retail.NIAD.Sales],
[External.Sales.MTH.MID]
)
SWITCH (
TRUE ( ),
ISFILTERED ( AIA_Merge_Data[mergedata_5_2] ),
SUMX (
VALUES ( Dim_MergeDataSource[DATA_SOURCE] ),
[External.Sales.MTH.MID]
),
ISFILTERED ( Config_PageFlag_FreeReportNIAD ), [Retail.NIAD.Sales],
[External.Sales.MTH.MID]
)
---------------------------------KPI描述------------------------------------
------创建者zhouxin
------邮箱kmls393@astrazeneca.net