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

@@ -41403,16 +41403,6 @@ cultureInfo zh-CN
"State": "Generated",
"Weight": 0.99
}
},
{
"Brand": {
"State": "Suggested",
"Source": {
"Type": "External",
"Agent": "PowerBI.VisualColumnRename"
},
"Weight": 0.9
}
}
]
},
@@ -41729,6 +41719,16 @@ cultureInfo zh-CN
"State": "Generated",
"Weight": 0.99
}
},
{
"Key Brand": {
"State": "Suggested",
"Source": {
"Type": "External",
"Agent": "PowerBI.VisualColumnRename"
},
"Weight": 0.9
}
}
]
},

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]

View File

@@ -42,7 +42,7 @@ table Dim_Class
partition Dim_Class = m
mode: import
queryGroup: OLD\非首页
queryGroup: Dim
source = ```
let
Source =
@@ -56,7 +56,8 @@ table Dim_Class
){
[Name = CatalogName, Kind = "Database"]
}[Data],
"WITH class_sales AS (
"
WITH class_sales AS (
-- 第一步:聚合,得到每个 class 的总销售额
SELECT
class,
@@ -73,6 +74,7 @@ table Dim_Class
FROM class_sales
)
SELECT /*+ BROADCAST(R) */
DISTINCT
L.MARKET,
L.CLASS,
L.DATASOURCE AS DATA_SOURCE,
@@ -80,7 +82,7 @@ table Dim_Class
FROM dm.dm_td_ext_unionall_market_pack_mapping L
LEFT JOIN class_rn R
ON L.CLASS = R.CLASS
"
"
& UsingLimit,
null,
[

View File

@@ -17109,378 +17109,6 @@ table Measure
annotation PBI_FormatHint = {"isGeneralNumber":true}
measure 'External.ClassShare' =
//CALCULATE(
DIVIDE (
[External.Sales.KPI.Class],
[External.Sales.KPI.Market]
)
//,
//MQY[Period] = "QTD"
//)
displayFolder: OLD\ForAI
lineageTag: af4a9c37-76b7-4a7d-8cc8-13495041c5d5
measure 'External.ClassShare.FirstQ' =
CALCULATE(
DIVIDE(
[External.Sales.KPI.Class],
[External.Sales.KPI.Market]
),
MQY[Period] = "First_QTD"
)
displayFolder: OLD\ForAI
lineageTag: f73456ac-fce5-4055-aece-b09470827231
measure 'External.ClassShare.LastQ' =
CALCULATE(
DIVIDE(
[External.Sales.KPI.Class],
[External.Sales.KPI.Market]
),
MQY[Period] = "Previous_QTD"
)
displayFolder: OLD\ForAI
lineageTag: 08380c7a-37c9-468f-8114-d2b53c3d44ed
measure 'External.ClassShare.LHY' =
CALCULATE(
DIVIDE(
[External.Sales.KPI.Class],
[External.Sales.KPI.Market]
),
MQY[Period] = "Previous_HTD"
)
displayFolder: OLD\ForAI
lineageTag: f2b09f5d-2b44-4c7b-8b87-b781bd98c9a8
measure 'External.ClassShare.LY' =
//CALCULATE(
DIVIDE (
[External.Sales.LY.KPI.Class],
[External.Sales.LY.KPI.Market]
)
//,
// MQY[Period] = "QTD"
//)
displayFolder: OLD\ForAI
lineageTag: 47551bc8-9c8c-4a69-a91d-7742da405334
measure 'External.ClassShare.Δ.FQ.Name' =
VAR _sumtable =
TOPN(
1,
ADDCOLUMNS(
CALCULATETABLE(
VALUES( Dim_Class[CLASS] ),
TREATAS(
VALUES( Dim_Market[MARKET] ),
Dim_Class[MARKET]
),
ALLSELECTED( Dim_Class[CLASS] )
),
"@delatclass",
CALCULATE(
[External.ClassShare] - [External.ClassShare.FirstQ]
)
),
[@delatclass], DESC
)
RETURN
IF(
ISBLANK( [External.Sales.KPI.Market] )
|| NOT ( ISFILTERED( Dim_Market ) || ISFILTERED( Dim_BrandDefaultMKT ) ),
BLANK( ),
CONCATENATEX( _sumtable, Dim_Class[CLASS], )
)
displayFolder: OLD\ForAI
lineageTag: ad9ca2da-93c5-4c8a-9b52-bc121e804c9b
measure 'External.ClassShare.Δ.FQ.Value' =
VAR _sumtable =
TOPN(
1,
ADDCOLUMNS(
CALCULATETABLE(
VALUES( Dim_Class[CLASS] ),
TREATAS(
VALUES( Dim_Market[MARKET] ),
Dim_Class[MARKET]
),
ALLSELECTED( Dim_Class[CLASS] )
),
"@delatclass",
CALCULATE(
[External.ClassShare] - [External.ClassShare.FirstQ]
)
),
[@delatclass], DESC
)
RETURN
IF(
ISBLANK( [External.Sales.KPI.Market] )
|| NOT ( ISFILTERED( Dim_Market ) || ISFILTERED( Dim_BrandDefaultMKT ) ),
BLANK( ),
CONCATENATEX( _sumtable, FORMAT( [@delatclass], "#0.0%" ), )
)
displayFolder: OLD\ForAI
lineageTag: c5853528-087a-4f55-888b-e577a60de923
measure 'External.ClassShare.Δ.LHY.Name' =
VAR _sumtable =
TOPN(
1,
ADDCOLUMNS(
CALCULATETABLE(
VALUES( Dim_Class[CLASS] ),
TREATAS(
VALUES( Dim_Market[MARKET] ),
Dim_Class[MARKET]
),
ALLSELECTED( Dim_Class[CLASS] )
),
"@delatclass",
CALCULATE(
[External.ClassShare] - [External.ClassShare.LHY]
)
),
[@delatclass], DESC
)
RETURN
IF(
ISBLANK( [External.Sales.KPI.Market] )
|| NOT ( ISFILTERED( Dim_Market ) || ISFILTERED( Dim_BrandDefaultMKT ) ),
BLANK( ),
CONCATENATEX( _sumtable, Dim_Class[CLASS], )
)
displayFolder: OLD\ForAI
lineageTag: 99491f33-4643-4124-9184-4e50c582ca5f
measure 'External.ClassShare.Δ.LHY.Value' =
VAR _sumtable =
TOPN (
1,
ADDCOLUMNS (
CALCULATETABLE (
VALUES ( Dim_Class[CLASS] ),
TREATAS (
VALUES ( Dim_Market[MARKET] ),
Dim_Class[MARKET]
),
ALLSELECTED ( Dim_Class[CLASS] )
),
"@delatclass",
CALCULATE (
[External.ClassShare] - [External.ClassShare.LHY]
)
),
[@delatclass], DESC
)
RETURN
IF (
ISBLANK ( [External.Sales.KPI.Market] )
|| NOT ( ISFILTERED ( Dim_Market ) || ISFILTERED ( Dim_BrandDefaultMKT ) ),
BLANK ( ),
CONCATENATEX ( _sumtable, FORMAT ( [@delatclass], "#0.0%" ), )
)
displayFolder: OLD\ForAI
lineageTag: b2831f5c-cc56-423c-9cd1-f5da1ae9a4b4
measure 'External.ClassShare.Δ.LQ.Name' =
VAR _sumtable =
TOPN(
1,
ADDCOLUMNS(
CALCULATETABLE(
VALUES( Dim_Class[CLASS] ),
TREATAS(
VALUES( Dim_Market[MARKET] ),
Dim_Class[MARKET]
),
ALLSELECTED( Dim_Class[CLASS] )
),
"@delatclass",
CALCULATE(
[External.ClassShare] - [External.ClassShare.LastQ]
)
),
[@delatclass], DESC
)
RETURN
IF(
ISBLANK( [External.Sales.KPI.Market] )
|| NOT ( ISFILTERED( Dim_Market ) || ISFILTERED( Dim_BrandDefaultMKT ) ),
BLANK( ),
CONCATENATEX( _sumtable, Dim_Class[CLASS], )
)
displayFolder: OLD\ForAI
lineageTag: 38b15b3b-ff5f-43d4-bd63-ad1f7dff43d2
measure 'External.ClassShare.Δ.LQ.Value' =
VAR _sumtable =
TOPN(
1,
ADDCOLUMNS(
CALCULATETABLE(
VALUES( Dim_Class[CLASS] ),
TREATAS(
VALUES( Dim_Market[MARKET] ),
Dim_Class[MARKET]
),
ALLSELECTED( Dim_Class[CLASS] )
),
"@delatclass",
CALCULATE(
[External.ClassShare] - [External.ClassShare.LastQ]
)
),
[@delatclass], DESC
)
RETURN
IF(
ISBLANK( [External.Sales.KPI.Market] )
|| NOT ( ISFILTERED( Dim_Market ) || ISFILTERED( Dim_BrandDefaultMKT ) ),
BLANK( ),
CONCATENATEX( _sumtable, FORMAT( [@delatclass], "#0.0%" ), )
)
displayFolder: OLD\ForAI
lineageTag: 3a1e7203-b613-46da-82f3-3528b9d4e119
measure 'External.ClassShare.Δ.LY.Name' =
VAR _sumtable =
TOPN(
1,
ADDCOLUMNS(
CALCULATETABLE(
VALUES( Dim_Class[CLASS] ),
TREATAS(
VALUES( Dim_Market[MARKET] ),
Dim_Class[MARKET]
),
ALLSELECTED( Dim_Class[CLASS] )
),
"@delatclass",
CALCULATE(
[External.ClassShare] - [External.ClassShare.LY]
)
),
[@delatclass], DESC
)
RETURN
IF(
ISBLANK( [External.Sales.KPI.Market] )
|| NOT ( ISFILTERED( Dim_Market ) || ISFILTERED( Dim_BrandDefaultMKT ) ),
BLANK( ),
CONCATENATEX( _sumtable, Dim_Class[CLASS], )
)
displayFolder: OLD\ForAI
lineageTag: ba2be078-8cd2-4b25-a5bf-1fc5249d24c6
measure 'External.ClassShare.Δ.LY.Value' =
VAR _sumtable =
TOPN(
1,
ADDCOLUMNS(
CALCULATETABLE(
VALUES( Dim_Class[CLASS] ),
TREATAS(
VALUES( Dim_Market[MARKET] ),
Dim_Class[MARKET]
),
ALLSELECTED( Dim_Class[CLASS] )
),
"@delatclass",
CALCULATE(
[External.ClassShare] - [External.ClassShare.LY]
)
),
[@delatclass], DESC
)
RETURN
IF(
ISBLANK( [External.Sales.KPI.Market] )
|| NOT ( ISFILTERED( Dim_Market ) || ISFILTERED( Dim_BrandDefaultMKT ) ),
BLANK( ),
CONCATENATEX( _sumtable, FORMAT( [@delatclass], "#0.0%" ), )
)
displayFolder: OLD\ForAI
lineageTag: f2aa6de8-a785-4f16-8951-9f6ed4eca8fa
measure 'ForAI.Top1.ShareInClass.Name' =
IF (
AND (
ISFILTERED ( Dim_Market ) || ISFILTERED ( Dim_BrandDefaultMKT ),
NOT ISBLANK ( [External.Sales.KPI] )
),
MAXX (
TOPN (
1,
ADDCOLUMNS (
CALCULATETABLE (
VALUES ( Dim_PackInfo[PROD_DES_C] ),
KEEPFILTERS ( Dim_PackInfo[CORP_COD] <> "a5z" )
),
"@v", [External.△MS%.KPI.Class]
),
[@v], DESC
),
Dim_PackInfo[PROD_DES_C]
)
)
displayFolder: OLD\ForAI
lineageTag: eaaa95e5-eb42-42f7-bbce-fa718bc12faa
measure 'ForAI.Top1.ShareInClass.Value' =
IF(
AND (
ISFILTERED ( Dim_Market ) || ISFILTERED ( Dim_BrandDefaultMKT ),
NOT ISBLANK ( [External.Sales.KPI] )
),
MAXX(
TOPN(
1,
ADDCOLUMNS(
CALCULATETABLE(
VALUES( Dim_PackInfo[PROD_DES_C] ),
KEEPFILTERS( Dim_PackInfo[CORP_COD] <> "a5z" )
),
"@v", [External.△MS%.KPI.Class],
"@result",[External.MS%.KPI.Class]
),
[@v], DESC
),
[@result]
)
)
formatString: #,##0.0 %
displayFolder: OLD\ForAI
lineageTag: 413b895e-77dd-4ab9-bdd0-ecaf463346f2
measure 'ForAI.Top1.ΔShareInClass.Value' =
IF(
AND (
ISFILTERED ( Dim_Market ) || ISFILTERED ( Dim_BrandDefaultMKT ),
NOT ISBLANK ( [External.Sales.KPI] )
),
MAXX(
TOPN(
1,
ADDCOLUMNS(
CALCULATETABLE(
VALUES( Dim_PackInfo[PROD_DES_C] ),
KEEPFILTERS( Dim_PackInfo[CORP_COD] <> "a5z" )
),
"@v", [External.△MS%.KPI.Class]
),
[@v], DESC
),
[@v]
)
)
formatString: #,##0.0 %
displayFolder: OLD\ForAI
lineageTag: ef44ef79-7921-416c-8ec0-a2d4ac11bf37
measure 'External.4.1.Text.Retail.NIAD.Text' =
VAR R = "NIAD市场月度明细仅Retail/EC"
VAR EC = "NIAD市场月度明细仅Retail/EC"
@@ -17551,6 +17179,537 @@ table Measure
annotation PBI_FormatHint = {"isGeneralNumber":true}
measure 'ForAI.Top1.ΔShareInClass.Value' =
IF(
AND (
ISFILTERED ( Dim_Market ) || ISFILTERED ( Dim_BrandDefaultMKT ),
NOT ISBLANK ( [External.Sales.KPI] )
),
MAXX(
TOPN(
1,
ADDCOLUMNS(
CALCULATETABLE(
VALUES( Dim_PackInfo[PROD_DES_C] ),
KEEPFILTERS( Dim_PackInfo[CORP_COD] <> "a5z" )
),
"@v", [External.△MS%.KPI.Class]
),
[@v], DESC
),
[@v]
)
)
formatString: #,##0.0 %
displayFolder: OLD\ForAI
lineageTag: e8e65ec3-1b90-42a7-9288-f0076af6803f
measure 'ForAI.Top1.ΔMS%.Brand.Value' =
IF(
AND (
ISFILTERED ( Dim_Market ) || ISFILTERED ( Dim_BrandDefaultMKT ),
NOT ISBLANK ( [External.Sales.KPI] )
),
MAXX(
TOPN(
1,
ADDCOLUMNS(
CALCULATETABLE(
VALUES( Dim_PackInfo[PROD_DES_C] ),
KEEPFILTERS( Dim_PackInfo[CORP_COD] <> "a5z" )
),
"@v", [External.△MS%.KPI],
"@result",[External.MS%.KPI]
),
[@v], DESC
),
[@result]
)
)
formatString: #,##0.0 %
displayFolder: OLD\ForAI
lineageTag: 8e83e22b-47d4-4d7c-aa2b-d6ba63dd5123
measure 'ForAI.Top1.ΔMS%.Brand.Name' =
IF (
AND (
ISFILTERED ( Dim_Market ) || ISFILTERED ( Dim_BrandDefaultMKT ),
NOT ISBLANK ( [External.Sales.KPI] )
),
MAXX (
TOPN (
1,
ADDCOLUMNS (
CALCULATETABLE (
VALUES ( Dim_PackInfo[PROD_DES_C] ),
KEEPFILTERS ( Dim_PackInfo[CORP_COD] <> "a5z" )
),
"@v", [External.△MS%.KPI]
),
[@v], DESC
),
Dim_PackInfo[PROD_DES_C]
)
)
displayFolder: OLD\ForAI
lineageTag: 263e94e7-7dad-4db8-8345-a48916c081dc
measure 'ForAI.Top1.ShareInClass.Value' =
IF(
AND (
ISFILTERED ( Dim_Market ) || ISFILTERED ( Dim_BrandDefaultMKT ),
NOT ISBLANK ( [External.Sales.KPI] )
),
MAXX(
TOPN(
1,
ADDCOLUMNS(
CALCULATETABLE(
VALUES( Dim_PackInfo[PROD_DES_C] ),
KEEPFILTERS( Dim_PackInfo[CORP_COD] <> "a5z" )
),
"@v", [External.△MS%.KPI.Class],
"@result",[External.MS%.KPI.Class]
),
[@v], DESC
),
[@result]
)
)
formatString: #,##0.0 %
displayFolder: OLD\ForAI
lineageTag: 91b1a10d-4c36-433a-a28d-097eaf36b4b3
measure 'ForAI.Top1.ShareInClass.Name' =
IF (
AND (
ISFILTERED ( Dim_Market ) || ISFILTERED ( Dim_BrandDefaultMKT ),
NOT ISBLANK ( [External.Sales.KPI] )
),
MAXX (
TOPN (
1,
ADDCOLUMNS (
CALCULATETABLE (
VALUES ( Dim_PackInfo[PROD_DES_C] ),
KEEPFILTERS ( Dim_PackInfo[CORP_COD] <> "a5z" )
),
"@v", [External.△MS%.KPI.Class]
),
[@v], DESC
),
Dim_PackInfo[PROD_DES_C]
)
)
displayFolder: OLD\ForAI
lineageTag: 85f35fbe-59ed-438c-8965-3d8be5e47345
measure 'ForAI.R3MvsLastR3M.ΔMS%' = ```
VAR _cm_ym = MAX ( Dim_Calendar[DATE] )
VAR _r3m_ym =
CALCULATE (
MAX ( Dim_Calendar[DATE] ),
DATEADD ( Dim_Calendar[DATE], -3, MONTH )
)
VAR _cm_value =
CALCULATE (
[External.MS%.KPI],
DATESINPERIOD ( Dim_Calendar[DATE], _cm_ym, -3, MONTH )
)
VAR _r3m_value =
CALCULATE (
[External.MS%.KPI],
DATESINPERIOD ( Dim_Calendar[DATE], _r3m_ym, -3, MONTH )
)
RETURN
_cm_value - _r3m_value
```
formatString: #,##0.0 %
displayFolder: OLD\ForAI
lineageTag: 64b0726d-b05e-4636-81f3-0199cabb7266
measure 'ForAI.R3MvsLastR3M.GR%' = ```
VAR _cm_ym = MAX ( Dim_Calendar[DATE] )
VAR _r3m_ym =
CALCULATE (
MAX ( Dim_Calendar[DATE] ),
DATEADD ( Dim_Calendar[DATE], -3, MONTH )
)
VAR _cm_value =
CALCULATE (
[External.Sales.KPI],
DATESINPERIOD ( Dim_Calendar[DATE], _cm_ym, -3, MONTH )
)
VAR _r3m_value =
CALCULATE (
[External.Sales.KPI],
DATESINPERIOD ( Dim_Calendar[DATE], _r3m_ym, -3, MONTH )
)
RETURN
DIVIDE ( _cm_value - _r3m_value, _r3m_value )
```
formatString: #,##0.0 %
displayFolder: OLD\ForAI
lineageTag: 9e1680d6-b515-41d2-bad3-db7709f3c981
measure 'ForAI.R3M.MS%' =
CALCULATE (
[External.MS%.KPI],
DATESINPERIOD (
Dim_Calendar[DATE],
MAX ( Dim_Calendar[DATE] ),
-3,
MONTH
)
)
formatString: #,##0.0 %
displayFolder: OLD\ForAI
lineageTag: efbd4c1e-eb14-46e7-bb94-b7d9b2d0f732
measure 'ForAI.MS%.Rank' =
VAR _brand =
RANK (
DENSE, CALCULATETABLE (
ALLSELECTED ( Dim_PackInfo[PROD_DES_C] )
),
ORDERBY ( [External.MS%.KPI], DESC ),
LAST
)
VAR _brand_en =
RANK (
DENSE, CALCULATETABLE (
ALLSELECTED ( Dim_PackInfo[PROD_DES] )
),
ORDERBY ( [External.MS%.KPI], DESC ),
LAST
)
VAR _geo =
RANK (
DENSE,
ALLSELECTED ( Dim_Geo[PROVINCE_C] ),
ORDERBY ( [External.MS%.KPI], DESC ),
LAST
)
VAR _inst =
RANK (
DENSE,
ALLSELECTED ( Dim_Institution[INST_NAME] ),
ORDERBY ( [External.MS%.KPI], DESC ),
LAST
)
RETURN
SWITCH (
TRUE ( ),
ISINSCOPE ( Dim_PackInfo[PROD_DES_C] ), _brand,
ISINSCOPE ( Dim_PackInfo[PROD_DES] ), _brand_en,
ISINSCOPE ( Dim_Geo[PROVINCE_C] ), _geo,
ISINSCOPE ( Dim_Institution[INST_NAME] ), _inst,
ISINSCOPE ( Dim_Institution[INST_CODE] ), _inst,
BLANK ( )
)
formatString: #,##0
displayFolder: OLD\ForAI
lineageTag: 887b315c-86d8-4a54-a3b7-090c8fe76ff9
measure 'External.ClassShare.Δ.LY.Value' =
VAR _sumtable =
TOPN(
1,
ADDCOLUMNS(
CALCULATETABLE(
VALUES( Dim_Class[CLASS] ),
TREATAS(
VALUES( FACT_SALES[MARKET] ),
Dim_Class[MARKET]
),
ALLSELECTED( Dim_Class[CLASS] )
),
"@delatclass",
CALCULATE(
[External.ClassShare] - [External.ClassShare.LY]
)
),
[@delatclass], DESC
)
RETURN
IF(
ISBLANK( [External.Sales.KPI.Market] )
|| NOT ( ISFILTERED( Dim_Market ) || ISFILTERED( Dim_BrandDefaultMKT ) ),
BLANK( ),
CONCATENATEX( _sumtable, FORMAT( [@delatclass], "#0.0%" ), )
)
displayFolder: OLD\ForAI
lineageTag: 1af10f94-ddbf-45a8-8b79-a6d018ba8305
measure 'External.ClassShare.Δ.LY.Name' =
VAR _sumtable =
TOPN(
1,
ADDCOLUMNS(
CALCULATETABLE(
VALUES( Dim_Class[CLASS] ),
TREATAS(
VALUES( FACT_SALES[MARKET] ),
Dim_Class[MARKET]
),
ALLSELECTED( Dim_Class[CLASS] )
),
"@delatclass",
CALCULATE(
[External.ClassShare] - [External.ClassShare.LY]
)
),
[@delatclass], DESC
)
RETURN
IF(
ISBLANK( [External.Sales.KPI.Market] )
|| NOT ( ISFILTERED( Dim_Market ) || ISFILTERED( Dim_BrandDefaultMKT ) ),
BLANK( ),
CONCATENATEX( _sumtable, Dim_Class[CLASS], )
)
displayFolder: OLD\ForAI
lineageTag: fd57a855-6a2a-4c5d-93f8-b774ae62d8f5
measure 'External.ClassShare.Δ.LQ.Value' =
VAR _sumtable =
TOPN(
1,
ADDCOLUMNS(
CALCULATETABLE(
VALUES( Dim_Class[CLASS] ),
TREATAS(
VALUES( FACT_SALES[MARKET] ),
Dim_Class[MARKET]
),
ALLSELECTED( Dim_Class[CLASS] )
),
"@delatclass",
CALCULATE(
[External.ClassShare] - [External.ClassShare.LastQ]
)
),
[@delatclass], DESC
)
RETURN
IF(
ISBLANK( [External.Sales.KPI.Market] )
|| NOT ( ISFILTERED( Dim_Market ) || ISFILTERED( Dim_BrandDefaultMKT ) ),
BLANK( ),
CONCATENATEX( _sumtable, FORMAT( [@delatclass], "#0.0%" ), )
)
displayFolder: OLD\ForAI
lineageTag: a9ac55de-0fa6-4a3a-ba26-ad91238c1fea
measure 'External.ClassShare.Δ.LQ.Name' =
VAR _sumtable =
TOPN(
1,
ADDCOLUMNS(
CALCULATETABLE(
VALUES( Dim_Class[CLASS] ),
TREATAS(
VALUES( FACT_SALES[MARKET] ),
Dim_Class[MARKET]
),
ALLSELECTED( Dim_Class[CLASS] )
),
"@delatclass",
CALCULATE(
[External.ClassShare] - [External.ClassShare.LastQ]
)
),
[@delatclass], DESC
)
RETURN
IF(
ISBLANK( [External.Sales.KPI.Market] )
|| NOT ( ISFILTERED( Dim_Market ) || ISFILTERED( Dim_BrandDefaultMKT ) ),
BLANK( ),
CONCATENATEX( _sumtable, Dim_Class[CLASS], )
)
displayFolder: OLD\ForAI
lineageTag: 0e83c3f9-1c82-42e2-ac70-458ea9b70cff
measure 'External.ClassShare.Δ.LHY.Value' =
VAR _sumtable =
TOPN (
1,
ADDCOLUMNS (
CALCULATETABLE (
VALUES ( Dim_Class[CLASS] ),
TREATAS (
VALUES ( FACT_SALES[MARKET] ),
Dim_Class[MARKET]
),
ALLSELECTED ( Dim_Class[CLASS] )
),
"@delatclass",
CALCULATE (
[External.ClassShare] - [External.ClassShare.LHY]
)
),
[@delatclass], DESC
)
RETURN
IF (
ISBLANK ( [External.Sales.KPI.Market] )
|| NOT ( ISFILTERED ( Dim_Market ) || ISFILTERED ( Dim_BrandDefaultMKT ) ),
BLANK ( ),
CONCATENATEX ( _sumtable, FORMAT ( [@delatclass], "#0.0%" ), )
)
displayFolder: OLD\ForAI
lineageTag: 67e26417-07fa-4136-aaca-868b932b6788
measure 'External.ClassShare.Δ.LHY.Name' =
VAR _sumtable =
TOPN(
1,
ADDCOLUMNS(
CALCULATETABLE(
VALUES( Dim_Class[CLASS] ),
TREATAS(
VALUES( FACT_SALES[MARKET] ),
Dim_Class[MARKET]
),
ALLSELECTED( Dim_Class[CLASS] )
),
"@delatclass",
CALCULATE(
[External.ClassShare] - [External.ClassShare.LHY]
)
),
[@delatclass], DESC
)
RETURN
IF(
ISBLANK( [External.Sales.KPI.Market] )
|| NOT ( ISFILTERED( Dim_Market ) || ISFILTERED( Dim_BrandDefaultMKT ) ),
BLANK( ),
CONCATENATEX( _sumtable, Dim_Class[CLASS], )
)
displayFolder: OLD\ForAI
lineageTag: e2db3e60-0c3e-4da4-a565-0b832321d5da
measure 'External.ClassShare.Δ.FQ.Value' =
VAR _sumtable =
TOPN(
1,
ADDCOLUMNS(
CALCULATETABLE(
VALUES( Dim_Class[CLASS] ),
TREATAS(
VALUES( FACT_SALES[MARKET] ),
Dim_Class[MARKET]
),
ALLSELECTED( Dim_Class[CLASS] )
),
"@delatclass",
CALCULATE(
[External.ClassShare] - [External.ClassShare.FirstQ]
)
),
[@delatclass], DESC
)
RETURN
IF(
ISBLANK( [External.Sales.KPI.Market] )
|| NOT ( ISFILTERED( Dim_Market ) || ISFILTERED( Dim_BrandDefaultMKT ) ),
BLANK( ),
CONCATENATEX( _sumtable, FORMAT( [@delatclass], "#0.0%" ), )
)
displayFolder: OLD\ForAI
lineageTag: bbb840db-b923-415d-937d-440a7101152d
measure 'External.ClassShare.Δ.FQ.Name' =
VAR _sumtable =
TOPN(
1,
ADDCOLUMNS(
CALCULATETABLE(
VALUES( Dim_Class[CLASS] ),
TREATAS(
VALUES( FACT_SALES[MARKET] ),
Dim_Class[MARKET]
),
ALLSELECTED( Dim_Class[CLASS] )
),
"@delatclass",
CALCULATE(
[External.ClassShare] - [External.ClassShare.FirstQ]
)
),
[@delatclass], DESC
)
RETURN
IF(
ISBLANK( [External.Sales.KPI.Market] )
|| NOT ( ISFILTERED( Dim_Market ) || ISFILTERED( Dim_BrandDefaultMKT ) ),
BLANK( ),
CONCATENATEX( _sumtable, Dim_Class[CLASS], )
)
displayFolder: OLD\ForAI
lineageTag: 84667098-e49c-4583-8147-073b8cd05ea4
measure 'External.ClassShare.LY' =
//CALCULATE(
DIVIDE (
[External.Sales.LY.KPI.Class],
[External.Sales.LY.KPI.Market]
)
//,
// MQY[Period] = "QTD"
//)
displayFolder: OLD\ForAI
lineageTag: c787db6f-8283-43d8-b584-9e794e050e3f
measure 'External.ClassShare.LHY' =
CALCULATE(
DIVIDE(
[External.Sales.KPI.Class],
[External.Sales.KPI.Market]
),
MQY[Period] = "Previous_HTD"
)
displayFolder: OLD\ForAI
lineageTag: a55de55f-077f-4804-88a6-5c1e5fae3a63
measure 'External.ClassShare.LastQ' =
CALCULATE(
DIVIDE(
[External.Sales.KPI.Class],
[External.Sales.KPI.Market]
),
MQY[Period] = "Previous_QTD"
)
displayFolder: OLD\ForAI
lineageTag: 307c81d9-53c9-47dd-98c2-84b13bd47aad
measure 'External.ClassShare.FirstQ' =
CALCULATE(
DIVIDE(
[External.Sales.KPI.Class],
[External.Sales.KPI.Market]
),
MQY[Period] = "First_QTD"
)
displayFolder: OLD\ForAI
lineageTag: 763fff03-1656-4ff9-b5ce-0172cc4869fa
measure 'External.ClassShare' =
//CALCULATE(
DIVIDE (
[External.Sales.KPI.Class],
[External.Sales.KPI.Market]
)
//,
//MQY[Period] = "QTD"
//)
displayFolder: OLD\ForAI
lineageTag: 542d74b2-82c6-4eb4-883a-1e9a81b1d103
column CreatedBy
lineageTag: 74ce729e-edbc-46d1-8445-3279ab9bf147
summarizeBy: none

View File

@@ -1680,7 +1680,7 @@
"ordinal": 5,
"scrollPosition": {
"x": 0,
"y": 55.200000762939453
"y": 55
},
"nodes": [
{