This commit is contained in:
2026-04-15 18:51:38 +08:00
parent f1903bf7bb
commit 4cf968ce5d
27 changed files with 891 additions and 792 deletions

View File

@@ -1010,7 +1010,9 @@ table 00_KPI
RETURN
SWITCH (
TRUE ( )
, ISFILTERED ( Dim_Org ) && NOT ISFILTERED ( Dim_Market )
,
//若选择Molecule,选择地理,且市场是品牌报告里面的市场
ISFILTERED ( Dim_Org ) && NOT ISFILTERED ( Dim_Market )
&& NOT ISFILTERED ( Dim_BrandDefaultMKT ), --BLANK(),
IF ( [Fix_Is_AIA.MID.MID], [External.Sales.LY.MTH] )
, ISFILTERED ( Dim_IsTarget_AIASpecial )
@@ -1025,20 +1027,15 @@ table 00_KPI
&& NOT ISFILTERED ( Dim_BrandDefaultMKT ),
BLANK ( )
,
// 隐藏HTN Market 和 Respules Market
OR ( DS = "Retail", MGDS = "dtp" )
&& ( ISFILTERED ( Dim_Geo ) || ISFILTERED ( Dim_Org ) )
&& MKT_FLAG = 2,
BLANK ( )
, DS = "Retail" && MKT_FLAG = 0
&& province_flag
, DS = "Retail" && MKT_FLAG = 0 && province_flag
&& OR ( period_flag, AND ( NOT period_flag, NOT mm_flag ) ),
BLANK ( )
,
//若选择地理,且省份维度不是全国
OR ( DS IN { "Retail", "EC", "DTP" }, MGDS = "dtp" ) && MKT_FLAG = 1
, OR ( DS IN { "Retail", "EC", "DTP" }, MGDS = "dtp" ) && MKT_FLAG = 1
&& NOT SELECTEDVALUE ( Dim_Market[MARKET] ) = "egfr tki market"
&& NOT ISFILTERED ( Dim_PackInfo[PROD_COD] )
&& NOT ISFILTERED ( Dim_PackInfo[PROD_DES_C] )
@@ -1073,8 +1070,17 @@ table 00_KPI
&& ( ISFILTERED ( Dim_Market ) || ISFILTERED ( Dim_BrandDefaultMKT ) )
&& PROD_FLAG = 0,
BLANK ( )
, MGDS = "dtp" && province_flag,
CALCULATE (
[External.Sales.LY.MTH],
KEEPFILTERS (
Dim_GeoKey[AUDIT_SOURCE] <> "ROCDTP(Quarterly)"
)
, KEEPFILTERS (
Dim_GeoKey[AUDIT_SOURCE] <> "ROCIQVIA-CHPA(Monthly)"
)
)
,
--若不选pack用于计算class相关KPI
OR ( DS IN { "Retail", "EC", "DTP" }, MGDS = "dtp" )
&& ( ISFILTERED ( Dim_Geo ) || ISFILTERED ( Dim_Org ) )
@@ -1088,8 +1094,7 @@ table 00_KPI
,
//若选择Molecule,没选择地理
OR ( DS IN { "Retail", "EC", "DTP" }, MGDS = "dtp" )
&& NOT ISFILTERED ( Dim_Geo )
DS IN { "Retail", "EC", "DTP" } && NOT ISFILTERED ( Dim_Geo )
&& NOT ISFILTERED ( Dim_Org )
&& NOT ISFILTERED ( Dim_PackInfo[PROD_COD] )
&& NOT ISFILTERED ( Dim_PackInfo[PROD_DES_C] )
@@ -1125,12 +1130,8 @@ table 00_KPI
|| ISFILTERED ( Dim_PackInfo[CMPS_COD] )
|| ISFILTERED ( Dim_PackInfo[CMPS_DES] )
|| ISFILTERED ( Dim_PackInfo[CMPS_DES_C] ) ),
CALCULATE (
[External.Sales.LY.MTH],
Fact_Sales[CMPS_FLAG] = 1
)
CALCULATE ( [External.Sales.LY.MTH], Fact_Sales[CMPS_FLAG] = 1 )
,
//若选择BRAND,没有选择地理
OR ( DS IN { "Retail", "EC", "DTP" }, MGDS = "dtp" )
&& NOT ISFILTERED ( Dim_Geo )
@@ -1159,14 +1160,11 @@ table 00_KPI
|| ISFILTERED ( Dim_PackInfo[PROD_CORP_C] )
|| ISFILTERED ( Dim_PackInfo[PROD_DES] )
|| ISFILTERED ( Dim_PackInfo[PROD_DES_C] ) ),
CALCULATE (
[External.Sales.LY.MTH],
Fact_Sales[GEO_FLAG] = 1
)
CALCULATE ( [External.Sales.LY.MTH], Fact_Sales[GEO_FLAG] = 1 )
,
//若选择PACKAGE,不选择地理维度1表示pack+省份数据2表示pack+全国的数据
DS IN { "Retail", "EC", "DTP" } && NOT ISFILTERED ( Dim_Org )
OR ( DS IN { "Retail", "EC", "DTP" }, MGDS = "dtp" )
&& NOT ISFILTERED ( Dim_Org )
&& NOT ISFILTERED ( Dim_Geo )
&& ( ISFILTERED ( Dim_PackInfo[PACK_DES] )
|| ISFILTERED ( Dim_PackInfo[PACK_LCH] )
@@ -1178,7 +1176,6 @@ table 00_KPI
)
,
//若选择PACKAGE,且省份维度不是全国
OR ( DS IN { "Retail", "EC", "DTP" }, MGDS = "dtp" )
&& ( ISFILTERED ( Dim_PackInfo[PACK_DES] )
@@ -1187,42 +1184,20 @@ table 00_KPI
|| ISFILTERED ( Dim_PackInfo[PROD_PACK_CORP] ) ),
IF (
SELECTEDVALUE ( Dim_Market[MARKET] ) <> "EGFR TKI Market"
, CALCULATE (
[External.Sales.LY.MTH],
Fact_Sales[PACK_FLAG] = 1
)
, CALCULATE (
[External.Sales.LY.MTH],
Fact_Sales[GEO_FLAG] = 1
)
, CALCULATE ( [External.Sales.LY.MTH], Fact_Sales[PACK_FLAG] = 1 )
, CALCULATE ( [External.Sales.LY.MTH], Fact_Sales[GEO_FLAG] = 1 )
)
,
//chap选择地理隐藏ROC
DS IN { "CHPA" } && ( ISFILTERED ( Dim_Geo ) || ISFILTERED ( Dim_Org ) ),
DS IN { "CHPA" } && province_flag,
CALCULATE (
[External.Sales.LY.MTH],
KEEPFILTERS (
Fact_Sales[AUDIT_SOURCE] <> "ROCIQVIA-CHPA(Monthly)"
Dim_GeoKey[AUDIT_SOURCE] <> "ROCIQVIA-CHPA(Monthly)"
)
)
, [External.Sales.LY.MTH]
)
/*---------------------------------KPI描述------------------------------------
------创建者zhouxin
------邮箱kmls393@astrazeneca.net
------KPI名字PDOT
------KPI公式1、若TA是ONCO且是Retail需要取DTP_FLAG为1的数据
2、若选择PACKAGE且外部渠道是Retail,不选择地理维度展示PACK_FLAG是1和2的数据(1pack+省份数据2pack+全国的数据);
3、若选择PACKAGE且外部渠道是Retail,且选择了具体的某个省份非全国展示PACK_FLAG是1的数据
4、若选择PROD且外部渠道是Retail,展示Prod_FLAG是1的数据
5、若选择地理维度且外部渠道是Retail,展示PACK_FLAG是1和2的数据
6、其余渠道取原来的PDOT kpi。
------备注1、DTP的数据不参与retail总计计算其余外部渠道数据默认是0
2、1pack+省份数据意思是提供的原始数据就是Pack+省份的数据2pack+全国的数据意思是提供的原始数据是pack+全国数据只是因为倒减在底表中显示的是pack+省份。
------创建时间2024.5.15
------修改时间2024.6.10
------修改内容添加Retail的特殊逻辑处理
----------------------------------------------------------------------------*/
displayFolder: Normal\05
lineageTag: 0726ecc2-0bf6-43de-a635-c0089856d494
@@ -1356,14 +1331,12 @@ table 00_KPI
&& NOT ISFILTERED ( Dim_BrandDefaultMKT ),
BLANK ( )
,
// 隐藏HTN Market 和 Respules Market
OR ( DS = "Retail", MGDS = "dtp" )
&& ( ISFILTERED ( Dim_Geo ) || ISFILTERED ( Dim_Org ) )
&& MKT_FLAG = 2,
BLANK ( )
, DS = "Retail" && MKT_FLAG = 0
&& province_flag
, DS = "Retail" && MKT_FLAG = 0 && province_flag
&& OR ( period_flag, AND ( NOT period_flag, NOT mm_flag ) ),
BLANK ( )
, OR ( DS IN { "Retail", "EC", "DTP" }, MGDS = "dtp" ) && MKT_FLAG = 1
@@ -1401,8 +1374,17 @@ table 00_KPI
&& ( ISFILTERED ( Dim_Market ) || ISFILTERED ( Dim_BrandDefaultMKT ) )
&& PROD_FLAG = 0,
BLANK ( )
, MGDS IN { "dtp", "chpa" } && province_flag,
CALCULATE (
[External.Sales.MTH]
, KEEPFILTERS (
Dim_GeoKey[AUDIT_SOURCE] <> "ROCDTP(Quarterly)"
)
, KEEPFILTERS (
Dim_GeoKey[AUDIT_SOURCE] <> "ROCIQVIA-CHPA(Monthly)"
)
)
,
--若不选pack用于计算class相关KPI
OR ( DS IN { "Retail", "EC", "DTP" }, MGDS = "dtp" )
&& ( ISFILTERED ( Dim_Geo ) || ISFILTERED ( Dim_Org ) )
@@ -1416,8 +1398,7 @@ table 00_KPI
,
//若选择Molecule,没选择地理
OR ( DS IN { "Retail", "EC", "DTP" }, MGDS = "dtp" )
&& NOT ISFILTERED ( Dim_Geo )
DS IN { "Retail", "EC", "DTP" } && NOT ISFILTERED ( Dim_Geo )
&& NOT ISFILTERED ( Dim_Org )
&& NOT ISFILTERED ( Dim_PackInfo[PROD_COD] )
&& NOT ISFILTERED ( Dim_PackInfo[PROD_DES_C] )
@@ -1512,11 +1493,11 @@ table 00_KPI
)
,
//chap选择地理隐藏ROC
DS IN { "CHPA" } && ( ISFILTERED ( Dim_Geo ) || ISFILTERED ( Dim_Org ) ),
DS IN { "CHPA" } && province_flag,
CALCULATE (
[External.Sales.MTH],
KEEPFILTERS (
Fact_Sales[AUDIT_SOURCE] <> "ROCIQVIA-CHPA(Monthly)"
Dim_GeoKey[AUDIT_SOURCE] <> "ROCIQVIA-CHPA(Monthly)"
)
)
, [External.Sales.MTH]