From 84ae943bdb442070c4d1b317bc665c3a36e05cc9 Mon Sep 17 00:00:00 2001 From: chenwu Date: Thu, 14 May 2026 10:11:41 +0800 Subject: [PATCH] chore: update report visuals, semantic model definitions, and cleanup legacy queries --- .../5f56a4563549764112e3.bookmark.json | 2 +- .../visuals/9d44769b03f96bdc39c2/visual.json | 66 ++- .../visuals/080847717410eb2a2e0c/visual.json | 66 ++- .../visuals/0b86a9537a3111101ae8/visual.json | 2 +- .../visuals/2a8b2c548db03777053b/visual.json | 5 +- .../visuals/57ecb3f8593a301c6ac8/visual.json | 5 +- .../visuals/5bcb92300403b3088670/visual.json | 66 ++- .../visuals/7b623a16b3035346186a/visual.json | 29 +- .../visuals/7e32db7981a0a40ea620/visual.json | 108 +++- .../visuals/81c677627c0e3d0b820d/visual.json | 46 +- .../visuals/d850243112b4471de978/visual.json | 4 +- .../visuals/dc7ce17e5053d63685db/visual.json | 72 ++- .../visuals/f4a797718c2a78d3dbc0/visual.json | 5 +- .../visuals/510e3dc5e875611a56ac/visual.json | 66 ++- .../visuals/dbb94bc2da6a10c63538/visual.json | 4 +- .../visuals/e8c9e0760b30e01e308b/visual.json | 7 +- .../visuals/63da60a31e1939145f40/visual.json | 2 +- .../visuals/668bb5e778539edc7617/visual.json | 2 +- .../visuals/d4eebe78fa92788dbbea/visual.json | 2 +- .../visuals/e1dd3485ecaea0ab810e/visual.json | 66 ++- .../visuals/10b4afd023a970d9d100/visual.json | 10 + .../visuals/6d39adb5348bc816bc59/visual.json | 4 +- .../visuals/8eecdf971487c06d8850/visual.json | 6 +- .../visuals/a38ec7410488c0406450/visual.json | 2 +- .../visuals/dbe3d9c138e9fa7f4e6b/visual.json | 88 ++++ .../visuals/3e05074d80315d48c611/visual.json | 30 +- .../visuals/ecda1eaf985757b8a795/visual.json | 66 ++- .../visuals/d35c54c7eb1b839dda60/visual.json | 2 +- .../visuals/23e50359e7ae900d1964/visual.json | 66 ++- .../definition/report.json | 2 +- .../DAXQueries/.pbi/daxQueries.json | 7 +- .../DAXQueries/Query 1.dax | 8 - .../DAXQueries/Query 2.dax | 13 - .../DAXQueries/Query 3.dax | 209 -------- .../DAXQueries/{Query 4.dax => udf.dax} | 2 +- .../TMDLScripts/.pbi/tmdlScripts.json | 4 +- .../TMDLScripts/Script 1.tmdl | 103 ---- .../TMDLScripts/test role.tmdl | 206 ++++++++ .../definition/model.tmdl | 3 +- .../definition/roles/PI_SALES.tmdl | 14 +- .../definition/tables/00_KPI.tmdl | 136 +++-- .../definition/tables/0_Measure_CalGroup.tmdl | 25 + .../definition/tables/AIA.Measures.tmdl | 12 +- .../tables/Config_TA_Countrows.tmdl | 46 ++ .../definition/tables/DM_AUTH_SALES_TA.tmdl | 3 +- .../definition/tables/Dim_CorpType.tmdl | 4 +- .../tables/Fact_Direct_Retail_rx_market.tmdl | 5 + .../definition/tables/Measure THC.tmdl | 480 +++++++++++------- .../definition/tables/Measure.tmdl | 394 ++++++++++++-- .../diagramLayout.json | 276 ++++++++-- 50 files changed, 1949 insertions(+), 902 deletions(-) delete mode 100644 External All Channel.SemanticModel/DAXQueries/Query 1.dax delete mode 100644 External All Channel.SemanticModel/DAXQueries/Query 2.dax delete mode 100644 External All Channel.SemanticModel/DAXQueries/Query 3.dax rename External All Channel.SemanticModel/DAXQueries/{Query 4.dax => udf.dax} (85%) delete mode 100644 External All Channel.SemanticModel/TMDLScripts/Script 1.tmdl create mode 100644 External All Channel.SemanticModel/TMDLScripts/test role.tmdl create mode 100644 External All Channel.SemanticModel/definition/tables/Config_TA_Countrows.tmdl diff --git a/External All Channel.Report/definition/bookmarks/5f56a4563549764112e3.bookmark.json b/External All Channel.Report/definition/bookmarks/5f56a4563549764112e3.bookmark.json index 7fa1ac4..b3ae1d2 100644 --- a/External All Channel.Report/definition/bookmarks/5f56a4563549764112e3.bookmark.json +++ b/External All Channel.Report/definition/bookmarks/5f56a4563549764112e3.bookmark.json @@ -1,6 +1,6 @@ { "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/bookmark/2.1.0/schema.json", - "displayName": "Rx-TOP集团", + "displayName": "Rx-TOP集团及其TOP产品", "name": "5f56a4563549764112e3", "options": { "applyOnlyToTargetVisuals": true, diff --git a/External All Channel.Report/definition/pages/05d495a4d45dc9188f5f/visuals/9d44769b03f96bdc39c2/visual.json b/External All Channel.Report/definition/pages/05d495a4d45dc9188f5f/visuals/9d44769b03f96bdc39c2/visual.json index e355d14..5a43f84 100644 --- a/External All Channel.Report/definition/pages/05d495a4d45dc9188f5f/visuals/9d44769b03f96bdc39c2/visual.json +++ b/External All Channel.Report/definition/pages/05d495a4d45dc9188f5f/visuals/9d44769b03f96bdc39c2/visual.json @@ -233,6 +233,56 @@ } }, "type": "Categorical", + "filter": { + "Version": 2, + "From": [ + { + "Name": "d", + "Entity": "Dim_Market", + "Type": 0 + } + ], + "Where": [ + { + "Condition": { + "Not": { + "Expression": { + "In": { + "Expressions": [ + { + "Column": { + "Expression": { + "SourceRef": { + "Source": "d" + } + }, + "Property": "MARKET" + } + } + ], + "Values": [ + [ + { + "Literal": { + "Value": "null" + } + } + ], + [ + { + "Literal": { + "Value": "'ALL Market'" + } + } + ] + ] + } + } + } + } + } + ] + }, "objects": { "general": [ { @@ -248,22 +298,6 @@ } ] } - }, - { - "name": "cbd1dc7085ede9385602", - "ordinal": 2, - "field": { - "Measure": { - "Expression": { - "SourceRef": { - "Entity": "Measure" - } - }, - "Property": "MergedData.Sales.KPI.Filter" - } - }, - "type": "Advanced", - "howCreated": "User" } ] } diff --git a/External All Channel.Report/definition/pages/0c6bf6c9118eec051860/visuals/080847717410eb2a2e0c/visual.json b/External All Channel.Report/definition/pages/0c6bf6c9118eec051860/visuals/080847717410eb2a2e0c/visual.json index 2f9f77c..5b35731 100644 --- a/External All Channel.Report/definition/pages/0c6bf6c9118eec051860/visuals/080847717410eb2a2e0c/visual.json +++ b/External All Channel.Report/definition/pages/0c6bf6c9118eec051860/visuals/080847717410eb2a2e0c/visual.json @@ -233,6 +233,56 @@ } }, "type": "Categorical", + "filter": { + "Version": 2, + "From": [ + { + "Name": "d", + "Entity": "Dim_Market", + "Type": 0 + } + ], + "Where": [ + { + "Condition": { + "Not": { + "Expression": { + "In": { + "Expressions": [ + { + "Column": { + "Expression": { + "SourceRef": { + "Source": "d" + } + }, + "Property": "MARKET" + } + } + ], + "Values": [ + [ + { + "Literal": { + "Value": "null" + } + } + ], + [ + { + "Literal": { + "Value": "'ALL Market'" + } + } + ] + ] + } + } + } + } + } + ] + }, "objects": { "general": [ { @@ -248,22 +298,6 @@ } ] } - }, - { - "name": "cbd1dc7085ede9385602", - "ordinal": 2, - "field": { - "Measure": { - "Expression": { - "SourceRef": { - "Entity": "Measure" - } - }, - "Property": "MergedData.Sales.KPI.Filter" - } - }, - "type": "Advanced", - "howCreated": "User" } ] } diff --git a/External All Channel.Report/definition/pages/57cfd40c66e1339a587b/visuals/0b86a9537a3111101ae8/visual.json b/External All Channel.Report/definition/pages/57cfd40c66e1339a587b/visuals/0b86a9537a3111101ae8/visual.json index a84cc28..43cf29c 100644 --- a/External All Channel.Report/definition/pages/57cfd40c66e1339a587b/visuals/0b86a9537a3111101ae8/visual.json +++ b/External All Channel.Report/definition/pages/57cfd40c66e1339a587b/visuals/0b86a9537a3111101ae8/visual.json @@ -4718,7 +4718,7 @@ "value": { "expr": { "Literal": { - "Value": "69D" + "Value": "125.57043348300962D" } } } diff --git a/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/2a8b2c548db03777053b/visual.json b/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/2a8b2c548db03777053b/visual.json index cd4e1ef..a7b029d 100644 --- a/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/2a8b2c548db03777053b/visual.json +++ b/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/2a8b2c548db03777053b/visual.json @@ -1,5 +1,5 @@ { - "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.7.0/schema.json", + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.8.0/schema.json", "name": "2a8b2c548db03777053b", "position": { "x": 355.16187272396951, @@ -13,5 +13,6 @@ "displayName": "Class", "groupMode": "ScaleMode" }, - "parentGroupName": "b606c5b00e520b50b8b7" + "parentGroupName": "b606c5b00e520b50b8b7", + "isHidden": true } \ No newline at end of file diff --git a/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/57ecb3f8593a301c6ac8/visual.json b/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/57ecb3f8593a301c6ac8/visual.json index 374614c..8087023 100644 --- a/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/57ecb3f8593a301c6ac8/visual.json +++ b/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/57ecb3f8593a301c6ac8/visual.json @@ -1,5 +1,5 @@ { - "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.6.0/schema.json", + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.8.0/schema.json", "name": "57ecb3f8593a301c6ac8", "position": { "x": 355.16187272396951, @@ -13,5 +13,6 @@ "displayName": "Brand", "groupMode": "ScaleMode" }, - "parentGroupName": "b606c5b00e520b50b8b7" + "parentGroupName": "b606c5b00e520b50b8b7", + "isHidden": true } \ No newline at end of file diff --git a/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/5bcb92300403b3088670/visual.json b/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/5bcb92300403b3088670/visual.json index 3c1167e..2d6aa2f 100644 --- a/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/5bcb92300403b3088670/visual.json +++ b/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/5bcb92300403b3088670/visual.json @@ -233,6 +233,56 @@ } }, "type": "Categorical", + "filter": { + "Version": 2, + "From": [ + { + "Name": "d", + "Entity": "Dim_Market", + "Type": 0 + } + ], + "Where": [ + { + "Condition": { + "Not": { + "Expression": { + "In": { + "Expressions": [ + { + "Column": { + "Expression": { + "SourceRef": { + "Source": "d" + } + }, + "Property": "MARKET" + } + } + ], + "Values": [ + [ + { + "Literal": { + "Value": "null" + } + } + ], + [ + { + "Literal": { + "Value": "'ALL Market'" + } + } + ] + ] + } + } + } + } + } + ] + }, "objects": { "general": [ { @@ -248,22 +298,6 @@ } ] } - }, - { - "name": "cbd1dc7085ede9385602", - "ordinal": 2, - "field": { - "Measure": { - "Expression": { - "SourceRef": { - "Entity": "Measure" - } - }, - "Property": "MergedData.Sales.KPI.Filter" - } - }, - "type": "Advanced", - "howCreated": "User" } ] } diff --git a/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/7b623a16b3035346186a/visual.json b/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/7b623a16b3035346186a/visual.json index 78f5f2b..d776f07 100644 --- a/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/7b623a16b3035346186a/visual.json +++ b/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/7b623a16b3035346186a/visual.json @@ -1,5 +1,5 @@ { - "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.6.0/schema.json", + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.8.0/schema.json", "name": "7b623a16b3035346186a", "position": { "x": 8.1388149608261724, @@ -67,7 +67,7 @@ [ { "Literal": { - "Value": "'''Dim_Geo''[PROVINCE_EN]'" + "Value": "'''Dim_Org''[region_name_en_n]'" } } ], @@ -77,6 +77,13 @@ "Value": "'''Dim_Geo''[CITY_EN]'" } } + ], + [ + { + "Literal": { + "Value": "'''Dim_Org''[rsm_name]'" + } + } ] ] } @@ -102,7 +109,7 @@ "0": [ { "Literal": { - "Value": "'''Dim_Geo''[PROVINCE_EN]'" + "Value": "'''Dim_Org''[region_name_en_n]'" } } ] @@ -118,6 +125,17 @@ } ] } + ], + [ + { + "0": [ + { + "Literal": { + "Value": "'''Dim_Org''[rsm_name]'" + } + } + ] + } ] ], "columns": [ @@ -137,10 +155,13 @@ }, "valueMap": [ { - "0": "Province" + "0": "Region" }, { "0": "City" + }, + { + "0": "RSMName" } ] } diff --git a/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/7e32db7981a0a40ea620/visual.json b/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/7e32db7981a0a40ea620/visual.json index 62da38e..0ab84a5 100644 --- a/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/7e32db7981a0a40ea620/visual.json +++ b/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/7e32db7981a0a40ea620/visual.json @@ -1,5 +1,5 @@ { - "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.6.0/schema.json", + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.8.0/schema.json", "name": "7e32db7981a0a40ea620", "position": { "x": 0.83133397588405544, @@ -44,7 +44,52 @@ }, "queryRef": "Dim_PackInfo.CMPS_COD", "nativeQueryRef": "CMPS_COD", - "active": false + "active": true + }, + { + "field": { + "Column": { + "Expression": { + "SourceRef": { + "Entity": "Dim_Org" + } + }, + "Property": "region_name_en_n" + } + }, + "queryRef": "Dim_Org.region_name_en_n", + "nativeQueryRef": "region_name_en_n", + "active": true + }, + { + "field": { + "Column": { + "Expression": { + "SourceRef": { + "Entity": "Dim_Geo" + } + }, + "Property": "CITY_EN" + } + }, + "queryRef": "Dim_Geo.CITY_EN", + "nativeQueryRef": "CITY_EN", + "active": true + }, + { + "field": { + "Column": { + "Expression": { + "SourceRef": { + "Entity": "Dim_Org" + } + }, + "Property": "rsm_name" + } + }, + "queryRef": "Dim_Org.rsm_name", + "nativeQueryRef": "rsm_name", + "active": true } ], "fieldParameters": [ @@ -60,7 +105,7 @@ } }, "index": 2, - "length": 0 + "length": 3 } ] }, @@ -89,11 +134,11 @@ "Entity": "Measure" } }, - "Property": "External.MS%.KPI" + "Property": "External.Gr%.KPI" } }, - "queryRef": "Measure.External.MS%.KPI", - "nativeQueryRef": "External.MS%.KPI" + "queryRef": "Measure.External.Gr%.KPI", + "nativeQueryRef": "External.Gr%.KPI" }, { "field": { @@ -103,12 +148,11 @@ "Entity": "Measure" } }, - "Property": "External.Gr%.KPI" + "Property": "External.MS%.KPI" } }, - "queryRef": "Measure.External.Gr%.KPI", - "nativeQueryRef": "GR%", - "displayName": "GR%" + "queryRef": "Measure.External.MS%.KPI", + "nativeQueryRef": "External.MS%.KPI" }, { "field": { @@ -177,6 +221,47 @@ ] } }, + "expansionStates": [ + { + "roles": [ + "Rows" + ], + "levels": [ + { + "queryRefs": [ + "Dim_PackInfo.CMPS_DES" + ], + "isPinned": true + }, + { + "queryRefs": [ + "Dim_PackInfo.CMPS_COD" + ], + "isPinned": true + }, + { + "queryRefs": [ + "Dim_Org.region_name_en_n" + ], + "isPinned": true + }, + { + "queryRefs": [ + "Dim_Geo.CITY_EN" + ], + "isPinned": true + }, + { + "queryRefs": [ + "Dim_Org.rsm_name" + ], + "isCollapsed": true, + "isPinned": true + } + ], + "root": {} + } + ], "objects": { "grid": [ { @@ -4905,6 +4990,5 @@ } ], "filterSortOrder": "Custom" - }, - "isHidden": true + } } \ No newline at end of file diff --git a/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/81c677627c0e3d0b820d/visual.json b/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/81c677627c0e3d0b820d/visual.json index 2b55bf3..b5dbb33 100644 --- a/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/81c677627c0e3d0b820d/visual.json +++ b/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/81c677627c0e3d0b820d/visual.json @@ -1,5 +1,5 @@ { - "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.6.0/schema.json", + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.8.0/schema.json", "name": "81c677627c0e3d0b820d", "position": { "x": 0, @@ -43,7 +43,7 @@ }, "queryRef": "Dim_PackInfo.PROD_CORP_EN", "nativeQueryRef": "Brand Corp1", - "active": true, + "active": false, "displayName": "Brand Corp" }, { @@ -59,7 +59,7 @@ }, "queryRef": "Dim_Geo.PROVINCE_EN", "nativeQueryRef": "Province", - "active": true, + "active": false, "displayName": "Province" }, { @@ -75,7 +75,7 @@ }, "queryRef": "Dim_Geo.CITY_EN", "nativeQueryRef": "City", - "active": true, + "active": false, "displayName": "City" } ], @@ -210,41 +210,6 @@ ] } }, - "expansionStates": [ - { - "roles": [ - "Rows" - ], - "levels": [ - { - "queryRefs": [ - "Dim_PackInfo.PROD_COD" - ], - "isPinned": true - }, - { - "queryRefs": [ - "Dim_PackInfo.PROD_CORP_EN" - ], - "isPinned": true - }, - { - "queryRefs": [ - "Dim_Geo.PROVINCE_EN" - ], - "isPinned": true - }, - { - "queryRefs": [ - "Dim_Geo.CITY_EN" - ], - "isCollapsed": true, - "isPinned": true - } - ], - "root": {} - } - ], "objects": { "grid": [ { @@ -5028,5 +4993,6 @@ } ], "filterSortOrder": "Custom" - } + }, + "isHidden": true } \ No newline at end of file diff --git a/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/d850243112b4471de978/visual.json b/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/d850243112b4471de978/visual.json index 9ad9313..efc7c55 100644 --- a/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/d850243112b4471de978/visual.json +++ b/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/d850243112b4471de978/visual.json @@ -1,5 +1,5 @@ { - "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.6.0/schema.json", + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.8.0/schema.json", "name": "d850243112b4471de978", "position": { "x": 998.09954727377647, @@ -67,7 +67,7 @@ [ { "Literal": { - "Value": "'Province'" + "Value": "'Region'" } } ] diff --git a/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/dc7ce17e5053d63685db/visual.json b/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/dc7ce17e5053d63685db/visual.json index 30df81e..20e16be 100644 --- a/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/dc7ce17e5053d63685db/visual.json +++ b/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/dc7ce17e5053d63685db/visual.json @@ -1,5 +1,5 @@ { - "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.6.0/schema.json", + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.8.0/schema.json", "name": "dc7ce17e5053d63685db", "position": { "x": 7.70568527485183, @@ -35,15 +35,15 @@ "Column": { "Expression": { "SourceRef": { - "Entity": "Dim_Geo" + "Entity": "Dim_Org" } }, - "Property": "PROVINCE_C" + "Property": "region_name_en_n" } }, - "queryRef": "Dim_Geo.PROVINCE_C", - "nativeQueryRef": "PROVINCE_C", - "active": false + "queryRef": "Dim_Org.region_name_en_n", + "nativeQueryRef": "region_name_en_n", + "active": true }, { "field": { @@ -53,12 +53,27 @@ "Entity": "Dim_Geo" } }, - "Property": "CITY_C" + "Property": "CITY_EN" } }, - "queryRef": "Dim_Geo.CITY_C", - "nativeQueryRef": "CITY_C", - "active": false + "queryRef": "Dim_Geo.CITY_EN", + "nativeQueryRef": "CITY_EN", + "active": true + }, + { + "field": { + "Column": { + "Expression": { + "SourceRef": { + "Entity": "Dim_Org" + } + }, + "Property": "rsm_name" + } + }, + "queryRef": "Dim_Org.rsm_name", + "nativeQueryRef": "rsm_name", + "active": true } ], "fieldParameters": [ @@ -74,7 +89,7 @@ } }, "index": 1, - "length": 2 + "length": 3 } ] }, @@ -192,6 +207,41 @@ ] } }, + "expansionStates": [ + { + "roles": [ + "Rows" + ], + "levels": [ + { + "queryRefs": [ + "Dim_Class.CLASS" + ], + "isPinned": true + }, + { + "queryRefs": [ + "Dim_Org.region_name_en_n" + ], + "isPinned": true + }, + { + "queryRefs": [ + "Dim_Geo.CITY_EN" + ], + "isPinned": true + }, + { + "queryRefs": [ + "Dim_Org.rsm_name" + ], + "isCollapsed": true, + "isPinned": true + } + ], + "root": {} + } + ], "objects": { "grid": [ { diff --git a/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/f4a797718c2a78d3dbc0/visual.json b/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/f4a797718c2a78d3dbc0/visual.json index 7afdddf..17967f4 100644 --- a/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/f4a797718c2a78d3dbc0/visual.json +++ b/External All Channel.Report/definition/pages/7901063b99ba6dd20a76/visuals/f4a797718c2a78d3dbc0/visual.json @@ -1,5 +1,5 @@ { - "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.7.0/schema.json", + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.8.0/schema.json", "name": "f4a797718c2a78d3dbc0", "position": { "x": 355.34577153013743, @@ -13,5 +13,6 @@ "displayName": "Package", "groupMode": "ScaleMode" }, - "parentGroupName": "b606c5b00e520b50b8b7" + "parentGroupName": "b606c5b00e520b50b8b7", + "isHidden": true } \ No newline at end of file diff --git a/External All Channel.Report/definition/pages/ReportSection3e9b78a99de7939003a0/visuals/510e3dc5e875611a56ac/visual.json b/External All Channel.Report/definition/pages/ReportSection3e9b78a99de7939003a0/visuals/510e3dc5e875611a56ac/visual.json index 8409dc6..3eb4eb1 100644 --- a/External All Channel.Report/definition/pages/ReportSection3e9b78a99de7939003a0/visuals/510e3dc5e875611a56ac/visual.json +++ b/External All Channel.Report/definition/pages/ReportSection3e9b78a99de7939003a0/visuals/510e3dc5e875611a56ac/visual.json @@ -233,6 +233,56 @@ } }, "type": "Categorical", + "filter": { + "Version": 2, + "From": [ + { + "Name": "d", + "Entity": "Dim_Market", + "Type": 0 + } + ], + "Where": [ + { + "Condition": { + "Not": { + "Expression": { + "In": { + "Expressions": [ + { + "Column": { + "Expression": { + "SourceRef": { + "Source": "d" + } + }, + "Property": "MARKET" + } + } + ], + "Values": [ + [ + { + "Literal": { + "Value": "null" + } + } + ], + [ + { + "Literal": { + "Value": "'ALL Market'" + } + } + ] + ] + } + } + } + } + } + ] + }, "objects": { "general": [ { @@ -248,22 +298,6 @@ } ] } - }, - { - "name": "cbd1dc7085ede9385602", - "ordinal": 2, - "field": { - "Measure": { - "Expression": { - "SourceRef": { - "Entity": "Measure" - } - }, - "Property": "MergedData.Sales.KPI.Filter" - } - }, - "type": "Advanced", - "howCreated": "User" } ] } diff --git a/External All Channel.Report/definition/pages/ReportSection3e9b78a99de7939003a0/visuals/dbb94bc2da6a10c63538/visual.json b/External All Channel.Report/definition/pages/ReportSection3e9b78a99de7939003a0/visuals/dbb94bc2da6a10c63538/visual.json index fac8e4c..6a61eda 100644 --- a/External All Channel.Report/definition/pages/ReportSection3e9b78a99de7939003a0/visuals/dbb94bc2da6a10c63538/visual.json +++ b/External All Channel.Report/definition/pages/ReportSection3e9b78a99de7939003a0/visuals/dbb94bc2da6a10c63538/visual.json @@ -1,5 +1,5 @@ { - "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.6.0/schema.json", + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.8.0/schema.json", "name": "dbb94bc2da6a10c63538", "position": { "x": 891.1004784688995, @@ -25,7 +25,7 @@ "selectedBookmark": { "expr": { "Literal": { - "Value": "'ac39a9cfe1616baf4f21'" + "Value": "'7337b4204eb2cca5fedf'" } } } diff --git a/External All Channel.Report/definition/pages/ReportSection3e9b78a99de7939003a0/visuals/e8c9e0760b30e01e308b/visual.json b/External All Channel.Report/definition/pages/ReportSection3e9b78a99de7939003a0/visuals/e8c9e0760b30e01e308b/visual.json index f37edd7..b36848d 100644 --- a/External All Channel.Report/definition/pages/ReportSection3e9b78a99de7939003a0/visuals/e8c9e0760b30e01e308b/visual.json +++ b/External All Channel.Report/definition/pages/ReportSection3e9b78a99de7939003a0/visuals/e8c9e0760b30e01e308b/visual.json @@ -850,7 +850,7 @@ "value": { "expr": { "Literal": { - "Value": "69.67479212984506D" + "Value": "88.14714857387227D" } } } @@ -1721,8 +1721,7 @@ "Property": "Sales_MSTOP1_BrandGR%" } }, - "type": "Advanced", - "howCreated": "User" + "type": "Advanced" }, { "name": "Filterc882f530024c830c1bab", @@ -1937,7 +1936,7 @@ } } ], - "Top": 10 + "Top": 20 } } }, diff --git a/External All Channel.Report/definition/pages/ReportSection7c203e32de7071898401/visuals/63da60a31e1939145f40/visual.json b/External All Channel.Report/definition/pages/ReportSection7c203e32de7071898401/visuals/63da60a31e1939145f40/visual.json index 2a0d90d..7d5ebb6 100644 --- a/External All Channel.Report/definition/pages/ReportSection7c203e32de7071898401/visuals/63da60a31e1939145f40/visual.json +++ b/External All Channel.Report/definition/pages/ReportSection7c203e32de7071898401/visuals/63da60a31e1939145f40/visual.json @@ -2,7 +2,7 @@ "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.8.0/schema.json", "name": "63da60a31e1939145f40", "position": { - "x": 80, + "x": 240, "y": 0, "z": 3000, "height": 34.907039462671356, diff --git a/External All Channel.Report/definition/pages/ReportSection7c203e32de7071898401/visuals/668bb5e778539edc7617/visual.json b/External All Channel.Report/definition/pages/ReportSection7c203e32de7071898401/visuals/668bb5e778539edc7617/visual.json index 2c3d486..a05b419 100644 --- a/External All Channel.Report/definition/pages/ReportSection7c203e32de7071898401/visuals/668bb5e778539edc7617/visual.json +++ b/External All Channel.Report/definition/pages/ReportSection7c203e32de7071898401/visuals/668bb5e778539edc7617/visual.json @@ -2,7 +2,7 @@ "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.8.0/schema.json", "name": "668bb5e778539edc7617", "position": { - "x": 160, + "x": 80, "y": 0, "z": 2000, "height": 34.907039462671356, diff --git a/External All Channel.Report/definition/pages/ReportSection7c203e32de7071898401/visuals/d4eebe78fa92788dbbea/visual.json b/External All Channel.Report/definition/pages/ReportSection7c203e32de7071898401/visuals/d4eebe78fa92788dbbea/visual.json index 6811975..7e666b9 100644 --- a/External All Channel.Report/definition/pages/ReportSection7c203e32de7071898401/visuals/d4eebe78fa92788dbbea/visual.json +++ b/External All Channel.Report/definition/pages/ReportSection7c203e32de7071898401/visuals/d4eebe78fa92788dbbea/visual.json @@ -2,7 +2,7 @@ "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.8.0/schema.json", "name": "d4eebe78fa92788dbbea", "position": { - "x": 240, + "x": 160, "y": 0, "z": 1000, "height": 34.907039462671356, diff --git a/External All Channel.Report/definition/pages/ReportSectioneb7f7ada5bac80ed00c1/visuals/e1dd3485ecaea0ab810e/visual.json b/External All Channel.Report/definition/pages/ReportSectioneb7f7ada5bac80ed00c1/visuals/e1dd3485ecaea0ab810e/visual.json index 335b131..378a1b0 100644 --- a/External All Channel.Report/definition/pages/ReportSectioneb7f7ada5bac80ed00c1/visuals/e1dd3485ecaea0ab810e/visual.json +++ b/External All Channel.Report/definition/pages/ReportSectioneb7f7ada5bac80ed00c1/visuals/e1dd3485ecaea0ab810e/visual.json @@ -233,6 +233,56 @@ } }, "type": "Categorical", + "filter": { + "Version": 2, + "From": [ + { + "Name": "d", + "Entity": "Dim_Market", + "Type": 0 + } + ], + "Where": [ + { + "Condition": { + "Not": { + "Expression": { + "In": { + "Expressions": [ + { + "Column": { + "Expression": { + "SourceRef": { + "Source": "d" + } + }, + "Property": "MARKET" + } + } + ], + "Values": [ + [ + { + "Literal": { + "Value": "null" + } + } + ], + [ + { + "Literal": { + "Value": "'ALL Market'" + } + } + ] + ] + } + } + } + } + } + ] + }, "objects": { "general": [ { @@ -248,22 +298,6 @@ } ] } - }, - { - "name": "cbd1dc7085ede9385602", - "ordinal": 2, - "field": { - "Measure": { - "Expression": { - "SourceRef": { - "Entity": "Measure" - } - }, - "Property": "MergedData.Sales.KPI.Filter" - } - }, - "type": "Advanced", - "howCreated": "User" } ] } diff --git a/External All Channel.Report/definition/pages/ReportSectioned71c491b41e12906de3/visuals/10b4afd023a970d9d100/visual.json b/External All Channel.Report/definition/pages/ReportSectioned71c491b41e12906de3/visuals/10b4afd023a970d9d100/visual.json index 4dbe4e3..a0f03f4 100644 --- a/External All Channel.Report/definition/pages/ReportSectioned71c491b41e12906de3/visuals/10b4afd023a970d9d100/visual.json +++ b/External All Channel.Report/definition/pages/ReportSectioned71c491b41e12906de3/visuals/10b4afd023a970d9d100/visual.json @@ -133,6 +133,16 @@ } ], "isToggled": true + }, + { + "identityValues": [ + { + "Literal": { + "Value": "'更多字段'" + } + } + ], + "isToggled": true } ] } diff --git a/External All Channel.Report/definition/pages/ReportSectioned71c491b41e12906de3/visuals/6d39adb5348bc816bc59/visual.json b/External All Channel.Report/definition/pages/ReportSectioned71c491b41e12906de3/visuals/6d39adb5348bc816bc59/visual.json index 2d637d3..0bafc82 100644 --- a/External All Channel.Report/definition/pages/ReportSectioned71c491b41e12906de3/visuals/6d39adb5348bc816bc59/visual.json +++ b/External All Channel.Report/definition/pages/ReportSectioned71c491b41e12906de3/visuals/6d39adb5348bc816bc59/visual.json @@ -1,5 +1,5 @@ { - "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.7.0/schema.json", + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.8.0/schema.json", "name": "6d39adb5348bc816bc59", "position": { "x": 5.6975594824342659, @@ -290,7 +290,7 @@ [ { "Literal": { - "Value": "'RMB'" + "Value": "'M RMB'" } } ] diff --git a/External All Channel.Report/definition/pages/ReportSectioned71c491b41e12906de3/visuals/8eecdf971487c06d8850/visual.json b/External All Channel.Report/definition/pages/ReportSectioned71c491b41e12906de3/visuals/8eecdf971487c06d8850/visual.json index 0a6bc73..3e6a7df 100644 --- a/External All Channel.Report/definition/pages/ReportSectioned71c491b41e12906de3/visuals/8eecdf971487c06d8850/visual.json +++ b/External All Channel.Report/definition/pages/ReportSectioned71c491b41e12906de3/visuals/8eecdf971487c06d8850/visual.json @@ -105,7 +105,7 @@ [ { "Literal": { - "Value": "'202512'" + "Value": "'R'" } } ] @@ -133,7 +133,7 @@ "0": [ { "Literal": { - "Value": "'202512'" + "Value": "'R'" } } ] @@ -157,7 +157,7 @@ }, "valueMap": [ { - "0": "202512" + "0": "R" } ] } diff --git a/External All Channel.Report/definition/pages/ReportSectioned71c491b41e12906de3/visuals/a38ec7410488c0406450/visual.json b/External All Channel.Report/definition/pages/ReportSectioned71c491b41e12906de3/visuals/a38ec7410488c0406450/visual.json index 14cc1f7..630751d 100644 --- a/External All Channel.Report/definition/pages/ReportSectioned71c491b41e12906de3/visuals/a38ec7410488c0406450/visual.json +++ b/External All Channel.Report/definition/pages/ReportSectioned71c491b41e12906de3/visuals/a38ec7410488c0406450/visual.json @@ -99,7 +99,7 @@ [ { "Literal": { - "Value": "'Retail'" + "Value": "'CHPA'" } } ] diff --git a/External All Channel.Report/definition/pages/ReportSectioned71c491b41e12906de3/visuals/dbe3d9c138e9fa7f4e6b/visual.json b/External All Channel.Report/definition/pages/ReportSectioned71c491b41e12906de3/visuals/dbe3d9c138e9fa7f4e6b/visual.json index ac19c1c..affdcb7 100644 --- a/External All Channel.Report/definition/pages/ReportSectioned71c491b41e12906de3/visuals/dbe3d9c138e9fa7f4e6b/visual.json +++ b/External All Channel.Report/definition/pages/ReportSectioned71c491b41e12906de3/visuals/dbe3d9c138e9fa7f4e6b/visual.json @@ -98,6 +98,44 @@ "Value": "true" } } + }, + "selfFilter": { + "filter": { + "Version": 2, + "From": [ + { + "Name": "d", + "Entity": "Dim_Market", + "Type": 0 + } + ], + "Where": [ + { + "Condition": { + "Contains": { + "Left": { + "Column": { + "Expression": { + "SourceRef": { + "Source": "d" + } + }, + "Property": "MARKET" + } + }, + "Right": { + "Literal": { + "Value": "'niad'" + } + } + } + }, + "Annotations": { + "PowerBI.MParameterBehavior": 1 + } + } + ] + } } } } @@ -233,6 +271,56 @@ } }, "type": "Categorical", + "filter": { + "Version": 2, + "From": [ + { + "Name": "d", + "Entity": "Dim_Market", + "Type": 0 + } + ], + "Where": [ + { + "Condition": { + "Not": { + "Expression": { + "In": { + "Expressions": [ + { + "Column": { + "Expression": { + "SourceRef": { + "Source": "d" + } + }, + "Property": "MARKET" + } + } + ], + "Values": [ + [ + { + "Literal": { + "Value": "null" + } + } + ], + [ + { + "Literal": { + "Value": "'ALL Market'" + } + } + ] + ] + } + } + } + } + } + ] + }, "objects": { "general": [ { diff --git a/External All Channel.Report/definition/pages/b44a3196b500090487a3/visuals/3e05074d80315d48c611/visual.json b/External All Channel.Report/definition/pages/b44a3196b500090487a3/visuals/3e05074d80315d48c611/visual.json index ca93b42..6925d79 100644 --- a/External All Channel.Report/definition/pages/b44a3196b500090487a3/visuals/3e05074d80315d48c611/visual.json +++ b/External All Channel.Report/definition/pages/b44a3196b500090487a3/visuals/3e05074d80315d48c611/visual.json @@ -1,5 +1,5 @@ { - "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.7.0/schema.json", + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.8.0/schema.json", "name": "3e05074d80315d48c611", "position": { "x": 0, @@ -6506,6 +6506,34 @@ } ] } + }, + { + "name": "3d5eba3abde7ccee2b35", + "field": { + "Column": { + "Expression": { + "SourceRef": { + "Entity": "Dim_Market" + } + }, + "Property": "MARKET" + } + }, + "type": "Categorical" + }, + { + "name": "056420cf17508d5da9b2", + "field": { + "Measure": { + "Expression": { + "SourceRef": { + "Entity": "Measure" + } + }, + "Property": "_BLANK" + } + }, + "type": "Advanced" } ], "filterSortOrder": "Custom" diff --git a/External All Channel.Report/definition/pages/b44a3196b500090487a3/visuals/ecda1eaf985757b8a795/visual.json b/External All Channel.Report/definition/pages/b44a3196b500090487a3/visuals/ecda1eaf985757b8a795/visual.json index 762648f..cbc1c87 100644 --- a/External All Channel.Report/definition/pages/b44a3196b500090487a3/visuals/ecda1eaf985757b8a795/visual.json +++ b/External All Channel.Report/definition/pages/b44a3196b500090487a3/visuals/ecda1eaf985757b8a795/visual.json @@ -233,6 +233,56 @@ } }, "type": "Categorical", + "filter": { + "Version": 2, + "From": [ + { + "Name": "d", + "Entity": "Dim_Market", + "Type": 0 + } + ], + "Where": [ + { + "Condition": { + "Not": { + "Expression": { + "In": { + "Expressions": [ + { + "Column": { + "Expression": { + "SourceRef": { + "Source": "d" + } + }, + "Property": "MARKET" + } + } + ], + "Values": [ + [ + { + "Literal": { + "Value": "null" + } + } + ], + [ + { + "Literal": { + "Value": "'ALL Market'" + } + } + ] + ] + } + } + } + } + } + ] + }, "objects": { "general": [ { @@ -248,22 +298,6 @@ } ] } - }, - { - "name": "cbd1dc7085ede9385602", - "ordinal": 2, - "field": { - "Measure": { - "Expression": { - "SourceRef": { - "Entity": "Measure" - } - }, - "Property": "MergedData.Sales.KPI.Filter" - } - }, - "type": "Advanced", - "howCreated": "User" } ] } diff --git a/External All Channel.Report/definition/pages/ea424689305a4da63a62/visuals/d35c54c7eb1b839dda60/visual.json b/External All Channel.Report/definition/pages/ea424689305a4da63a62/visuals/d35c54c7eb1b839dda60/visual.json index 76ea054..da56367 100644 --- a/External All Channel.Report/definition/pages/ea424689305a4da63a62/visuals/d35c54c7eb1b839dda60/visual.json +++ b/External All Channel.Report/definition/pages/ea424689305a4da63a62/visuals/d35c54c7eb1b839dda60/visual.json @@ -25,7 +25,7 @@ "selectedBookmark": { "expr": { "Literal": { - "Value": "'59e2a00b35cc7c40e7e8'" + "Value": "'5f56a4563549764112e3'" } } } diff --git a/External All Channel.Report/definition/pages/ecb4c3d9dd5480470c2b/visuals/23e50359e7ae900d1964/visual.json b/External All Channel.Report/definition/pages/ecb4c3d9dd5480470c2b/visuals/23e50359e7ae900d1964/visual.json index f4a93d7..22c61c7 100644 --- a/External All Channel.Report/definition/pages/ecb4c3d9dd5480470c2b/visuals/23e50359e7ae900d1964/visual.json +++ b/External All Channel.Report/definition/pages/ecb4c3d9dd5480470c2b/visuals/23e50359e7ae900d1964/visual.json @@ -233,6 +233,56 @@ } }, "type": "Categorical", + "filter": { + "Version": 2, + "From": [ + { + "Name": "d", + "Entity": "Dim_Market", + "Type": 0 + } + ], + "Where": [ + { + "Condition": { + "Not": { + "Expression": { + "In": { + "Expressions": [ + { + "Column": { + "Expression": { + "SourceRef": { + "Source": "d" + } + }, + "Property": "MARKET" + } + } + ], + "Values": [ + [ + { + "Literal": { + "Value": "null" + } + } + ], + [ + { + "Literal": { + "Value": "'ALL Market'" + } + } + ] + ] + } + } + } + } + } + ] + }, "objects": { "general": [ { @@ -248,22 +298,6 @@ } ] } - }, - { - "name": "cbd1dc7085ede9385602", - "ordinal": 2, - "field": { - "Measure": { - "Expression": { - "SourceRef": { - "Entity": "Measure" - } - }, - "Property": "MergedData.Sales.KPI.Filter" - } - }, - "type": "Advanced", - "howCreated": "User" } ] } diff --git a/External All Channel.Report/definition/report.json b/External All Channel.Report/definition/report.json index 4077df9..0d1d0c5 100644 --- a/External All Channel.Report/definition/report.json +++ b/External All Channel.Report/definition/report.json @@ -43,7 +43,7 @@ "expanded": { "expr": { "Literal": { - "Value": "true" + "Value": "false" } } }, diff --git a/External All Channel.SemanticModel/DAXQueries/.pbi/daxQueries.json b/External All Channel.SemanticModel/DAXQueries/.pbi/daxQueries.json index 46816dc..c1f73c2 100644 --- a/External All Channel.SemanticModel/DAXQueries/.pbi/daxQueries.json +++ b/External All Channel.SemanticModel/DAXQueries/.pbi/daxQueries.json @@ -1,10 +1,7 @@ { "version": "1.0.0", "tabOrder": [ - "Query 1", - "Query 2", - "Query 3", - "Query 4" + "udf" ], - "defaultTab": "Query 4" + "defaultTab": "udf" } \ No newline at end of file diff --git a/External All Channel.SemanticModel/DAXQueries/Query 1.dax b/External All Channel.SemanticModel/DAXQueries/Query 1.dax deleted file mode 100644 index b9df6b0..0000000 --- a/External All Channel.SemanticModel/DAXQueries/Query 1.dax +++ /dev/null @@ -1,8 +0,0 @@ -// Welcome to DAX query view! Learn more about DAX queries at https://aka.ms/dax-queries. -// Right-click on tables, columns, or measures in the data pane to access quick queries, or ask Copilot for help writing DAX. - -// Select "Run" to try this sample DAX query. -EVALUATE -{ -[YM_HasData_AIA] -} \ No newline at end of file diff --git a/External All Channel.SemanticModel/DAXQueries/Query 2.dax b/External All Channel.SemanticModel/DAXQueries/Query 2.dax deleted file mode 100644 index 62afc76..0000000 --- a/External All Channel.SemanticModel/DAXQueries/Query 2.dax +++ /dev/null @@ -1,13 +0,0 @@ -EVALUATE - SELECTCOLUMNS( - TOPN( - 100, - 'Fields_Geo', - 'Fields_Geo'[Province], - ASC - ), - 'Fields_Geo'[Province], - 'Fields_Geo'[Province 个字段], - 'Fields_Geo'[Province 个订单] - ) - ORDER BY 'Fields_Geo'[Province] ASC \ No newline at end of file diff --git a/External All Channel.SemanticModel/DAXQueries/Query 3.dax b/External All Channel.SemanticModel/DAXQueries/Query 3.dax deleted file mode 100644 index 5f0874e..0000000 --- a/External All Channel.SemanticModel/DAXQueries/Query 3.dax +++ /dev/null @@ -1,209 +0,0 @@ -DEFINE - VAR __DS0FilterTable = - TREATAS( - {"'Fact_Retail_RawData'[TA]", - "'Fact_Retail_RawData'[RANK]", - "'Fact_Retail_RawData'[corp]", - "'Fact_Retail_RawData'[corporation]"}, - 'RetailExport'[RetailExport 个字段] - ) - - VAR __DS0FilterTable2 = - TREATAS({"NIAD (Non-Insulin Anti-Diabetic) Market"}, 'Dim_Market'[MARKET]) - - VAR __DS0FilterTable3 = - FILTER( - KEEPFILTERS( - SUMMARIZE( - VALUES('Measures Val'), - 'Measures Val'[Measures Category], - 'Measures Val'[Measures Fields] - ) - ), - AND( - NOT( - 'Measures Val'[Measures Fields] IN {"'Measure'[External.Rank.KPI.Combo]", - "'Measure'[External.△MS%Rank.KPI.Combo]"} - ), - ('Measures Val'[Measures Category], 'Measures Val'[Measures Fields]) IN {("Sales", "'Measure'[External.Sales.KPI]"), - ("Sales", "'Measure'[External.Sales.KPI.Market]"), - ("Sales", "'Measure'[External.Sales.KPI.Mol]"), - ("Share", "'Measure'[External.MS%.KPI]"), - ("Share", "'Measure'[External.△MS%.KPI]"), - ("Growth", "'Measure'[External.Gr%.KPI]"), - ("Growth", "'Measure'[External.EI.KPI]")} - ) - ) - - VAR __DS0FilterTable4 = - TREATAS({"TOP"}, 'Fact_Retail_RawData'[SOURCE_TYPE3]) - - VAR __DS0FilterTable5 = - TREATAS({"CHPA"}, 'Dim_DataSource'[SOURCENAME]) - - VAR __DS0FilterTable6 = - TREATAS({"Retail Total", - "Rx"}, 'Fact_Retail_RawData'[TA_NAME]) - - VAR __DS0FilterTable7 = - TREATAS({"YTD"}, 'MQY'[Period]) - - VAR __DS0FilterTable8 = - FILTER( - KEEPFILTERS(VALUES('Fact_Retail_RawData'[corp])), - NOT('Fact_Retail_RawData'[corp] IN {"阿斯利康-去除非零售推广产品"}) - ) - - VAR __DS0FilterTable9 = - FILTER( - KEEPFILTERS(VALUES('Fact_Sales'[MERGED_DATA_DTP_OTHERS])), - NOT('Fact_Sales'[MERGED_DATA_DTP_OTHERS] IN {"3"}) - ) - - VAR __DS0FilterTable10 = - TREATAS({2025, - 2024, - 2026}, 'Dim_Calendar'[YEAR]) - - VAR __DS0FilterTable11 = - TREATAS({"RMB"}, 'Dim_Unit'[DW]) - - VAR __DS0FilterTable12 = - TREATAS({"Rx"}, 'Fact_Retail_RawData'[SOURCE_TYPE2]) - - VAR __DS0FilterTable13 = - TREATAS( - {"'Measure'[Retail.Export.Gr%]", - "'Measure'[Retail.Export.MS%]", - "'Measure'[Retail.Export.ΔMS%]", - "'Measure'[Retail.Export.Sales]"}, - 'Retail.Export.KPI'[Retail.Export.KPI 个字段] - ) - - VAR __DS0FilterTable14 = - FILTER( - KEEPFILTERS(VALUES('Fields_Matrix'[Fields_Matrix 个字段])), - NOT( - 'Fields_Matrix'[Fields_Matrix 个字段] IN {"'TD_EXTERNAL_ORG'[region_name_en]", - "'TD_EXTERNAL_ORG'[rc_name_en]", - "'TD_EXTERNAL_GEO_Analysis'[AZ_CITY_TIER]", - "'TD_EXTERNAL_GEO_Analysis'[CITY_C]", - "'TD_EXTERNAL_GEO_Analysis'[PROVINCE_C]", - "'TD_EXTERNAL_PACKINFO'[PROD_DES]", - "'TD_EXTERNAL_PACKINFO'[CMPS_DES_C]", - "'TD_EXTERNAL_MARKET_PACK_MAPPING'[CLASS]", - "'TD_EXTERNAL_CORP'[CORP_DES]", - "'TD_EXTERNAL_MARKET_TA'[TA]", - "'TD_EXTERNAL_CALENDAR'[YEAR_QUATER]", - "'TD_EXTERNAL_CALENDAR'[HALF_YEAR]", - "'TD_EXTERNAL_CALENDAR'[YYYYMM]", - "'Dim_Calendar'[YEAR]", - "'Dim_Calendar'[YYYYMM]", - "'Dim_Calendar'[HALF_YEAR]", - "'Dim_Calendar'[YEAR_QUATER]", - "'Dim_MarketTA'[TA]", - "'Dim_Corp'[CORP_DES]", - "'Dim_MKTPackMapping'[CLASS]", - "'Dim_PackInfo'[CMPS_DES_C]", - "'Dim_PackInfo'[PROD_DES]", - "'Dim_Geo'[PROVINCE_C]", - "'Dim_Geo'[CITY_C]", - "'Dim_Geo'[AZ_CITY_TIER]", - "'Dim_Org'[rc_name_en]", - "'Dim_Org'[region_name_en]"} - ) - ) - - VAR __DS0FilterTable15 = - TREATAS({"集团"}, 'Fact_Retail_RawData'[SOURCE_TYPE]) - - VAR __DS0FilterTable16 = - TREATAS({"R"}, 'Dim_Calendar'[YYYYMM_EXTERNAL]) - - VAR __DS0FilterTable17 = - TREATAS( - {("KeepSelected", "'Dim_DataSource'[SOURCENAME]"), - ("KeepSelected", "'Dim_Unit'[DW]"), - ("Market & Product", "'Dim_PackInfo'[PROD_DES_C]")}, - 'Fields.Rows'[Fields Category], - 'Fields.Rows'[Fields Fields] - ) - - VAR __DS0Core = - SUMMARIZECOLUMNS( - ROLLUPADDISSUBTOTAL( - ROLLUPGROUP( - 'Dim_DataSource'[SOURCENAME], - 'Dim_DataSource'[ORDER1], - 'Dim_Unit'[DW], - 'Dim_Unit'[ORDER1], - 'Dim_PackInfo'[PROD_DES_C] - ), "IsGrandTotalRowTotal" - ), - __DS0FilterTable, - __DS0FilterTable2, - __DS0FilterTable3, - __DS0FilterTable4, - __DS0FilterTable5, - __DS0FilterTable6, - __DS0FilterTable7, - __DS0FilterTable8, - __DS0FilterTable9, - __DS0FilterTable10, - __DS0FilterTable11, - __DS0FilterTable12, - __DS0FilterTable13, - __DS0FilterTable14, - __DS0FilterTable15, - __DS0FilterTable16, - __DS0FilterTable17, - "External_Sales_KPI", 'Measure'[External.Sales.KPI], - "External_Sales_KPI_Market", 'Measure'[External.Sales.KPI.Market], - "External_Sales_KPI_Mol", 'Measure'[External.Sales.KPI.Mol], - "External_MS__KPI", 'Measure'[External.MS%.KPI], - "External__MS__KPI", 'Measure'[External.△MS%.KPI], - "External_Gr__KPI", 'Measure'[External.Gr%.KPI], - "External_EI_KPI", 'Measure'[External.EI.KPI] - ) - - VAR __DS0PrimaryWindowed = - TOPN( - 502, - __DS0Core, - [IsGrandTotalRowTotal], - 0, - [External_Sales_KPI], - 0, - 'Dim_DataSource'[ORDER1], - 1, - 'Dim_DataSource'[SOURCENAME], - 1, - 'Dim_Unit'[ORDER1], - 1, - 'Dim_Unit'[DW], - 1, - 'Dim_PackInfo'[PROD_DES_C], - 1 - ) - - VAR __DS0CoreNoInstanceFiltersNoTotals = - FILTER(KEEPFILTERS(__DS0Core), [IsGrandTotalRowTotal] = FALSE) - -EVALUATE - GROUPBY( - __DS0CoreNoInstanceFiltersNoTotals, - "MinExternal_Sales_KPI", MINX(CURRENTGROUP(), [External_Sales_KPI]), - "MaxExternal_Sales_KPI", MAXX(CURRENTGROUP(), [External_Sales_KPI]) - ) - -EVALUATE - __DS0PrimaryWindowed - -ORDER BY - [IsGrandTotalRowTotal] DESC, - [External_Sales_KPI] DESC, - 'Dim_DataSource'[ORDER1], - 'Dim_DataSource'[SOURCENAME], - 'Dim_Unit'[ORDER1], - 'Dim_Unit'[DW], - 'Dim_PackInfo'[PROD_DES_C] \ No newline at end of file diff --git a/External All Channel.SemanticModel/DAXQueries/Query 4.dax b/External All Channel.SemanticModel/DAXQueries/udf.dax similarity index 85% rename from External All Channel.SemanticModel/DAXQueries/Query 4.dax rename to External All Channel.SemanticModel/DAXQueries/udf.dax index f91f4d4..4a28ea0 100644 --- a/External All Channel.SemanticModel/DAXQueries/Query 4.dax +++ b/External All Channel.SemanticModel/DAXQueries/udf.dax @@ -1,5 +1,5 @@ DEFINE - FUNCTION Switch_Unit_Value = (unit, O_Value) => + FUNCTION Switch_Unit_Value = (unit , O_Value) => SWITCH( unit, "RMB", O_Value, diff --git a/External All Channel.SemanticModel/TMDLScripts/.pbi/tmdlScripts.json b/External All Channel.SemanticModel/TMDLScripts/.pbi/tmdlScripts.json index 23ce1bd..4596c42 100644 --- a/External All Channel.SemanticModel/TMDLScripts/.pbi/tmdlScripts.json +++ b/External All Channel.SemanticModel/TMDLScripts/.pbi/tmdlScripts.json @@ -1,7 +1,7 @@ { "version": "1.0.0", "tabOrder": [ - "Script 1" + "test role" ], - "defaultTab": "Script 1" + "defaultTab": "test role" } \ No newline at end of file diff --git a/External All Channel.SemanticModel/TMDLScripts/Script 1.tmdl b/External All Channel.SemanticModel/TMDLScripts/Script 1.tmdl deleted file mode 100644 index b514722..0000000 --- a/External All Channel.SemanticModel/TMDLScripts/Script 1.tmdl +++ /dev/null @@ -1,103 +0,0 @@ -createOrReplace - - table Dim_MarketTA_Total - lineageTag: 9828a88e-525f-44ef-8342-ff83d4d771d8 - - column MARKET - dataType: string - lineageTag: 115c4441-f12d-4312-b5e6-4c40e32dc55f - summarizeBy: none - sourceColumn: MARKET - - annotation SummarizationSetBy = Automatic - - column TA - dataType: string - lineageTag: dd0a146f-2af9-4b0b-adac-06d4616c733d - summarizeBy: none - sourceColumn: TA - sortByColumn: TA_RN - - changedProperty = SortByColumn - - annotation SummarizationSetBy = Automatic - - column TA_RN - dataType: int64 - formatString: 0 - lineageTag: 4573c194-9e45-4e33-9622-afa5083766e8 - summarizeBy: sum - sourceColumn: TA_RN - - annotation SummarizationSetBy = Automatic - - column DATA_SOURCE - dataType: string - lineageTag: be443384-9a16-4578-bd7a-fb950c6d4309 - summarizeBy: none - sourceColumn: DATA_SOURCE - - annotation SummarizationSetBy = Automatic - - column MKT_SOURCE = [MARKET] & [DATA_SOURCE] - lineageTag: e1aa3578-ae39-426b-ae7d-28db8be01f14 - summarizeBy: none - - annotation SummarizationSetBy = Automatic - - column MARKET_DESC - dataType: string - lineageTag: 4ec40049-d872-4938-ac9b-116f6ab21241 - summarizeBy: none - sourceColumn: MARKET_DESC - - annotation SummarizationSetBy = Automatic - - column TA_SOURCE = [TA] & [DATA_SOURCE] - lineageTag: 240ce796-54f0-400d-8e23-9f848c0c7d30 - summarizeBy: none - - annotation SummarizationSetBy = Automatic - - partition Dim_MarketTA_Total = 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], - " - SELECT DISTINCT - MARKET, - TA, - TA_RN, - MARKET_DESC, - DATA_SOURCE - FROM - dm.dm_td_ext_unionall_market_ta - " - & UsingLimit, - null, - [ - EnableFolding = true - ] - ) - in - Source - ``` - - annotation PBI_ResultType = Exception - - annotation PBI_NavigationStepName = 导航 - - annotation TabularEditor_TableGroup = 04_DimTable - diff --git a/External All Channel.SemanticModel/TMDLScripts/test role.tmdl b/External All Channel.SemanticModel/TMDLScripts/test role.tmdl new file mode 100644 index 0000000..a85801b --- /dev/null +++ b/External All Channel.SemanticModel/TMDLScripts/test role.tmdl @@ -0,0 +1,206 @@ +createOrReplace + + role PI_BISO + modelPermission: read + + annotation PBI_Id = e44162c710754cdb8ff12804b975b3b4 + + role PI_ADMIN + modelPermission: read + + annotation PBI_Id = fc6d5498bea1445bb06f6502fd1c1155 + + role PI_SMT + modelPermission: read + + annotation PBI_Id = 3f368a2f334748dfb19293c75cd0ac07 + + role PI_GEO_IMS + modelPermission: read + + annotation PBI_Id = c0bbf882ccc84885b9e1ab5bcaafe392 + + role PI_ORG_IMS + modelPermission: read + + tablePermission Dim_RC = + Dim_RC[sub_bu_code_auth] IN + SELECTCOLUMNS ( + FILTER ( DM_AUTH_ORG, DM_AUTH_ORG[KCODE] = CUSTOMDATA ( ) ), + "sub bu_code", DM_AUTH_ORG[SUB_BU_CODE] + ) + + annotation PBI_Id = cd0d598bfb004161b931ed10f0abfe68 + + role PI_PRD_IMS + modelPermission: read + + tablePermission Dim_Market = + Dim_Market[MARKET] IN + SELECTCOLUMNS ( + FILTER ( DM_AUTH_PRD, DM_AUTH_PRD[KCODE] = CUSTOMDATA ( ) ), + "market", DM_AUTH_PRD[MARKET] + ) + + tablePermission Dim_PackInfo = + Dim_PackInfo[PACK_COD] IN + SELECTCOLUMNS ( + FILTER ( + DM_AUTH_PRD_PACK, + DM_AUTH_PRD_PACK[KCODE] = CUSTOMDATA ( ) + ), + "PACK_COD", DM_AUTH_PRD_PACK[PACK_COD] + ) + + annotation PBI_Id = 8bdaab61a673440f8dd9c968a39f1ea3 + + role PI_ALL_IMS + modelPermission: read + + annotation PBI_Id = 97d0beba767741348d2a4072c4268b9a + + role PI_SALES + modelPermission: read + + tablePermission CONFIG_ACCESS_ROLE = [ROLE] == "PI_SALES" + + tablePermission dm_auth_aia_sales_geo = [KCODE] = CUSTOMDATA() + + tablePermission dm_auth_aia_sales_mkt = [KCODE] = CUSTOMDATA() + + tablePermission dm_auth_aia_sales_org = [KCODE] = CUSTOMDATA() + + tablePermission dm_auth_aia_sales_pack = [KCODE] = CUSTOMDATA() + + tablePermission Dim_MarketTA = + Dim_MarketTA[TA_SOURCE2] + IN + SELECTCOLUMNS( + FILTER( + DM_AUTH_SALES_TA,DM_AUTH_SALES_TA[USER_KCODE]=CUSTOMDATA() + ), + "TA_SOURCE", + DM_AUTH_SALES_TA[TA_SOURCE]) + + tablePermission Dim_DataSource_ForRLS = + [DATA_SOURCE] + IN + SELECTCOLUMNS( + FILTER( + DM_AUTH_SALES_TA,DM_AUTH_SALES_TA[USER_KCODE]=CUSTOMDATA() + ), + "TA_SOURCE", + DM_AUTH_SALES_TA[DATA_SOURCE]) + + tablePermission DM_AUTH_MERGED_DATA = [sub_code] == CUSTOMDATA() + + annotation PBI_Id = 6ef3de21ce5b4126b399307f67b91d45 + + role PI_SALES_DSM + modelPermission: read + + tablePermission CONFIG_ACCESS_ROLE = [ROLE] == "PI_SALES_DSM" + + tablePermission dm_auth_aia_sales_geo = [KCODE] = CUSTOMDATA() + + tablePermission dm_auth_aia_sales_mkt = [KCODE] = CUSTOMDATA() + + tablePermission dm_auth_aia_sales_org = [KCODE] = CUSTOMDATA() + + tablePermission dm_auth_aia_sales_pack = [KCODE] = CUSTOMDATA() + + tablePermission Dim_MarketTA = + Dim_MarketTA[TA_SOURCE2] + IN + SELECTCOLUMNS( + FILTER( + DM_AUTH_SALES_TA,DM_AUTH_SALES_TA[USER_KCODE]=CUSTOMDATA() + ), + "TA_SOURCE", + DM_AUTH_SALES_TA[TA_SOURCE]) + + tablePermission Dim_DataSource_ForRLS = + [DATA_SOURCE] + IN + SELECTCOLUMNS( + FILTER( + DM_AUTH_SALES_TA,DM_AUTH_SALES_TA[USER_KCODE]=CUSTOMDATA() + ), + "TA_SOURCE", + DM_AUTH_SALES_TA[DATA_SOURCE]) + + tablePermission DM_AUTH_MERGED_DATA = [sub_code] == CUSTOMDATA() + + annotation PBI_Id = d9c1c2482b2145dbb5f00bee13992057 + + role ALL + modelPermission: read + + annotation PBI_Id = 2e85a58bbc234ed59fcb679df5eb6a41 + + role BU + modelPermission: read + + tablePermission Dim_MarketTA = + Dim_MarketTA[TA_MAP] IN + SELECTCOLUMNS ( + FILTER ( + DM_AUTH_NONSALES_ORG, + DM_AUTH_NONSALES_ORG[USER_KCODE] = CUSTOMDATA ( ) + && DM_AUTH_NONSALES_ORG[TA] <> BLANK ( ) + ), + "BU", DM_AUTH_NONSALES_ORG[TA] + ) + + annotation PBI_Id = 50c9236daefe427a9fd509703cac0a63 + + role Province + modelPermission: read + + tablePermission Dim_Geo = + Dim_Geo[PROVINCE_C] + IN + SELECTCOLUMNS( + FILTER( + dm_td_user_permission_detail, + dm_td_user_permission_detail[user_kcode]=CUSTOMDATA() + && dm_td_user_permission_detail[role] <> "PI_RMTPMT" + && dm_td_user_permission_detail[province_name] <> BLANK() + ), + "PROVINCE", + dm_td_user_permission_detail[province_name]) + + annotation PBI_Id = b694ee61c26249ee9f183ce0fb4d3b58 + + role SubBU + modelPermission: read + + tablePermission Dim_MarketTA = + Dim_MarketTA[TA_MAP] + IN + SELECTCOLUMNS( + FILTER(DM_AUTH_NONSALES_ORG, + DM_AUTH_NONSALES_ORG[USER_KCODE]=CUSTOMDATA() + && DM_AUTH_NONSALES_ORG[TA] <> BLANK() + ), + "SubBU", + DM_AUTH_NONSALES_ORG[TA]) + + annotation PBI_Id = 6de7d2c047f54f27803b6c6c9335348e + + role TA + modelPermission: read + + tablePermission Dim_MarketTA = + Dim_MarketTA[TA_MAP] + IN + SELECTCOLUMNS( + FILTER(DM_AUTH_NONSALES_TA, + DM_AUTH_NONSALES_TA[USER_KCODE]=CUSTOMDATA() + && DM_AUTH_NONSALES_TA[TA] <> BLANK() + ), + "TA", + DM_AUTH_NONSALES_TA[TA]) + + annotation PBI_Id = 74d3ac65675a412388616821facee602 + diff --git a/External All Channel.SemanticModel/definition/model.tmdl b/External All Channel.SemanticModel/definition/model.tmdl index 44826f1..a67257f 100644 --- a/External All Channel.SemanticModel/definition/model.tmdl +++ b/External All Channel.SemanticModel/definition/model.tmdl @@ -66,7 +66,7 @@ queryGroup Dim annotation __PBI_TimeIntelligenceEnabled = 0 -annotation PBI_QueryOrder = ["Measure THC","Dim_PackInfo_Retail","Dim_MergeDataSource","Fact_Retail_Brand","Fact_Retail_RawData","Fact_EC_Total","Fact_Retail","Config_ReportURL","refresh_time","Dim_BrandMKT","Dim_Market_Total","Dim_MarketTA_Total","Dim_BrandDefaultMKT","Dim_Calendar","Dim_Corp","Dim_DataSource","Dim_Geo","Dim_PlatformMID","Dim_StoreTypeMID","Dim_GeoGroup","Dim_Market","Dim_MarketTA","Dim_Org","Dim_PackInfo","Dim_Platform","Dim_StoreType","Dim_ExchangRate","DM_AUTH_ORG","DM_AUTH_PRD","DM_AUTH_SALES_GEO","DM_AUTH_SALES_MKT","DM_AUTH_SALES_PACK","DM_AUTH_SALES_ORG","DM_AUTH_GEO","HttpPath","CatalogName","ServerAddress","limit_validity","UsingLimit","limit","TOP","Dim_PackInfo_Total","Dim_RegionType","Fact_Sales_SQL","Fact_Sales_SQL_limit","Fact_Sales_Total","Dim_Unit","dm_td_chpa_market_definition","Fact_Retail_Total","Fact_Sales_Total_AIA","Fact_EC","Dim_Class","Dim_HPFlag","Dim_HPFlag_AIASpecial","Dim_InsSalesType","Dim_InsSalesType_AIASpecial","Dim_IsTarget_AIASpecial","Dim_CoreDept","Dim_Dept","Dim_PrescriptionSource","Dim_Reimburse","Dim_ReimburseType","dm_auth_aia_sales_pack","dm_auth_aia_sales_geo","dm_auth_aia_sales_org","dm_auth_aia_sales_mkt","DM_AIA_TD_HOSPITAL_NOT_PROVIDED","Dim_Original_Col_AIA","Dim_HP_Potential_AIA","AIA.Measures","DM_AUTH_PRD_PACK","AIA_AdvanceAnalysis_Brand","AIA_AdvanceAnalysis_Class","AIA_AdvanceAnalysis_Key_Competitor","AIA_AdvanceAnalysis_Mole","AIA_AdvanceAnalysis_Subchannel","AIA_AdvanceAnalysis_DRAGON","AIA_AdvanceAnalysis_Decile","AIA_AdvanceAnalysis_Decile_Group","Dim_IsEagle_AIASpecial","Dim_IsEagle_Bridge_AIASpecial","Dim_RC","Dim_Institution","DM_AUTH_SALES_TA","DM_AUTH_NONSALES_TA","DM_AUTH_MERGED_DATA","DM_AUTH_NONSALES_ORG","dm_td_user_permission_detail","Config_MarketRatio","Config_MergeData","Dim_RC_Merged_Data","Fact_AIA_DataQuality","DM_AUTH_EMAIL_NOTIFICATION","Config_EmailWarning","Dim_Remove_inst","Config_PageFlag_FreeReportNIAD","Config_VisualFlag","Fact_Sales_THC","Fact_Sales_NIAD","00_KPI","Dim_KeyCompetitor","Dim_Store","Dim_HP_Level","Fact_Direct_Retail_rx_market","Fact_Direct_Retail_rx_top_corp","Fact_Direct_Retail_national_corp_rank","Fact_Direct_Retail_national_prd_rank","Fact_Direct_Retail_region_corp_rank"] +annotation PBI_QueryOrder = ["Measure THC","Dim_PackInfo_Retail","Dim_MergeDataSource","Fact_Retail_Brand","Fact_Retail_RawData","Fact_EC_Total","Fact_Retail","Config_ReportURL","refresh_time","Dim_BrandMKT","Dim_Market_Total","Dim_MarketTA_Total","Dim_BrandDefaultMKT","Dim_Calendar","Dim_Corp","Dim_DataSource","Dim_Geo","Dim_PlatformMID","Dim_StoreTypeMID","Dim_GeoGroup","Dim_Market","Dim_MarketTA","Dim_Org","Dim_PackInfo","Dim_Platform","Dim_StoreType","Dim_ExchangRate","DM_AUTH_ORG","DM_AUTH_PRD","DM_AUTH_SALES_GEO","DM_AUTH_SALES_MKT","DM_AUTH_SALES_PACK","DM_AUTH_SALES_ORG","DM_AUTH_GEO","HttpPath","CatalogName","ServerAddress","limit_validity","UsingLimit","limit","TOP","Dim_PackInfo_Total","Dim_RegionType","Fact_Sales_SQL","Fact_Sales_SQL_limit","Fact_Sales_Total","Dim_Unit","dm_td_chpa_market_definition","Fact_Retail_Total","Fact_Sales_Total_AIA","Fact_EC","Dim_Class","Dim_HPFlag","Dim_HPFlag_AIASpecial","Dim_InsSalesType","Dim_InsSalesType_AIASpecial","Dim_IsTarget_AIASpecial","Dim_CoreDept","Dim_Dept","Dim_PrescriptionSource","Dim_Reimburse","Dim_ReimburseType","dm_auth_aia_sales_pack","dm_auth_aia_sales_geo","dm_auth_aia_sales_org","dm_auth_aia_sales_mkt","DM_AIA_TD_HOSPITAL_NOT_PROVIDED","Dim_Original_Col_AIA","Dim_HP_Potential_AIA","AIA.Measures","DM_AUTH_PRD_PACK","AIA_AdvanceAnalysis_Brand","AIA_AdvanceAnalysis_Class","AIA_AdvanceAnalysis_Key_Competitor","AIA_AdvanceAnalysis_Mole","AIA_AdvanceAnalysis_Subchannel","AIA_AdvanceAnalysis_DRAGON","AIA_AdvanceAnalysis_Decile","AIA_AdvanceAnalysis_Decile_Group","Dim_IsEagle_AIASpecial","Dim_IsEagle_Bridge_AIASpecial","Dim_RC","Dim_Institution","DM_AUTH_SALES_TA","DM_AUTH_NONSALES_TA","DM_AUTH_MERGED_DATA","DM_AUTH_NONSALES_ORG","dm_td_user_permission_detail","Config_MarketRatio","Config_MergeData","Dim_RC_Merged_Data","Fact_AIA_DataQuality","DM_AUTH_EMAIL_NOTIFICATION","Config_EmailWarning","Dim_Remove_inst","Config_PageFlag_FreeReportNIAD","Config_VisualFlag","Fact_Sales_THC","Fact_Sales_NIAD","00_KPI","Dim_KeyCompetitor","Dim_Store","Dim_HP_Level","Fact_Direct_Retail_rx_market","Fact_Direct_Retail_rx_top_corp","Fact_Direct_Retail_national_corp_rank","Fact_Direct_Retail_national_prd_rank","Fact_Direct_Retail_region_corp_rank","Config_TA_Countrows"] annotation __TEdtr = 1 @@ -240,6 +240,7 @@ ref table Fact_Direct_Retail_national_prd_rank ref table Fact_Direct_Retail_rx_top_corp ref table Fact_Direct_Retail_region_corp_rank ref table Fields_Rows_NIAD +ref table Config_TA_Countrows ref role PI_BISO ref role PI_ADMIN diff --git a/External All Channel.SemanticModel/definition/roles/PI_SALES.tmdl b/External All Channel.SemanticModel/definition/roles/PI_SALES.tmdl index 095f3e3..879e178 100644 --- a/External All Channel.SemanticModel/definition/roles/PI_SALES.tmdl +++ b/External All Channel.SemanticModel/definition/roles/PI_SALES.tmdl @@ -3,20 +3,20 @@ role PI_SALES tablePermission CONFIG_ACCESS_ROLE = [ROLE] == "PI_SALES" - tablePermission dm_auth_aia_sales_geo = [KCODE] = customdata() + tablePermission dm_auth_aia_sales_geo = [KCODE] = CUSTOMDATA() - tablePermission dm_auth_aia_sales_mkt = [KCODE] = customdata() + tablePermission dm_auth_aia_sales_mkt = [KCODE] = CUSTOMDATA() - tablePermission dm_auth_aia_sales_org = [KCODE] = customdata() + tablePermission dm_auth_aia_sales_org = [KCODE] = CUSTOMDATA() - tablePermission dm_auth_aia_sales_pack = [KCODE] = customdata() + tablePermission dm_auth_aia_sales_pack = [KCODE] = CUSTOMDATA() tablePermission Dim_MarketTA = Dim_MarketTA[TA_SOURCE2] IN SELECTCOLUMNS( FILTER( - DM_AUTH_SALES_TA,DM_AUTH_SALES_TA[USER_KCODE]=customdata() + DM_AUTH_SALES_TA,DM_AUTH_SALES_TA[USER_KCODE]=CUSTOMDATA() ), "TA_SOURCE", DM_AUTH_SALES_TA[TA_SOURCE]) @@ -26,12 +26,12 @@ role PI_SALES IN SELECTCOLUMNS( FILTER( - DM_AUTH_SALES_TA,DM_AUTH_SALES_TA[USER_KCODE]=customdata() + DM_AUTH_SALES_TA,DM_AUTH_SALES_TA[USER_KCODE]=CUSTOMDATA() ), "TA_SOURCE", DM_AUTH_SALES_TA[DATA_SOURCE]) - tablePermission DM_AUTH_MERGED_DATA = [sub_code] == customdata() + tablePermission DM_AUTH_MERGED_DATA = [sub_code] == CUSTOMDATA() annotation PBI_Id = 6ef3de21ce5b4126b399307f67b91d45 diff --git a/External All Channel.SemanticModel/definition/tables/00_KPI.tmdl b/External All Channel.SemanticModel/definition/tables/00_KPI.tmdl index 6e4a0ae..e729f3e 100644 --- a/External All Channel.SemanticModel/definition/tables/00_KPI.tmdl +++ b/External All Channel.SemanticModel/definition/tables/00_KPI.tmdl @@ -1,7 +1,17 @@ table 00_KPI lineageTag: 39b8e218-c376-43f5-9748-3dbaa502b75b - measure chenwutest1 = COUNTROWS(FACT_SALES) //TOCSV ( VALUES ( Fact_Sales[market] ) ) + measure chenwutest1 = ``` + CALCULATE ( + SUM ( Fact_EC[KPI_VAL] ), + Fact_EC[KPI_NAME] = "top_corp_sales", + Fact_EC[TA] = "", + Fact_EC[TOTAL_FLAG] = "y", + Fact_EC[PLATFORM] = "B2C全平台(京东+天猫)", + REMOVEFILTERS ( Fact_EC[CORP_COD] ), + KEEPFILTERS ( Fact_EC[CORP_COD] = "" ) + ) + ``` displayFolder: 01Normal lineageTag: 327243a7-d1c4-4efa-bec8-96f85ad40cec @@ -138,8 +148,8 @@ table 00_KPI lineageTag: 593c4a0e-9a8f-452a-8838-9cb3267497c1 measure '00.base.if.countTA' = - //COUNTROWS ( ALL ( Dim_MarketTA ) )<>MAX (Config_TA_Countrows[@countrows]) - FALSE () + COUNTROWS ( ALL ( Dim_MarketTA ) )<>MAX (Config_TA_Countrows[count_all_ta]) + //FALSE () displayFolder: 01Normal\00base lineageTag: a07a34b4-9afd-4471-bd7e-3650c34cbdf9 @@ -1574,13 +1584,13 @@ table 00_KPI annotation PBI_FormatHint = {"isGeneralNumber":true} - measure '00.Retail.NIAD.PDOT' = SUM ( Fact_Sales_NIAD[CONUTING_UNIT] ) + measure '00.Retail.NIAD.PDOT' = SUM ( Fact_Sales_NIAD[PDOT] ) displayFolder: 02FreeReport_NIAD\00 lineageTag: 04b73112-a012-4bab-b05e-774810797bec annotation PBI_FormatHint = {"isGeneralNumber":true} - measure '00.Retail.NIAD.PDOT.LY' = SUM ( Fact_Sales_NIAD[CONUTING_UNIT_LY] ) + measure '00.Retail.NIAD.PDOT.LY' = SUM ( Fact_Sales_NIAD[PDOT_LY] ) displayFolder: 02FreeReport_NIAD\00 lineageTag: 8b95b9d7-235a-4d7e-b6ea-94e79fcce762 @@ -3574,7 +3584,8 @@ table 00_KPI DS = "Retail" && _visualtag = 1, CALCULATE ( MAX ( Fact_Direct_Retail_national_corp_rank[rank] ), - Fact_Direct_Retail_national_corp_rank[corp_cod] = "A5Z" + Fact_Direct_Retail_national_corp_rank[corp_cod] = "A5Z", + Fact_Direct_Retail_national_corp_rank[ta] = "Retail Total" ), IF ( [ExternalTotal.Sales.KPI] <> BLANK ( ), @@ -4333,14 +4344,13 @@ table 00_KPI || ISFILTERED ( Dim_PackInfo[PROD_DES] ) || ISFILTERED ( Dim_PackInfo[PROD_DES_C] ) ) -- 是否过滤到"品牌/产品"层级 - - VAR _isfilter_not_packinfo_only_mole = - ISFILTERED ( Dim_PackInfo[MOLECULE_CODE_DESC] ) - || ISFILTERED ( Dim_PackInfo[MOLECULE_DES_C] ) - || ISFILTERED ( Dim_PackInfo[CMPS_COD] ) - || ISFILTERED ( Dim_PackInfo[CMPS_DES] ) - || ISFILTERED ( Dim_PackInfo[CMPS_DES_C] ) - -- 仅分子/成分层级过滤(未细化到品牌/包装)→ 使用 CMPS_FLAG + //VAR _isfilter_not_packinfo_only_mole = + // ISFILTERED ( Dim_PackInfo[MOLECULE_CODE_DESC] ) + // || ISFILTERED ( Dim_PackInfo[MOLECULE_DES_C] ) + // || ISFILTERED ( Dim_PackInfo[CMPS_COD] ) + // || ISFILTERED ( Dim_PackInfo[CMPS_DES] ) + // || ISFILTERED ( Dim_PackInfo[CMPS_DES_C] ) + //-- 仅分子/成分层级过滤(未细化到品牌/包装)→ 使用 CMPS_FLAG RETURN SWITCH ( @@ -4373,33 +4383,12 @@ table 00_KPI [External.Sales.MTH], KEEPFILTERS ( Fact_Sales[PROD_FLAG] = 1 ) ), - _isfilter_not_packinfo_only_mole, - CALCULATE ( - [External.Sales.MTH], - KEEPFILTERS ( Fact_Sales[CMPS_FLAG] = 1 ) - ), - [External.Sales.MTH] - ), - NOT _isfilter_province, - SWITCH ( - TRUE ( ), - isfilter_packinfo, - CALCULATE ( - [External.Sales.MTH], - TREATAS ( { 1, 2 }, Fact_Sales[PACK_FLAG] ) - ), - _isfilter_brandinfo, - CALCULATE ( - [External.Sales.MTH], - TREATAS ( { 1, 2 }, Fact_Sales[PROD_FLAG] ) - ), - _isfilter_not_packinfo_only_mole, - CALCULATE ( - [External.Sales.MTH], - TREATAS ( { 1, 0 }, Fact_Sales[CMPS_FLAG] ) - ), - [External.Sales.MTH] + CALCULATE ( + [External.Sales.MTH], + KEEPFILTERS ( Fact_Sales[PROD_FLAG] = 1 ) + ) ), + NOT _isfilter_province, [External.Sales.MTH], [External.Sales.MTH] ), @@ -4478,14 +4467,13 @@ table 00_KPI || ISFILTERED ( Dim_PackInfo[PROD_DES] ) || ISFILTERED ( Dim_PackInfo[PROD_DES_C] ) ) -- 是否过滤到"品牌/产品"层级 - - VAR _isfilter_not_packinfo_only_mole = - ISFILTERED ( Dim_PackInfo[MOLECULE_CODE_DESC] ) - || ISFILTERED ( Dim_PackInfo[MOLECULE_DES_C] ) - || ISFILTERED ( Dim_PackInfo[CMPS_COD] ) - || ISFILTERED ( Dim_PackInfo[CMPS_DES] ) - || ISFILTERED ( Dim_PackInfo[CMPS_DES_C] ) - -- 仅分子/成分层级过滤(未细化到品牌/包装)→ 使用 CMPS_FLAG + //VAR _isfilter_not_packinfo_only_mole = + // ISFILTERED ( Dim_PackInfo[MOLECULE_CODE_DESC] ) + // || ISFILTERED ( Dim_PackInfo[MOLECULE_DES_C] ) + // || ISFILTERED ( Dim_PackInfo[CMPS_COD] ) + // || ISFILTERED ( Dim_PackInfo[CMPS_DES] ) + // || ISFILTERED ( Dim_PackInfo[CMPS_DES_C] ) + //-- 仅分子/成分层级过滤(未细化到品牌/包装)→ 使用 CMPS_FLAG RETURN SWITCH ( @@ -4518,33 +4506,35 @@ table 00_KPI [External.Sales.LY.MTH], KEEPFILTERS ( Fact_Sales[PROD_FLAG] = 1 ) ), - _isfilter_not_packinfo_only_mole, - CALCULATE ( - [External.Sales.LY.MTH], - KEEPFILTERS ( Fact_Sales[CMPS_FLAG] = 1 ) - ), - [External.Sales.LY.MTH] + //_isfilter_not_packinfo_only_mole, + // CALCULATE ( + // [External.Sales.LY.MTH], + // KEEPFILTERS ( Fact_Sales[CMPS_FLAG] = 1 ) + // ), + CALCULATE ( + [External.Sales.LY.MTH], + KEEPFILTERS ( Fact_Sales[PROD_FLAG] = 1 ) + ) ), NOT _isfilter_province, - SWITCH ( - TRUE ( ), - isfilter_packinfo, - CALCULATE ( - [External.Sales.LY.MTH], - TREATAS ( { 1, 2 }, Fact_Sales[PACK_FLAG] ) - ), - _isfilter_brandinfo, - CALCULATE ( - [External.Sales.LY.MTH], - TREATAS ( { 1, 2 }, Fact_Sales[PROD_FLAG] ) - ), - _isfilter_not_packinfo_only_mole, - CALCULATE ( - [External.Sales.LY.MTH], - TREATAS ( { 1, 0 }, Fact_Sales[CMPS_FLAG] ) - ), - [External.Sales.LY.MTH] - ), + //SWITCH ( + // TRUE ( ), + // isfilter_packinfo, + // CALCULATE ( + // [External.Sales.LY.MTH], + // TREATAS ( { 1, 2, 3 }, Fact_Sales[PACK_FLAG] ) + // ), + // _isfilter_brandinfo, + // CALCULATE ( + // [External.Sales.LY.MTH], + // TREATAS ( { 1, 2, 3 }, Fact_Sales[PROD_FLAG] ) + // ), + // //_isfilter_not_packinfo_only_mole, + // // CALCULATE ( + // // [External.Sales.LY.MTH], + // // TREATAS ( { 1, 0 }, Fact_Sales[CMPS_FLAG] ) + // // ), + [External.Sales.LY.MTH], [External.Sales.LY.MTH] ), diff --git a/External All Channel.SemanticModel/definition/tables/0_Measure_CalGroup.tmdl b/External All Channel.SemanticModel/definition/tables/0_Measure_CalGroup.tmdl index 5e8d8c6..13fdb2b 100644 --- a/External All Channel.SemanticModel/definition/tables/0_Measure_CalGroup.tmdl +++ b/External All Channel.SemanticModel/definition/tables/0_Measure_CalGroup.tmdl @@ -87,6 +87,31 @@ table 0_Measure_CalGroup ) ) + calculationItem _allmkt_thc = + CALCULATE ( + SELECTEDMEASURE ( ), + KEEPFILTERS ( VALUES ( Fact_Sales_thc[PACK_COD] ) ), + REMOVEFILTERS ( Dim_Market[MARKET] ), + REMOVEFILTERS ( Dim_MarketTA ), + Fact_Sales_thc[MARKET] = "all market" + ) + + calculationItem _not_allmkt_thc = CALCULATE( SELECTEDMEASURE( ), KEEPFILTERS( Fact_Sales_thc[MARKET] <> "all market" ) ) + + calculationItem _allmkt_TA_thc = + CALCULATE ( + SELECTEDMEASURE ( ), + KEEPFILTERS ( + CALCULATETABLE ( + VALUES ( Fact_Sales_thc[PACK_COD] ), + Fact_Sales_thc[MARKET] <> "all market" + ) + ), + REMOVEFILTERS ( Dim_Market[MARKET] ), + REMOVEFILTERS ( Dim_MarketTA[TA] ), + Fact_Sales_thc[MARKET] = "all market" + ) + column for_measure dataType: string lineageTag: daa1dfa2-573f-47cb-9ad6-1985b05ce72e diff --git a/External All Channel.SemanticModel/definition/tables/AIA.Measures.tmdl b/External All Channel.SemanticModel/definition/tables/AIA.Measures.tmdl index 00f10de..349d1c2 100644 --- a/External All Channel.SemanticModel/definition/tables/AIA.Measures.tmdl +++ b/External All Channel.SemanticModel/definition/tables/AIA.Measures.tmdl @@ -888,8 +888,8 @@ table 'AIA.Measures' RETURN ___x ),18) ,(IF ( - ISFILTERED('Dim_RC'[IS_TARGET_HP]), - VAR ___x = "目标机构: "& CONCATENATEX(VALUES('Dim_RC'[IS_TARGET_HP]),[IS_TARGET_HP],",") &" | " + ISFILTERED('fact_sales'[TARGET_ins]), + VAR ___x = "目标机构: "& CONCATENATEX(VALUES('fact_sales'[TARGET_ins]),[TARGET_ins],",") &" | " RETURN ___x ),18) ,(IF ( @@ -3386,8 +3386,8 @@ table 'AIA.Measures' RETURN ___x ),18) ,(IF ( - ISFILTERED('Dim_RC'[IS_TARGET_HP]), - VAR ___x = "目标机构: "& CONCATENATEX(VALUES('Dim_RC'[IS_TARGET_HP]),[IS_TARGET_HP],",") &" + ISFILTERED('Fact_Sales'[target_ins]), + VAR ___x = "目标机构: "& CONCATENATEX(VALUES('Fact_Sales'[target_ins]),[target_ins],",") &" " RETURN ___x ),18) @@ -3734,8 +3734,8 @@ table 'AIA.Measures' RETURN ___x ),18) ,(IF ( - ISFILTERED('Dim_RC'[IS_TARGET_HP]), - VAR ___x = "目标机构: "& CONCATENATEX(VALUES('Dim_RC'[IS_TARGET_HP]),[IS_TARGET_HP],",") &" + ISFILTERED('Fact_Sales'[target_ins]), + VAR ___x = "目标机构: "& CONCATENATEX(VALUES('Fact_Sales'[target_ins]),[target_ins],",") &" " RETURN ___x ),18) diff --git a/External All Channel.SemanticModel/definition/tables/Config_TA_Countrows.tmdl b/External All Channel.SemanticModel/definition/tables/Config_TA_Countrows.tmdl new file mode 100644 index 0000000..3df45b6 --- /dev/null +++ b/External All Channel.SemanticModel/definition/tables/Config_TA_Countrows.tmdl @@ -0,0 +1,46 @@ +table Config_TA_Countrows + lineageTag: cf62265a-7b9b-42eb-9496-f057dd282902 + + column count_all_ta + dataType: int64 + formatString: 0 + lineageTag: 91e2eb9b-8775-4b39-8f7a-4f0f5e452b8a + summarizeBy: sum + sourceColumn: count_all_ta + + annotation SummarizationSetBy = Automatic + + partition Config_TA_Countrows = 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], + " + select + count(distinct TA) as count_all_ta + from + DM.dm_td_ext_unionall_market + " + & UsingLimit, + null, + [EnableFolding = true] + ) + in + Source + ``` + + annotation PBI_NavigationStepName = Navigation + + annotation PBI_ResultType = Exception + diff --git a/External All Channel.SemanticModel/definition/tables/DM_AUTH_SALES_TA.tmdl b/External All Channel.SemanticModel/definition/tables/DM_AUTH_SALES_TA.tmdl index 2f81f06..433ddab 100644 --- a/External All Channel.SemanticModel/definition/tables/DM_AUTH_SALES_TA.tmdl +++ b/External All Channel.SemanticModel/definition/tables/DM_AUTH_SALES_TA.tmdl @@ -59,6 +59,7 @@ table DM_AUTH_SALES_TA TA_SOURCE FROM dm.dm_auth_sales_ta + WHERE USER_KCODE is not null and TA is NOT NULL ) SELECT * @@ -88,7 +89,7 @@ table DM_AUTH_SALES_TA annotation PBI_NavigationStepName = 导航 - annotation PBI_ResultType = Table + annotation PBI_ResultType = Exception annotation TabularEditor_TableGroup = 06_AuthTable diff --git a/External All Channel.SemanticModel/definition/tables/Dim_CorpType.tmdl b/External All Channel.SemanticModel/definition/tables/Dim_CorpType.tmdl index 5e1a406..8fc0b68 100644 --- a/External All Channel.SemanticModel/definition/tables/Dim_CorpType.tmdl +++ b/External All Channel.SemanticModel/definition/tables/Dim_CorpType.tmdl @@ -13,7 +13,7 @@ table Dim_CorpType column Value2 formatString: 0 lineageTag: 4ceee4f1-6bd8-4dc1-96fe-c6b217b82199 - summarizeBy: none + summarizeBy: sum isNameInferred sourceColumn: [Value2] @@ -21,7 +21,7 @@ table Dim_CorpType partition Dim_CorpType = calculated mode: import - source = {("AZ",4),("MNC",2),("LOCAL",3),("TOTAL",1)} + source = {("AZ",4),("MNC",1),("LOCAL",2),("TOTAL",3)} annotation PBI_Id = 42077e12771a48168ad0c5a89a80694b diff --git a/External All Channel.SemanticModel/definition/tables/Fact_Direct_Retail_rx_market.tmdl b/External All Channel.SemanticModel/definition/tables/Fact_Direct_Retail_rx_market.tmdl index 2bc3b5e..3e61a96 100644 --- a/External All Channel.SemanticModel/definition/tables/Fact_Direct_Retail_rx_market.tmdl +++ b/External All Channel.SemanticModel/definition/tables/Fact_Direct_Retail_rx_market.tmdl @@ -1,6 +1,11 @@ table Fact_Direct_Retail_rx_market lineageTag: 5ce8ace0-0e58-4a5e-b8f7-6a83ec904179 + measure '00.DirectRetail.rx_market.GR%' = DIVIDE(SUM(Fact_Direct_Retail_rx_market[sales_amount]),SUM(Fact_Direct_Retail_rx_market[sales_amount_ly])) + lineageTag: b504e7d4-aec4-4265-a6fc-34d5bbefa447 + + annotation PBI_FormatHint = {"isGeneralNumber":true} + column type_name dataType: string lineageTag: ff0f5e9c-73b4-4a77-8f4a-b623e033b468 diff --git a/External All Channel.SemanticModel/definition/tables/Measure THC.tmdl b/External All Channel.SemanticModel/definition/tables/Measure THC.tmdl index 4334572..d264c06 100644 --- a/External All Channel.SemanticModel/definition/tables/Measure THC.tmdl +++ b/External All Channel.SemanticModel/definition/tables/Measure THC.tmdl @@ -41,270 +41,410 @@ table 'Measure THC' displayFolder: 00base lineageTag: ce5bcbb2-93e3-46fc-a735-e3acd1ffae62 - measure 'thc.01.CountingUnit' = - VAR _count = COUNTROWS( VALUES( Dim_Market[MARKET] ) ) = 1 + measure 'thc.01.CountingUnit' = ``` + VAR _count = [00.base.if.countMarket] + VAR _count_TA = [00.base.if.countTA] + VAR _isfilter_org = + ISFILTERED ( Dim_RC ) + || ISFILTERED ( Dim_Org ) + || ISFILTERED ( Dim_IsTarget_AIASpecial ) + || ISFILTERED ( Dim_HP_Potential_AIA ) RETURN - SWITCH( - TRUE( ), - ( ISFILTERED( Dim_RC ) || ISFILTERED( Dim_Org ) - || ISFILTERED( Dim_IsTarget_AIASpecial ) - || ISFILTERED( Dim_HP_Potential_AIA ) ) - || _count, - CALCULATE( - [thc.00.base.cu], - TREATAS( - VALUES( Dim_Market[MKT_SOURCE] ), + SWITCH ( + TRUE ( ) + , _isfilter_org && _count, + CALCULATE ( + [thc.00.base.cu] + , TREATAS ( + VALUES ( Dim_Market[MKT_SOURCE] ), Dim_RC[MKT_SOURCE] - ), - '0_Measure_CalGroup'[for_measure] = "_not_allmkt" - ), - CALCULATE( + ) + , '0_Measure_CalGroup'[for_measure] = "_not_allmkt_thc" + ) + , _count, + CALCULATE ( + [thc.00.base.cu], + '0_Measure_CalGroup'[for_measure] = "_not_allmkt_thc" + ) + , _count_TA, + CALCULATE ( + [thc.00.base.cu], + '0_Measure_CalGroup'[for_measure] = "_allmkt_TA_thc" + ) + , CALCULATE ( [thc.00.base.cu], - '0_Measure_CalGroup'[for_measure] = "_allmkt" + '0_Measure_CalGroup'[for_measure] = "_allmkt_thc" ) ) + ``` displayFolder: 01 lineageTag: fae6dc1a-e198-4e9e-a706-256d84652b48 annotation PBI_FormatHint = {"isGeneralNumber":true} - measure 'thc.01.CountingUnit.LY' = - VAR _count = COUNTROWS( VALUES( Dim_Market[MARKET] ) ) = 1 + measure 'thc.01.CountingUnit.LY' = ``` + VAR _count = [00.base.if.countMarket] + VAR _count_TA = [00.base.if.countTA] + VAR _isfilter_org = + ISFILTERED ( Dim_RC ) + || ISFILTERED ( Dim_Org ) + || ISFILTERED ( Dim_IsTarget_AIASpecial ) + || ISFILTERED ( Dim_HP_Potential_AIA ) RETURN - SWITCH( - TRUE( ), - ( ISFILTERED( Dim_RC ) || ISFILTERED( Dim_Org ) - || ISFILTERED( Dim_IsTarget_AIASpecial ) - || ISFILTERED( Dim_HP_Potential_AIA ) ) - || _count, - CALCULATE( - [thc.00.base.cu.ly], - TREATAS( - VALUES( Dim_Market[MKT_SOURCE] ), + SWITCH ( + TRUE ( ) + , _isfilter_org && _count, + CALCULATE ( + [thc.00.base.cu.ly] + , TREATAS ( + VALUES ( Dim_Market[MKT_SOURCE] ), Dim_RC[MKT_SOURCE] - ), - '0_Measure_CalGroup'[for_measure] = "_not_allmkt" - ), - CALCULATE( + ) + , '0_Measure_CalGroup'[for_measure] = "_not_allmkt_thc" + ) + , _count, + CALCULATE ( + [thc.00.base.cu.ly], + '0_Measure_CalGroup'[for_measure] = "_not_allmkt_thc" + ) + , _count_TA, + CALCULATE ( + [thc.00.base.cu.ly], + '0_Measure_CalGroup'[for_measure] = "_allmkt_TA_thc" + ) + , CALCULATE ( [thc.00.base.cu.ly], - '0_Measure_CalGroup'[for_measure] = "_allmkt" + '0_Measure_CalGroup'[for_measure] = "_allmkt_thc" ) ) + ``` displayFolder: 01 lineageTag: 325a953e-8046-4293-a191-ec545599fca0 annotation PBI_FormatHint = {"isGeneralNumber":true} - measure 'thc.01.PDOT' = - VAR _count = COUNTROWS( VALUES( Dim_Market[MARKET] ) ) = 1 + measure 'thc.01.PDOT' = ``` + VAR _count = [00.base.if.countMarket] + VAR _count_TA = [00.base.if.countTA] + VAR _isfilter_org = + ISFILTERED ( Dim_RC ) + || ISFILTERED ( Dim_Org ) + || ISFILTERED ( Dim_IsTarget_AIASpecial ) + || ISFILTERED ( Dim_HP_Potential_AIA ) RETURN - SWITCH( - TRUE( ), - ( ISFILTERED( Dim_RC ) || ISFILTERED( Dim_Org ) - || ISFILTERED( Dim_IsTarget_AIASpecial ) - || ISFILTERED( Dim_HP_Potential_AIA ) ) - || _count, - CALCULATE( - [thc.00.base.pdot], - TREATAS( - VALUES( Dim_Market[MKT_SOURCE] ), + SWITCH ( + TRUE ( ) + , _isfilter_org && _count, + CALCULATE ( + [thc.00.base.pdot] + , TREATAS ( + VALUES ( Dim_Market[MKT_SOURCE] ), Dim_RC[MKT_SOURCE] - ), - '0_Measure_CalGroup'[for_measure] = "_not_allmkt" - ), - CALCULATE( + ) + , '0_Measure_CalGroup'[for_measure] = "_not_allmkt_thc" + ) + , _count, + CALCULATE ( + [thc.00.base.pdot], + '0_Measure_CalGroup'[for_measure] = "_not_allmkt_thc" + ) + , _count_TA, + CALCULATE ( + [thc.00.base.pdot], + '0_Measure_CalGroup'[for_measure] = "_allmkt_TA_thc" + ) + , CALCULATE ( [thc.00.base.pdot], - '0_Measure_CalGroup'[for_measure] = "_allmkt" + '0_Measure_CalGroup'[for_measure] = "_allmkt_thc" ) ) + ``` displayFolder: 01 lineageTag: b949848c-c357-4d1c-aed7-51a8ef9f06fb annotation PBI_FormatHint = {"isGeneralNumber":true} - measure 'thc.01.PDOT.LY' = - VAR _count = COUNTROWS( VALUES( Dim_Market[MARKET] ) ) = 1 + measure 'thc.01.PDOT.LY' = ``` + VAR _count = [00.base.if.countMarket] + VAR _count_TA = [00.base.if.countTA] + VAR _isfilter_org = + ISFILTERED ( Dim_RC ) + || ISFILTERED ( Dim_Org ) + || ISFILTERED ( Dim_IsTarget_AIASpecial ) + || ISFILTERED ( Dim_HP_Potential_AIA ) RETURN - SWITCH( - TRUE( ), - ( ISFILTERED( Dim_RC ) || ISFILTERED( Dim_Org ) - || ISFILTERED( Dim_IsTarget_AIASpecial ) - || ISFILTERED( Dim_HP_Potential_AIA ) ) - || _count, - CALCULATE( - [thc.00.base.pdot.ly], - TREATAS( - VALUES( Dim_Market[MKT_SOURCE] ), + SWITCH ( + TRUE ( ) + , _isfilter_org && _count, + CALCULATE ( + [thc.00.base.pdot.ly] + , TREATAS ( + VALUES ( Dim_Market[MKT_SOURCE] ), Dim_RC[MKT_SOURCE] - ), - '0_Measure_CalGroup'[for_measure] = "_not_allmkt" - ), - CALCULATE( + ) + , '0_Measure_CalGroup'[for_measure] = "_not_allmkt_thc" + ) + , _count, + CALCULATE ( + [thc.00.base.pdot.ly], + '0_Measure_CalGroup'[for_measure] = "_not_allmkt_thc" + ) + , _count_TA, + CALCULATE ( + [thc.00.base.pdot.ly], + '0_Measure_CalGroup'[for_measure] = "_allmkt_TA_thc" + ) + , CALCULATE ( [thc.00.base.pdot.ly], - '0_Measure_CalGroup'[for_measure] = "_allmkt" + '0_Measure_CalGroup'[for_measure] = "_allmkt_thc" ) ) + ``` formatString: 0 displayFolder: 01 lineageTag: 138731c5-7add-4aac-bb7f-4a02d90f3028 - measure 'thc.01.Unit' = - VAR _count = COUNTROWS( VALUES( Dim_Market[MARKET] ) ) = 1 + measure 'thc.01.Unit' = ``` + VAR _count = [00.base.if.countMarket] + VAR _count_TA = [00.base.if.countTA] + VAR _isfilter_org = + ISFILTERED ( Dim_RC ) + || ISFILTERED ( Dim_Org ) + || ISFILTERED ( Dim_IsTarget_AIASpecial ) + || ISFILTERED ( Dim_HP_Potential_AIA ) RETURN - SWITCH( - TRUE( ), - ( ISFILTERED( Dim_RC ) || ISFILTERED( Dim_Org ) - || ISFILTERED( Dim_IsTarget_AIASpecial ) - || ISFILTERED( Dim_HP_Potential_AIA ) ) - || _count, - CALCULATE( - [thc.00.base.unit], - TREATAS( - VALUES( Dim_Market[MKT_SOURCE] ), + SWITCH ( + TRUE ( ) + , _isfilter_org && _count, + CALCULATE ( + [thc.00.base.unit] + , TREATAS ( + VALUES ( Dim_Market[MKT_SOURCE] ), Dim_RC[MKT_SOURCE] - ), - '0_Measure_CalGroup'[for_measure] = "_not_allmkt" - ), - CALCULATE( + ) + , '0_Measure_CalGroup'[for_measure] = "_not_allmkt_thc" + ) + , _count, + CALCULATE ( + [thc.00.base.unit], + '0_Measure_CalGroup'[for_measure] = "_not_allmkt_thc" + ) + , _count_TA, + CALCULATE ( + [thc.00.base.unit], + '0_Measure_CalGroup'[for_measure] = "_allmkt_TA_thc" + ) + , CALCULATE ( [thc.00.base.unit], - '0_Measure_CalGroup'[for_measure] = "_allmkt" + '0_Measure_CalGroup'[for_measure] = "_allmkt_thc" ) ) + ``` displayFolder: 01 lineageTag: 79229807-03a9-48cc-8f4a-80251f7406f3 annotation PBI_FormatHint = {"isGeneralNumber":true} - measure 'thc.01.Unit.LY' = - VAR _count = COUNTROWS( VALUES( Dim_Market[MARKET] ) ) = 1 + measure 'thc.01.Unit.LY' = ``` + VAR _count = [00.base.if.countMarket] + VAR _count_TA = [00.base.if.countTA] + VAR _isfilter_org = + ISFILTERED ( Dim_RC ) + || ISFILTERED ( Dim_Org ) + || ISFILTERED ( Dim_IsTarget_AIASpecial ) + || ISFILTERED ( Dim_HP_Potential_AIA ) RETURN - SWITCH( - TRUE( ), - ( ISFILTERED( Dim_RC ) || ISFILTERED( Dim_Org ) - || ISFILTERED( Dim_IsTarget_AIASpecial ) - || ISFILTERED( Dim_HP_Potential_AIA ) ) - || _count, - CALCULATE( - [thc.00.base.unit.ly], - TREATAS( - VALUES( Dim_Market[MKT_SOURCE] ), + SWITCH ( + TRUE ( ) + , _isfilter_org && _count, + CALCULATE ( + [thc.00.base.unit.ly] + , TREATAS ( + VALUES ( Dim_Market[MKT_SOURCE] ), Dim_RC[MKT_SOURCE] - ), - '0_Measure_CalGroup'[for_measure] = "_not_allmkt" - ), - CALCULATE( + ) + , '0_Measure_CalGroup'[for_measure] = "_not_allmkt_thc" + ) + , _count, + CALCULATE ( + [thc.00.base.unit.ly], + '0_Measure_CalGroup'[for_measure] = "_not_allmkt_thc" + ) + , _count_TA, + CALCULATE ( + [thc.00.base.unit.ly], + '0_Measure_CalGroup'[for_measure] = "_allmkt_TA_thc" + ) + , CALCULATE ( [thc.00.base.unit.ly], - '0_Measure_CalGroup'[for_measure] = "_allmkt" + '0_Measure_CalGroup'[for_measure] = "_allmkt_thc" ) ) + ``` displayFolder: 01 lineageTag: aed627e5-b4fc-44e8-98a3-965b6ddd0dc9 annotation PBI_FormatHint = {"isGeneralNumber":true} - measure 'thc.01.Value' = - VAR _count = COUNTROWS( VALUES( Dim_Market[MARKET] ) ) = 1 + measure 'thc.01.Value' = ``` + VAR _count = [00.base.if.countMarket] + VAR _count_TA = [00.base.if.countTA] + VAR _isfilter_org = + ISFILTERED ( Dim_RC ) + || ISFILTERED ( Dim_Org ) + || ISFILTERED ( Dim_IsTarget_AIASpecial ) + || ISFILTERED ( Dim_HP_Potential_AIA ) RETURN - SWITCH( - TRUE( ), - ( ISFILTERED( Dim_RC ) || ISFILTERED( Dim_Org ) - || ISFILTERED( Dim_IsTarget_AIASpecial ) - || ISFILTERED( Dim_HP_Potential_AIA ) ) - || _count, - CALCULATE( - [thc.00.base.value], - TREATAS( - VALUES( Dim_Market[MKT_SOURCE] ), + SWITCH ( + TRUE ( ) + , _isfilter_org && _count, + CALCULATE ( + [thc.00.base.value] + , TREATAS ( + VALUES ( Dim_Market[MKT_SOURCE] ), Dim_RC[MKT_SOURCE] - ), - '0_Measure_CalGroup'[for_measure] = "_not_allmkt" - ), - CALCULATE( + ) + , '0_Measure_CalGroup'[for_measure] = "_not_allmkt_thc" + ) + , _count, + CALCULATE ( + [thc.00.base.value], + '0_Measure_CalGroup'[for_measure] = "_not_allmkt_thc" + ) + , _count_TA, + CALCULATE ( + [thc.00.base.value], + '0_Measure_CalGroup'[for_measure] = "_allmkt_TA_thc" + ) + , CALCULATE ( [thc.00.base.value], - '0_Measure_CalGroup'[for_measure] = "_allmkt" + '0_Measure_CalGroup'[for_measure] = "_allmkt_thc" ) ) + ``` displayFolder: 01 lineageTag: 478be13e-5a43-401f-9ad2-45e0a01ec23a annotation PBI_FormatHint = {"isGeneralNumber":true} - measure 'thc.01.Value.LY' = - VAR _count = COUNTROWS( VALUES( Dim_Market[MARKET] ) ) = 1 + measure 'thc.01.Value.LY' = ``` + VAR _count = [00.base.if.countMarket] + VAR _count_TA = [00.base.if.countTA] + VAR _isfilter_org = + ISFILTERED ( Dim_RC ) + || ISFILTERED ( Dim_Org ) + || ISFILTERED ( Dim_IsTarget_AIASpecial ) + || ISFILTERED ( Dim_HP_Potential_AIA ) RETURN - SWITCH( - TRUE( ), - ( ISFILTERED( Dim_RC ) || ISFILTERED( Dim_Org ) - || ISFILTERED( Dim_IsTarget_AIASpecial ) - || ISFILTERED( Dim_HP_Potential_AIA ) ) - || _count, - CALCULATE( - [thc.00.base.value.ly], - TREATAS( - VALUES( Dim_Market[MKT_SOURCE] ), + SWITCH ( + TRUE ( ) + , _isfilter_org && _count, + CALCULATE ( + [thc.00.base.value.ly] + , TREATAS ( + VALUES ( Dim_Market[MKT_SOURCE] ), Dim_RC[MKT_SOURCE] - ), - '0_Measure_CalGroup'[for_measure] = "_not_allmkt" - ), - CALCULATE( + ) + , '0_Measure_CalGroup'[for_measure] = "_not_allmkt_thc" + ) + , _count, + CALCULATE ( + [thc.00.base.value.ly], + '0_Measure_CalGroup'[for_measure] = "_not_allmkt_thc" + ) + , _count_TA, + CALCULATE ( + [thc.00.base.value.ly], + '0_Measure_CalGroup'[for_measure] = "_allmkt_TA_thc" + ) + , CALCULATE ( [thc.00.base.value.ly], - '0_Measure_CalGroup'[for_measure] = "_allmkt" + '0_Measure_CalGroup'[for_measure] = "_allmkt_thc" ) ) + ``` displayFolder: 01 lineageTag: e9d1d5b5-35bc-4ff9-9d2b-ace4c17f73fa annotation PBI_FormatHint = {"isGeneralNumber":true} - measure 'thc.01.Prescription' = - VAR _count = COUNTROWS( VALUES( Dim_Market[MARKET] ) ) = 1 + measure 'thc.01.Prescription' = ``` + VAR _count = [00.base.if.countMarket] + VAR _count_TA = [00.base.if.countTA] + VAR _isfilter_org = + ISFILTERED ( Dim_RC ) + || ISFILTERED ( Dim_Org ) + || ISFILTERED ( Dim_IsTarget_AIASpecial ) + || ISFILTERED ( Dim_HP_Potential_AIA ) RETURN - SWITCH( - TRUE( ), - ( ISFILTERED( Dim_RC ) || ISFILTERED( Dim_Org ) - || ISFILTERED( Dim_IsTarget_AIASpecial ) - || ISFILTERED( Dim_HP_Potential_AIA ) ) - || _count, - CALCULATE( - [thc.00.base.prescription], - TREATAS( - VALUES( Dim_Market[MKT_SOURCE] ), + SWITCH ( + TRUE ( ) + , _isfilter_org && _count, + CALCULATE ( + [thc.00.base.prescription] + , TREATAS ( + VALUES ( Dim_Market[MKT_SOURCE] ), Dim_RC[MKT_SOURCE] - ), - '0_Measure_CalGroup'[for_measure] = "_not_allmkt" - ), - CALCULATE( + ) + , '0_Measure_CalGroup'[for_measure] = "_not_allmkt_thc" + ) + , _count, + CALCULATE ( + [thc.00.base.prescription], + '0_Measure_CalGroup'[for_measure] = "_not_allmkt_thc" + ) + , _count_TA, + CALCULATE ( + [thc.00.base.prescription], + '0_Measure_CalGroup'[for_measure] = "_allmkt_TA_thc" + ) + , CALCULATE ( [thc.00.base.prescription], - '0_Measure_CalGroup'[for_measure] = "_allmkt" + '0_Measure_CalGroup'[for_measure] = "_allmkt_thc" ) ) + ``` displayFolder: 01 lineageTag: 31501cb4-455c-4ae9-86b8-c8743f71b940 annotation PBI_FormatHint = {"isGeneralNumber":true} - measure 'thc.01.Prescription.LY' = - VAR _count = COUNTROWS( VALUES( Dim_Market[MARKET] ) ) = 1 + measure 'thc.01.Prescription.LY' = ``` + VAR _count = [00.base.if.countMarket] + VAR _count_TA = [00.base.if.countTA] + VAR _isfilter_org = + ISFILTERED ( Dim_RC ) + || ISFILTERED ( Dim_Org ) + || ISFILTERED ( Dim_IsTarget_AIASpecial ) + || ISFILTERED ( Dim_HP_Potential_AIA ) RETURN - SWITCH( - TRUE( ), - ( ISFILTERED( Dim_RC ) || ISFILTERED( Dim_Org ) - || ISFILTERED( Dim_IsTarget_AIASpecial ) - || ISFILTERED( Dim_HP_Potential_AIA ) ) - || _count, - CALCULATE( - [thc.00.base.prescription.ly], - TREATAS( - VALUES( Dim_Market[MKT_SOURCE] ), + SWITCH ( + TRUE ( ) + , _isfilter_org && _count, + CALCULATE ( + [thc.00.base.prescription.ly] + , TREATAS ( + VALUES ( Dim_Market[MKT_SOURCE] ), Dim_RC[MKT_SOURCE] - ), - '0_Measure_CalGroup'[for_measure] = "_not_allmkt" - ), - CALCULATE( + ) + , '0_Measure_CalGroup'[for_measure] = "_not_allmkt_thc" + ) + , _count, + CALCULATE ( + [thc.00.base.prescription.ly], + '0_Measure_CalGroup'[for_measure] = "_not_allmkt_thc" + ) + , _count_TA, + CALCULATE ( + [thc.00.base.prescription.ly], + '0_Measure_CalGroup'[for_measure] = "_allmkt_TA_thc" + ) + , CALCULATE ( [thc.00.base.prescription.ly], - '0_Measure_CalGroup'[for_measure] = "_allmkt" + '0_Measure_CalGroup'[for_measure] = "_allmkt_thc" ) ) + ``` displayFolder: 01 lineageTag: 1e0378c5-f23d-4512-a62c-c88e2ec7badd diff --git a/External All Channel.SemanticModel/definition/tables/Measure.tmdl b/External All Channel.SemanticModel/definition/tables/Measure.tmdl index 56e5dbd..19292a9 100644 --- a/External All Channel.SemanticModel/definition/tables/Measure.tmdl +++ b/External All Channel.SemanticModel/definition/tables/Measure.tmdl @@ -3667,6 +3667,18 @@ table Measure Fact_EC[TA_SOURCE] ) ), + + -- total hang + DS = "EC" && NOT ISFILTERED ( Dim_MarketTA[TA] ) + && NOT ISFILTERED ( Dim_Market[MARKET] ) + && NOT ISFILTERED ( Dim_PackInfo ) + && NOT ISFILTERED ( Dim_GeoGroup ) + && NOT ISFILTERED ( Dim_Org ), [03.EC.Direct.Total2.1], + DS = "EC" && ISFILTERED ( Dim_MarketTA[TA] ) + && NOT ISFILTERED ( Dim_Market[MARKET] ) + && NOT ISFILTERED ( Dim_PackInfo ) + && NOT ISFILTERED ( Dim_GeoGroup ) + && NOT ISFILTERED ( Dim_Org ), [03.EC.Direct.Total2.1.TA], [External.Sales.MTH.MID] ) /*---------------------------------KPI描述------------------------------------ @@ -3838,6 +3850,18 @@ table Measure Fact_EC[TA_SOURCE] ) ), + + -- total hang + DS = "EC" && NOT ISFILTERED ( Dim_MarketTA[TA] ) + && NOT ISFILTERED ( Dim_Market[MARKET] ) + && NOT ISFILTERED ( Dim_PackInfo ) + && NOT ISFILTERED ( Dim_GeoGroup ) + && NOT ISFILTERED ( Dim_Org ), [03.EC.Direct.Total2.1.LY], + DS = "EC" && ISFILTERED ( Dim_MarketTA[TA] ) + && NOT ISFILTERED ( Dim_Market[MARKET] ) + && NOT ISFILTERED ( Dim_PackInfo ) + && NOT ISFILTERED ( Dim_GeoGroup ) + && NOT ISFILTERED ( Dim_Org ), [03.EC.Direct.Total2.1.TA.LY], [External.Sales.LY.MTH.MID] ) RETURN @@ -4002,7 +4026,7 @@ table Measure annotation PBI_FormatHint = {"isGeneralNumber":true} - measure 'External.Sales.KPI.Market2.1' = ``` + measure 'External.Sales.KPI.Market2.1' = VAR DS = [00.SOURCENAME] VAR DW_TYPE = SELECTEDVALUE ( Dim_Unit[DW_TYPE] ) VAR _DW = SELECTEDVALUE ( Dim_Unit[DW] ) @@ -4010,14 +4034,26 @@ table Measure SWITCH ( TRUE ( ), //Retail - DS = "Retail" && DW_TYPE = "Value" - && NOT ISFILTERED ( Dim_Market ) + DS = "Retail" && DW_TYPE = "Value" && NOT ISFILTERED ( Dim_Market ) && NOT ISFILTERED ( Dim_MarketTA ) && NOT ISFILTERED ( Dim_BrandDefaultMKT ) && NOT ISFILTERED ( Dim_PackInfo ) && NOT ISFILTERED ( Dim_GeoGroup ) && NOT ISFILTERED ( Dim_Org ), CALCULATE ( Switch_Unit_Value ( _DW, [01.DirectRetail.rx_market.Sales.Total] ) ), + //EC + DS = "EC" && DW_TYPE = "Value" && NOT ISFILTERED ( Dim_Market ) + && NOT ISFILTERED ( Dim_MarketTA ) + && NOT ISFILTERED ( Dim_BrandDefaultMKT ) + && NOT ISFILTERED ( Dim_PackInfo ) + && NOT ISFILTERED ( Dim_GeoGroup ) + && NOT ISFILTERED ( Dim_Org ), [03.EC.Direct.Total2.1], + DS = "EC" && DW_TYPE = "Value" && NOT ISFILTERED ( Dim_Market ) + && ISFILTERED ( Dim_MarketTA ) + && NOT ISFILTERED ( Dim_BrandDefaultMKT ) + && NOT ISFILTERED ( Dim_PackInfo ) + && NOT ISFILTERED ( Dim_GeoGroup ) + && NOT ISFILTERED ( Dim_Org ), [03.EC.Direct.Total2.1.TA], CALCULATE ( [External.Sales.KPI.Market.MID], ALL ( Dim_PackInfo ), @@ -4038,13 +4074,12 @@ table Measure ------修改时间: ------修改内容: ---------------------------------------------------------------------------- - ``` displayFolder: 00Base\02_2.1\04 lineageTag: 6eefa808-4f5e-440e-be8b-9be762eaea64 annotation PBI_FormatHint = {"isGeneralNumber":true} - measure 'External.Sales.LY.KPI.Market2.1' = ``` + measure 'External.Sales.LY.KPI.Market2.1' = VAR DS = [00.SOURCENAME] VAR DW_TYPE = SELECTEDVALUE ( Dim_Unit[DW_TYPE] ) VAR _DW = SELECTEDVALUE ( Dim_Unit[DW] ) @@ -4052,14 +4087,26 @@ table Measure SWITCH ( TRUE ( ), //Retail - DS = "Retail" && DW_TYPE = "Value" - && NOT ISFILTERED ( Dim_Market ) + DS = "Retail" && DW_TYPE = "Value" && NOT ISFILTERED ( Dim_Market ) && NOT ISFILTERED ( Dim_MarketTA ) && NOT ISFILTERED ( Dim_BrandDefaultMKT ) && NOT ISFILTERED ( Dim_PackInfo ) && NOT ISFILTERED ( Dim_GeoGroup ) && NOT ISFILTERED ( Dim_Org ), CALCULATE ( Switch_Unit_Value ( _DW, [01.DirectRetail.rx_market.Sales.Total.LY] ) ), + //EC + DS = "EC" && DW_TYPE = "Value" && NOT ISFILTERED ( Dim_Market ) + && NOT ISFILTERED ( Dim_MarketTA ) + && NOT ISFILTERED ( Dim_BrandDefaultMKT ) + && NOT ISFILTERED ( Dim_PackInfo ) + && NOT ISFILTERED ( Dim_GeoGroup ) + && NOT ISFILTERED ( Dim_Org ), [03.EC.Direct.Total2.1.LY], + DS = "EC" && DW_TYPE = "Value" && NOT ISFILTERED ( Dim_Market ) + && ISFILTERED ( Dim_MarketTA ) + && NOT ISFILTERED ( Dim_BrandDefaultMKT ) + && NOT ISFILTERED ( Dim_PackInfo ) + && NOT ISFILTERED ( Dim_GeoGroup ) + && NOT ISFILTERED ( Dim_Org ), [03.EC.Direct.Total2.1.TA.LY], CALCULATE ( [External.Sales.LY.KPI.Market.MID], ALL ( Dim_PackInfo ), @@ -4080,7 +4127,6 @@ table Measure ------修改时间: ------修改内容: ---------------------------------------------------------------------------- - ``` displayFolder: 00Base\02_2.1\04 lineageTag: e2fab734-0f98-4ebe-9c9b-1c1f39796178 @@ -6367,28 +6413,20 @@ table Measure lineageTag: 0802fe57-c045-454a-b7e7-43c00140fdcf measure 'EC.Value.MTH' = - - // VAR YM = MAX(Dim_Calendar[YYYYMM]) - // RETURN - CALCULATE(SUM(Fact_EC[KPI_VAL]), - Fact_EC[KPI_NAME] = "top_corp_sales" - // Fact_EC[YYYYMM] = YM, - // REMOVEFILTERS ( Dim_Calendar ) - ) + CALCULATE ( + SUM ( Fact_EC[KPI_VAL] ), + Fact_EC[KPI_NAME] = "top_corp_sales" + ) displayFolder: OLD\直取KPI lineageTag: f4d949b0-a689-4ffa-a17d-ea7a0424ab6e annotation PBI_FormatHint = {"isGeneralNumber":true} measure 'EC.Value.LY.MTH' = - - // VAR YM = MAX(Dim_Calendar[YYYYMM]) - // RETURN - CALCULATE(SUM(Fact_EC[KPI_VAL_LY]), - Fact_EC[KPI_NAME] = "top_corp_sales" - // Fact_EC[YYYYMM] = YM, - // REMOVEFILTERS ( Dim_Calendar ) - ) + CALCULATE ( + SUM ( Fact_EC[KPI_VAL_LY] ), + Fact_EC[KPI_NAME] = "top_corp_sales" + ) displayFolder: OLD\直取KPI lineageTag: 38455814-4547-4d2c-8f5c-39e1d0648b9f @@ -9697,29 +9735,53 @@ table Measure annotation PBI_FormatHint = {"isGeneralNumber":true} - measure 'External.1.1.Text' = ``` - - VAR A = {"THC 14省数据,仅包含CV、DM、RE三个治疗领域",""} + measure 'External.1.1.Text' = + VAR A = { "THC 14省数据,仅包含CV、DM、RE三个治疗领域", "" } VAR B = { "CHC渠道仅包含CV+DM+GI+RE", "" } - VAR R = {"Retail渠道", "DM=NIAD", "CV不含中成药及PCSK9","GI=GI Oral(OTC+Rx)",""} - VAR E = {"EC渠道", "DM=NIAD","CV不含中成药及PCSK9","GI=GI Oral (OTC+Rx)"} - VAR C = {""} - RETURN - SWITCH(TRUE(), - ISFILTERED(Dim_DataSource) && "EC" IN VALUES(Dim_DataSource[SOURCENAME]),CONCATENATEX(E,[Value]," - "), - ISFILTERED(Dim_DataSource) && "THC" IN VALUES(Dim_DataSource[SOURCENAME]),CONCATENATEX(A,[Value]," - "), - ISFILTERED(Dim_DataSource) && "CHC" IN VALUES(Dim_DataSource[SOURCENAME]),CONCATENATEX(B,[Value]," - "), - ISFILTERED(Dim_DataSource) && "Retail" IN VALUES(Dim_DataSource[SOURCENAME]),CONCATENATEX(R,[Value]," - "), - ISFILTERED(Dim_DataSource) && "CHPA" IN VALUES(Dim_DataSource[SOURCENAME]),CONCATENATEX(C,[Value]," - "), - ISFILTERED(Dim_DataSource) && "county" IN VALUES(Dim_DataSource[SOURCENAME]),CONCATENATEX(C,[Value]," - ") - ) - ``` + VAR R = + { + "Retail渠道", + "DM = NIAD Mkt", + "CV = HTN Mkt + Statin Mkt(incl FDC)", + "RE = inhaled maintenance market + anti-leukotrienes (only NFC: ABC) + Budesonide Mkt + theophylline", + "GI = PPI Oral Mkt" + } + VAR E = { + "EC渠道", + "DM = NIAD Mkt", + "CV = HTN Mkt + Statin Mkt(incl FDC)", + "RE = inhaled maintenance market + anti-leukotrienes (only NFC: ABC) + Budesonide Mkt + theophylline", + "GI = PPI Oral Mkt" + } + VAR C = { "" } + RETURN + SWITCH ( + TRUE ( ), + ISFILTERED ( Dim_DataSource ) + && "EC" IN VALUES ( Dim_DataSource[SOURCENAME] ), + CONCATENATEX ( E, [Value], " + " ), + ISFILTERED ( Dim_DataSource ) + && "THC" IN VALUES ( Dim_DataSource[SOURCENAME] ), + CONCATENATEX ( A, [Value], " + " ), + ISFILTERED ( Dim_DataSource ) + && "CHC" IN VALUES ( Dim_DataSource[SOURCENAME] ), + CONCATENATEX ( B, [Value], " + " ), + ISFILTERED ( Dim_DataSource ) + && "Retail" IN VALUES ( Dim_DataSource[SOURCENAME] ), + CONCATENATEX ( R, [Value], " + " ), + ISFILTERED ( Dim_DataSource ) + && "CHPA" IN VALUES ( Dim_DataSource[SOURCENAME] ), + CONCATENATEX ( C, [Value], " + " ), + ISFILTERED ( Dim_DataSource ) + && "county" IN VALUES ( Dim_DataSource[SOURCENAME] ), + CONCATENATEX ( C, [Value], " + " ) + ) displayFolder: OLD\Others lineageTag: a681d2dd-4454-4876-8368-073463d25b0c @@ -17715,6 +17777,9 @@ table Measure KEEPFILTERS ( Fact_Direct_Retail_national_corp_rank[corp_desc] <> "阿斯利康-去除非零售推广产品" + ), + KEEPFILTERS ( + Fact_Direct_Retail_national_corp_rank[ta] = "Retail Total" ) ), CALCULATE ( @@ -17732,7 +17797,9 @@ table Measure IF ( ISFILTERED ( Dim_Corp ), CALCULATE ( - SUM ( Fact_Direct_Retail_national_corp_rank[sales_amount_ly] ), + SUM ( + Fact_Direct_Retail_national_corp_rank[sales_amount_ly] + ), KEEPFILTERS ( Fact_Direct_Retail_national_corp_rank[corp_desc] <> "全国 Rx(化学药+生物制品)" @@ -17740,10 +17807,15 @@ table Measure KEEPFILTERS ( Fact_Direct_Retail_national_corp_rank[corp_desc] <> "阿斯利康-去除非零售推广产品" + ), + KEEPFILTERS ( + Fact_Direct_Retail_national_corp_rank[ta] = "Retail Total" ) ), CALCULATE ( - SUM ( Fact_Direct_Retail_national_corp_rank[sales_amount_ly] ), + SUM ( + Fact_Direct_Retail_national_corp_rank[sales_amount_ly] + ), KEEPFILTERS ( Fact_Direct_Retail_national_corp_rank[corp_desc] = "全国 Rx(化学药+生物制品)" @@ -17753,6 +17825,232 @@ table Measure displayFolder: 00Base\02_2.1\00 lineageTag: d0123eb2-7894-4039-aa5f-972a1605f25d + measure '03.EC.Direct.Total2.1' = + SWITCH ( + TRUE ( ), + NOT ISFILTERED ( Dim_Platform ) && NOT ISFILTERED ( Dim_StoreType ), + CALCULATE ( + [EC.Sales.MTH], + Fact_EC[TA] = "", + Fact_EC[TOTAL_FLAG] = "y", + Fact_EC[STORE_TYPE] = "自营+三方", + Fact_EC[PLATFORM] = "B2C全平台(京东+天猫)", + REMOVEFILTERS ( Dim_Corp ), + REMOVEFILTERS ( Fact_EC[CORP_COD] ), + KEEPFILTERS ( Fact_EC[CORP_COD] = "" ) + ), + NOT ISFILTERED ( Dim_Platform ), + CALCULATE ( + [EC.Sales.MTH], + Fact_EC[TA] = "", + Fact_EC[TOTAL_FLAG] = "y", + Fact_EC[PLATFORM] = "B2C全平台(京东+天猫)", + REMOVEFILTERS ( Dim_Corp ), + REMOVEFILTERS ( Fact_EC[CORP_COD] ), + KEEPFILTERS ( Fact_EC[CORP_COD] = "" ) + ), + NOT ISFILTERED ( Dim_StoreType ), + CALCULATE ( + [EC.Sales.MTH], + Fact_EC[TA] = "", + Fact_EC[TOTAL_FLAG] = "y", + Fact_EC[STORE_TYPE] = "自营+三方", + REMOVEFILTERS ( Dim_Corp ), + REMOVEFILTERS ( Fact_EC[CORP_COD] ), + KEEPFILTERS ( Fact_EC[CORP_COD] = "" ) + ), + CALCULATE ( + [EC.Sales.MTH], + Fact_EC[TOTAL_FLAG] = "y", + Fact_EC[TA] = "", + REMOVEFILTERS ( Dim_Corp ), + REMOVEFILTERS ( Fact_EC[CORP_COD] ), + KEEPFILTERS ( Fact_EC[CORP_COD] = "" ) + ) + ) + displayFolder: 00Base\02_2.1\03 + lineageTag: a9c22ee1-7a2d-4e32-8172-b96f465ba30d + + annotation PBI_FormatHint = {"isGeneralNumber":true} + + measure '03.EC.Direct.Total2.1.TA' = + SWITCH ( + TRUE ( ), + --选择其他TA+公司时的金额 + NOT ISFILTERED ( Dim_Platform ) && NOT ISFILTERED ( Dim_StoreType ), + CALCULATE ( + [EC.Sales.MTH], + Fact_EC[STORE_TYPE] = "自营+三方", + Fact_EC[PLATFORM] = "B2C全平台(京东+天猫)", + //ALL(Dim_PackInfo), + Fact_EC[TOTAL_FLAG] = "y", + TREATAS ( + VALUES ( Dim_MarketTA[TA_SOURCE] ), + Fact_EC[TA_SOURCE] + ), + REMOVEFILTERS ( Dim_Corp ), + REMOVEFILTERS ( Fact_EC[CORP_COD] ), + KEEPFILTERS ( Fact_EC[CORP_COD] = "" ) + ), + NOT ISFILTERED ( Dim_Platform ), + CALCULATE ( + [EC.Sales.MTH], + Fact_EC[TOTAL_FLAG] = "y", + Fact_EC[PLATFORM] = "B2C全平台(京东+天猫)", + //ALL(Dim_PackInfo), + TREATAS ( + VALUES ( Dim_MarketTA[TA_SOURCE] ), + Fact_EC[TA_SOURCE] + ), + REMOVEFILTERS ( Dim_Corp ), + REMOVEFILTERS ( Fact_EC[CORP_COD] ), + KEEPFILTERS ( Fact_EC[CORP_COD] = "" ) + ), + NOT ISFILTERED ( Dim_StoreType ), + CALCULATE ( + [EC.Sales.MTH], + Fact_EC[STORE_TYPE] = "自营+三方", + Fact_EC[TOTAL_FLAG] = "y", + //ALL(Dim_PackInfo), + TREATAS ( + VALUES ( Dim_MarketTA[TA_SOURCE] ), + Fact_EC[TA_SOURCE] + ), + REMOVEFILTERS ( Dim_Corp ), + REMOVEFILTERS ( Fact_EC[CORP_COD] ), + KEEPFILTERS ( Fact_EC[CORP_COD] = "" ) + ), + CALCULATE ( + [EC.Sales.MTH], + Fact_EC[TOTAL_FLAG] = "y", + //ALL(Dim_PackInfo), + TREATAS ( + VALUES ( Dim_MarketTA[TA_SOURCE] ), + Fact_EC[TA_SOURCE] + ), + REMOVEFILTERS ( Dim_Corp ), + REMOVEFILTERS ( Fact_EC[CORP_COD] ), + KEEPFILTERS ( Fact_EC[CORP_COD] = "" ) + ) + ) + displayFolder: 00Base\02_2.1\03 + lineageTag: d58e1777-8ba9-43b8-8f12-93b166de00cf + + annotation PBI_FormatHint = {"isGeneralNumber":true} + + measure '03.EC.Direct.Total2.1.LY' = + SWITCH ( + TRUE ( ), + NOT ISFILTERED ( Dim_Platform ) && NOT ISFILTERED ( Dim_StoreType ), + CALCULATE ( + [EC.Sales.LY.MTH], + Fact_EC[TA] = "", + Fact_EC[TOTAL_FLAG] = "y", + Fact_EC[STORE_TYPE] = "自营+三方", + Fact_EC[PLATFORM] = "B2C全平台(京东+天猫)", + REMOVEFILTERS ( Dim_Corp ), + REMOVEFILTERS ( Fact_EC[CORP_COD] ), + KEEPFILTERS ( Fact_EC[CORP_COD] = "" ) + ), + NOT ISFILTERED ( Dim_Platform ), + CALCULATE ( + [EC.Sales.LY.MTH], + Fact_EC[TA] = "", + Fact_EC[TOTAL_FLAG] = "y", + Fact_EC[PLATFORM] = "B2C全平台(京东+天猫)", + REMOVEFILTERS ( Dim_Corp ), + REMOVEFILTERS ( Fact_EC[CORP_COD] ), + KEEPFILTERS ( Fact_EC[CORP_COD] = "" ) + ), + NOT ISFILTERED ( Dim_StoreType ), + CALCULATE ( + [EC.Sales.LY.MTH], + Fact_EC[TA] = "", + Fact_EC[TOTAL_FLAG] = "y", + Fact_EC[STORE_TYPE] = "自营+三方", + REMOVEFILTERS ( Dim_Corp ), + REMOVEFILTERS ( Fact_EC[CORP_COD] ), + KEEPFILTERS ( Fact_EC[CORP_COD] = "" ) + ), + CALCULATE ( + [EC.Sales.LY.MTH], + Fact_EC[TOTAL_FLAG] = "y", + Fact_EC[TA] = "", + REMOVEFILTERS ( Dim_Corp ), + REMOVEFILTERS ( Fact_EC[CORP_COD] ), + KEEPFILTERS ( Fact_EC[CORP_COD] = "" ) + ) + ) + displayFolder: 00Base\02_2.1\03 + lineageTag: 28b01aec-add1-4ca2-bdaf-734964a67fee + + annotation PBI_FormatHint = {"isGeneralNumber":true} + + measure '03.EC.Direct.Total2.1.TA.LY' = + SWITCH ( + TRUE ( ), + --选择其他TA+公司时的金额 + NOT ISFILTERED ( Dim_Platform ) && NOT ISFILTERED ( Dim_StoreType ), + CALCULATE ( + [EC.Sales.LY.MTH], + Fact_EC[STORE_TYPE] = "自营+三方", + Fact_EC[PLATFORM] = "B2C全平台(京东+天猫)", + //ALL(Dim_PackInfo), + Fact_EC[TOTAL_FLAG] = "y", + TREATAS ( + VALUES ( Dim_MarketTA[TA_SOURCE] ), + Fact_EC[TA_SOURCE] + ), + REMOVEFILTERS ( Dim_Corp ), + REMOVEFILTERS ( Fact_EC[CORP_COD] ), + KEEPFILTERS ( Fact_EC[CORP_COD] = "" ) + ), + NOT ISFILTERED ( Dim_Platform ), + CALCULATE ( + [EC.Sales.LY.MTH], + Fact_EC[TOTAL_FLAG] = "y", + Fact_EC[PLATFORM] = "B2C全平台(京东+天猫)", + //ALL(Dim_PackInfo), + TREATAS ( + VALUES ( Dim_MarketTA[TA_SOURCE] ), + Fact_EC[TA_SOURCE] + ), + REMOVEFILTERS ( Dim_Corp ), + REMOVEFILTERS ( Fact_EC[CORP_COD] ), + KEEPFILTERS ( Fact_EC[CORP_COD] = "" ) + ), + NOT ISFILTERED ( Dim_StoreType ), + CALCULATE ( + [EC.Sales.LY.MTH], + Fact_EC[STORE_TYPE] = "自营+三方", + Fact_EC[TOTAL_FLAG] = "y", + //ALL(Dim_PackInfo), + TREATAS ( + VALUES ( Dim_MarketTA[TA_SOURCE] ), + Fact_EC[TA_SOURCE] + ), + REMOVEFILTERS ( Dim_Corp ), + REMOVEFILTERS ( Fact_EC[CORP_COD] ), + KEEPFILTERS ( Fact_EC[CORP_COD] = "" ) + ), + CALCULATE ( + [EC.Sales.LY.MTH], + Fact_EC[TOTAL_FLAG] = "y", + //ALL(Dim_PackInfo), + TREATAS ( + VALUES ( Dim_MarketTA[TA_SOURCE] ), + Fact_EC[TA_SOURCE] + ), + REMOVEFILTERS ( Dim_Corp ), + REMOVEFILTERS ( Fact_EC[CORP_COD] ), + KEEPFILTERS ( Fact_EC[CORP_COD] = "" ) + ) + ) + displayFolder: 00Base\02_2.1\03 + lineageTag: 01a7cac3-a263-4625-ae48-252e633f2327 + + annotation PBI_FormatHint = {"isGeneralNumber":true} + column CreatedBy lineageTag: 74ce729e-edbc-46d1-8445-3279ab9bf147 summarizeBy: none diff --git a/External All Channel.SemanticModel/diagramLayout.json b/External All Channel.SemanticModel/diagramLayout.json index e46b2ab..a6abfaf 100644 --- a/External All Channel.SemanticModel/diagramLayout.json +++ b/External All Channel.SemanticModel/diagramLayout.json @@ -917,14 +917,14 @@ { "ordinal": 1, "scrollPosition": { - "x": 317.51723258276991, - "y": 0 + "x": 0, + "y": 340.41130900163614 }, "nodes": [ { "location": { - "x": 979.576999532921, - "y": 646.64676171863289 + "x": 917.47087298796089, + "y": 848.41143391195851 }, "nodeIndex": "Fact_Sales", "nodeLineageTag": "c6bdcb23-6f0c-4bd2-98b6-b3fd012d5ba6", @@ -936,8 +936,8 @@ }, { "location": { - "x": 1906.3210066628897, - "y": 1246.72565578403 + "x": 992.972397016613, + "y": 0.71888007215625294 }, "nodeIndex": "Dim_Calendar", "nodeLineageTag": "b54e7974-59f5-4b19-b987-f439b32f640d", @@ -949,8 +949,8 @@ }, { "location": { - "x": 1915.4187327808077, - "y": 859.29846300190957 + "x": 125.25371986182506, + "y": 134.52627835724525 }, "nodeIndex": "Dim_PackInfo", "nodeLineageTag": "f420be02-8dc1-467f-8e0e-a8231e8b72e6", @@ -962,8 +962,8 @@ }, { "location": { - "x": 1990.7303583566427, - "y": 438.92622060788119 + "x": 1497.2134150736797, + "y": 904.67580582792618 }, "nodeIndex": "Dim_Geo", "nodeLineageTag": "aeec8d5d-c86c-4957-8592-3a153f08c3a8", @@ -975,8 +975,8 @@ }, { "location": { - "x": 322.98204572968882, - "y": 1536.7472276941112 + "x": 124.05744744508263, + "y": 636.37511639394631 }, "nodeIndex": "Dim_HPFlag", "nodeLineageTag": "e281e266-d03f-45f7-9f2f-9ff74984c501", @@ -988,8 +988,8 @@ }, { "location": { - "x": 50.775746017373876, - "y": 1344.0137728809639 + "x": 565.822991538077, + "y": 1304.8959024192006 }, "nodeIndex": "Dim_InsSalesType", "nodeLineageTag": "a283b30f-6bf9-4841-8c06-8b4b27572f51", @@ -1001,8 +1001,8 @@ }, { "location": { - "x": 1113.72209672507, - "y": 1540.7222839680062 + "x": 1479.1142923211237, + "y": 385.047672348124 }, "nodeIndex": "Dim_PlatformMID", "nodeLineageTag": "1cd2fd49-62d1-49ca-ac98-218be929baae", @@ -1014,8 +1014,8 @@ }, { "location": { - "x": 27.321305944340907, - "y": 1149.8742890964304 + "x": 792.47401743819876, + "y": 1557.9157437967415 }, "nodeIndex": "Dim_StoreTypeMID", "nodeLineageTag": "d6ca2686-554d-4d78-a475-7787f1325ec0", @@ -1027,8 +1027,8 @@ }, { "location": { - "x": 603.86701164687861, - "y": 249.61071134802015 + "x": 1115.6386217064658, + "y": 1435.3968068005227 }, "nodeIndex": "Dim_Dept", "nodeLineageTag": "d4fade06-0fa3-4c36-ac23-2abf52ad9f5e", @@ -1040,8 +1040,8 @@ }, { "location": { - "x": 1607.9878004661573, - "y": 1230.5724111960074 + "x": 1405.5200292316745, + "y": 1263.9922284472241 }, "nodeIndex": "Dim_PrescriptionSource", "nodeLineageTag": "953c3d2a-0eeb-4153-8348-907f82bf6413", @@ -1053,8 +1053,8 @@ }, { "location": { - "x": 651.87349831302174, - "y": 1549.3231963128044 + "x": 1596.6955272022251, + "y": 696.941955956755 }, "nodeIndex": "Dim_Reimburse", "nodeLineageTag": "12b7ce8a-0cd1-49b2-8dc4-bdc0b7ff9a7d", @@ -1066,8 +1066,8 @@ }, { "location": { - "x": 17.442081128519106, - "y": 743.82783961746156 + "x": 1207.3658062802604, + "y": 1014.604719199587 }, "nodeIndex": "Dim_ReimburseType", "nodeLineageTag": "d90fa524-ebdf-41f4-a2c3-b79657f2e782", @@ -1079,8 +1079,8 @@ }, { "location": { - "x": 29.772456917795012, - "y": 399.31913799283205 + "x": 703.13536917927809, + "y": 261.169014365247 }, "nodeIndex": "Dim_Institution", "nodeLineageTag": "c0020314-ede0-4bf5-af71-1f63368ac6aa", @@ -1092,8 +1092,8 @@ }, { "location": { - "x": 2061.4297764685261, - "y": 1036.9913580549503 + "x": 337.75347856759538, + "y": 1012.6967291811063 }, "nodeIndex": "Dim_GeoKey", "nodeLineageTag": "88fbe5ba-558f-4580-8d08-19e6a3e5be6a", @@ -1105,8 +1105,8 @@ }, { "location": { - "x": 1464.3428003229269, - "y": 97.5246023480415 + "x": 703.13621813730015, + "y": -50 }, "nodeIndex": "Dim_DataSource", "nodeLineageTag": "8a47e04a-d7ca-4a96-bf05-10c9cff59288", @@ -1118,8 +1118,8 @@ }, { "location": { - "x": 39.3147833064761, - "y": 916.27054656568055 + "x": 1787.0406191690604, + "y": 979.181592567383 }, "nodeIndex": "Dim_DataSource_ForRLS", "nodeLineageTag": "8a0dec48-e4ca-410e-bfb9-022ad263205c", @@ -1131,8 +1131,8 @@ }, { "location": { - "x": 432.15928523085643, - "y": 1099.7581080096493 + "x": 1188.3429495663163, + "y": 577.65257448820716 }, "nodeIndex": "Dim_MergeDataSource", "nodeLineageTag": "b9ec943e-c3e6-4334-a98c-527f4e55ccd6", @@ -1144,8 +1144,8 @@ }, { "location": { - "x": 2152.5976525692681, - "y": 691.14094826070971 + "x": 413.1648702898961, + "y": 454.45170014317591 }, "nodeIndex": "Dim_KeyCompetitor", "nodeLineageTag": "a6eb142e-da93-4631-939c-d1305beec9f0", @@ -1157,8 +1157,8 @@ }, { "location": { - "x": 1325.8191702466565, - "y": 1094.1392273536112 + "x": 280.44488323279029, + "y": 1268.226466661022 }, "nodeIndex": "Dim_Class", "nodeLineageTag": "5c9e5bd8-bf81-4518-85df-5ca516d61579", @@ -1170,8 +1170,8 @@ }, { "location": { - "x": 1397.1365163460907, - "y": 523.60045855813678 + "x": 2021.0406191690604, + "y": 815.95787189837063 }, "nodeIndex": "Dim_CorpType", "nodeLineageTag": "765d61e6-451d-4b8e-8c67-4e7014f90b2a", @@ -1183,8 +1183,8 @@ }, { "location": { - "x": 1248.3003157907494, - "y": 334.45445368572405 + "x": 627.59330051419283, + "y": 998.73979557601592 }, "nodeIndex": "Dim_CoreDept", "nodeLineageTag": "440f02af-03a6-4cd9-b5ab-4b46774f48a9", @@ -1193,10 +1193,49 @@ "width": 234 }, "zIndex": 20 + }, + { + "location": { + "x": 50, + "y": 844.02745340107026 + }, + "nodeIndex": "Dim_Market", + "nodeLineageTag": "e93174e2-bfca-4d29-bee7-23d72512e194", + "size": { + "height": 296, + "width": 234 + }, + "zIndex": 0 + }, + { + "location": { + "x": 1669.1618307372059, + "y": 1394.9161640361465 + }, + "nodeIndex": "Dim_Store", + "nodeLineageTag": "e1d0ffd3-8b36-429e-be28-6d10d8f48279", + "size": { + "height": 104, + "width": 234 + }, + "zIndex": 0 + }, + { + "location": { + "x": 1992.3058994271651, + "y": 1280.2123533942909 + }, + "nodeIndex": "Dim_StoreType", + "nodeLineageTag": "7c51a536-cf58-4ef7-a587-fa24845d8659", + "size": { + "height": 176, + "width": 234 + }, + "zIndex": 0 } ], "name": "Main_CHPA", - "zoomValue": 64.5004371529255, + "zoomValue": 81.078387439435346, "pinKeyFieldsToTop": false, "showExtraHeaderInfo": false, "hideKeyFieldsWhenCollapsed": false, @@ -1885,8 +1924,153 @@ "showExtraHeaderInfo": false, "hideKeyFieldsWhenCollapsed": false, "tablesLocked": false + }, + { + "ordinal": 6, + "scrollPosition": { + "x": 0, + "y": 0 + }, + "nodes": [ + { + "location": { + "x": 554.35599608948235, + "y": 322.99158553107804 + }, + "nodeIndex": "Fact_Sales_Total", + "nodeLineageTag": "66266824-1f74-413e-9407-eaefe5310c49", + "size": { + "height": 300, + "width": 234 + }, + "zIndex": 0 + }, + { + "location": { + "x": 1037.753629215043, + "y": 695.69331544427291 + }, + "nodeIndex": "Dim_DataSource", + "nodeLineageTag": "8a47e04a-d7ca-4a96-bf05-10c9cff59288", + "size": { + "height": 176, + "width": 234 + }, + "zIndex": 0 + }, + { + "location": { + "x": 325.67494344883869, + "y": 777.71664330699036 + }, + "nodeIndex": "Dim_Calendar", + "nodeLineageTag": "b54e7974-59f5-4b19-b987-f439b32f640d", + "size": { + "height": 300, + "width": 234 + }, + "zIndex": 0 + }, + { + "location": { + "x": 584.61741655221476, + "y": -50 + }, + "nodeIndex": "Dim_StoreTypeMID", + "nodeLineageTag": "d6ca2686-554d-4d78-a475-7787f1325ec0", + "size": { + "height": 152, + "width": 234 + }, + "zIndex": 0 + }, + { + "location": { + "x": 570.22033245040143, + "y": 1136.2269520689986 + }, + "nodeIndex": "Dim_PlatformMID", + "nodeLineageTag": "1cd2fd49-62d1-49ca-ac98-218be929baae", + "size": { + "height": 152, + "width": 234 + }, + "zIndex": 0 + }, + { + "location": { + "x": 840.91665884177678, + "y": 158.266476064088 + }, + "nodeIndex": "Dim_RegionType", + "nodeLineageTag": "6aa1d3be-7da3-480d-96ed-18f4d5839bbe", + "size": { + "height": 152, + "width": 234 + }, + "zIndex": 0 + }, + { + "location": { + "x": 292.92356363058053, + "y": 72.613866924618151 + }, + "nodeIndex": "Dim_DataSource_ForRLS", + "nodeLineageTag": "8a0dec48-e4ca-410e-bfb9-022ad263205c", + "size": { + "height": 176, + "width": 234 + }, + "zIndex": 0 + }, + { + "location": { + "x": 50, + "y": 306.68999162279783 + }, + "nodeIndex": "Dim_PackInfo_Total", + "nodeLineageTag": "8bea7a10-d14d-4c7a-8199-365d12811eca", + "size": { + "height": 248, + "width": 234 + }, + "zIndex": 0 + }, + { + "location": { + "x": 747.1136989001177, + "y": 928.3032361685066 + }, + "nodeIndex": "Dim_Market_Total", + "nodeLineageTag": "e3bea067-c208-4eb5-84c4-2dd40535ed78", + "size": { + "height": 152, + "width": 234 + }, + "zIndex": 0 + }, + { + "location": { + "x": 1137.9070802924916, + "y": 336.82259362607147 + }, + "nodeIndex": "Dim_BrandMKT", + "nodeLineageTag": "ca124965-ac38-4d4a-add3-99afe0bd5da7", + "size": { + "height": 300, + "width": 234 + }, + "zIndex": 0 + } + ], + "name": "Layout 1", + "zoomValue": 100, + "pinKeyFieldsToTop": false, + "showExtraHeaderInfo": false, + "hideKeyFieldsWhenCollapsed": false, + "tablesLocked": false } ], - "selectedDiagram": "Layout 2", + "selectedDiagram": "Main_CHPA", "defaultDiagram": "All tables" } \ No newline at end of file