pbiplint 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +27 -0
- package/README.md +34 -8
- package/dist/pbiplint.mjs +12628 -2800
- package/package.json +5 -3
- package/sample/Messy Sales Demo.Report/.platform +11 -0
- package/sample/Messy Sales Demo.Report/definition/bookmarks/bookmarks.json +8 -0
- package/sample/Messy Sales Demo.Report/definition/bookmarks/f56cd9f5f68d30c0e4e3.bookmark.json +41 -0
- package/sample/Messy Sales Demo.Report/definition/pages/00e055aa522743f28a39/page.json +8 -0
- package/sample/Messy Sales Demo.Report/definition/pages/00e055aa522743f28a39/visuals/3130cf9463309528054d/visual.json +185 -0
- package/sample/Messy Sales Demo.Report/definition/pages/00e055aa522743f28a39/visuals/3e7724efa859ff7b9701/visual.json +130 -0
- package/sample/Messy Sales Demo.Report/definition/pages/00e055aa522743f28a39/visuals/3fe8e6907656325b8e86/visual.json +187 -0
- package/sample/Messy Sales Demo.Report/definition/pages/00e055aa522743f28a39/visuals/51bb4f6f5f7f71ed0a3c/visual.json +69 -0
- package/sample/Messy Sales Demo.Report/definition/pages/00e055aa522743f28a39/visuals/d2995ea3e9b9d9244bf6/visual.json +31 -0
- package/sample/Messy Sales Demo.Report/definition/pages/00e055aa522743f28a39/visuals/d307b6575ca81d163aac/visual.json +186 -0
- package/sample/Messy Sales Demo.Report/definition/pages/27f668864829019f9251/page.json +8 -0
- package/sample/Messy Sales Demo.Report/definition/pages/27f668864829019f9251/visuals/1e7f28bf49e435b68c50/visual.json +156 -0
- package/sample/Messy Sales Demo.Report/definition/pages/3485dcffc49d1608c370/page.json +8 -0
- package/sample/Messy Sales Demo.Report/definition/pages/3485dcffc49d1608c370/visuals/6c96585893b6f603b9ac/visual.json +185 -0
- package/sample/Messy Sales Demo.Report/definition/pages/3485dcffc49d1608c370/visuals/6e99982d842b0d962e16/visual.json +189 -0
- package/sample/Messy Sales Demo.Report/definition/pages/3485dcffc49d1608c370/visuals/8081f5bb7075e7b008bc/visual.json +185 -0
- package/sample/Messy Sales Demo.Report/definition/pages/3485dcffc49d1608c370/visuals/c5147d97ff0b18a24336/visual.json +185 -0
- package/sample/Messy Sales Demo.Report/definition/pages/3b33a1ae720bb93d48b9/page.json +48 -0
- package/sample/Messy Sales Demo.Report/definition/pages/3b33a1ae720bb93d48b9/visuals/e32acaa3eb3e6dd81dca/visual.json +195 -0
- package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/page.json +8 -0
- package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/23f7a6962538ec0c0ff4/visual.json +155 -0
- package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/2b5386e9de3e1fbb1afa/visual.json +147 -0
- package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/307e834045a168e7a394/visual.json +305 -0
- package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/4457e97e02f61c8f609b/visual.json +176 -0
- package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/49158e1e7dce5e8d37fd/visual.json +68 -0
- package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/6500e9c3f9d74f2958c7/visual.json +312 -0
- package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/6edcdc464f4016c0264c/visual.json +185 -0
- package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/88530bc0f64114317e2e/visual.json +155 -0
- package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/a75a96eee1fd0cf4cef7/visual.json +185 -0
- package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/bda61916a7b1efdee3fe/visual.json +145 -0
- package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/d93ac3d110ff0a347497/visual.json +185 -0
- package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/db47426e580241dac6b8/visual.json +104 -0
- package/sample/Messy Sales Demo.Report/definition/pages/52db6f0b218c638f8761/page.json +8 -0
- package/sample/Messy Sales Demo.Report/definition/pages/52db6f0b218c638f8761/visuals/8edac00805f721edc1c1/visual.json +196 -0
- package/sample/Messy Sales Demo.Report/definition/pages/5fbcb07dde4e4fada3f6/page.json +8 -0
- package/sample/Messy Sales Demo.Report/definition/pages/5fbcb07dde4e4fada3f6/visuals/598cfda00746e83f4896/visual.json +162 -0
- package/sample/Messy Sales Demo.Report/definition/pages/5fbcb07dde4e4fada3f6/visuals/6c71af13bcdb4c28cce8/visual.json +133 -0
- package/sample/Messy Sales Demo.Report/definition/pages/5fbcb07dde4e4fada3f6/visuals/8aa02d4e168b39268df4/visual.json +185 -0
- package/sample/Messy Sales Demo.Report/definition/pages/5fbcb07dde4e4fada3f6/visuals/ab6166569dd355894dc2/visual.json +192 -0
- package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/page.json +8 -0
- package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/05d453611bc204914797/visual.json +291 -0
- package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/0dcfd84094ee2cfe485b/visual.json +185 -0
- package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/11146719bd576271e11a/visual.json +238 -0
- package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/338338c16a0d509bdaf5/visual.json +238 -0
- package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/3ee96306fb282e5dfe38/visual.json +185 -0
- package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/404c49f853ea8dde3b6c/visual.json +238 -0
- package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/55ddee811456e2b049cf/visual.json +291 -0
- package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/5bf9a67d54ba75bb7be1/visual.json +185 -0
- package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/63f71d3b642fb6c8a9ba/visual.json +291 -0
- package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/80873270a475b81ef0fb/visual.json +185 -0
- package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/838ab6226a66fdfb13dc/visual.json +238 -0
- package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/9b12811305cdd50a97c4/visual.json +185 -0
- package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/a1a8f953ebef2d733956/visual.json +291 -0
- package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/b7e7f7c15ff9284e72d3/visual.json +291 -0
- package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/b9229ce2b277de70e402/visual.json +185 -0
- package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/cf88d237300a7d6a6709/visual.json +185 -0
- package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/d66ccf48cfa017d01124/visual.json +185 -0
- package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/d8ab941db2b7bd34c19e/visual.json +238 -0
- package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/daadba18a786c3e25d97/visual.json +185 -0
- package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/e1552553ac4f0856010e/visual.json +185 -0
- package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/f108285d5ebc6bcdba77/visual.json +185 -0
- package/sample/Messy Sales Demo.Report/definition/pages/b52832c4d9f487868953/page.json +9 -0
- package/sample/Messy Sales Demo.Report/definition/pages/b52832c4d9f487868953/visuals/2a7e16428070011e60ec/visual.json +55 -0
- package/sample/Messy Sales Demo.Report/definition/pages/bb1ea3ba2a1defa1979b/page.json +8 -0
- package/sample/Messy Sales Demo.Report/definition/pages/bb1ea3ba2a1defa1979b/visuals/3fa0fc35d2dd20b9b1f2/visual.json +186 -0
- package/sample/Messy Sales Demo.Report/definition/pages/bb1ea3ba2a1defa1979b/visuals/55b04f4555a4615ecd32/visual.json +185 -0
- package/sample/Messy Sales Demo.Report/definition/pages/bb1ea3ba2a1defa1979b/visuals/94c00b0b84a51b0e0b39/visual.json +140 -0
- package/sample/Messy Sales Demo.Report/definition/pages/bb1ea3ba2a1defa1979b/visuals/acc24e8136085a985f3f/visual.json +32 -0
- package/sample/Messy Sales Demo.Report/definition/pages/bb1ea3ba2a1defa1979b/visuals/de6a17691cc952e6d7dd/visual.json +120 -0
- package/sample/Messy Sales Demo.Report/definition/pages/fa72b934a72314dcf1b1/page.json +8 -0
- package/sample/Messy Sales Demo.Report/definition/pages/fa72b934a72314dcf1b1/visuals/27e669b1ee2de2c3ac9d/visual.json +96 -0
- package/sample/Messy Sales Demo.Report/definition/pages/fa72b934a72314dcf1b1/visuals/b230f06615cf87ee455f/visual.json +185 -0
- package/sample/Messy Sales Demo.Report/definition/pages/pages.json +17 -0
- package/sample/Messy Sales Demo.Report/definition/report.json +66 -0
- package/sample/Messy Sales Demo.Report/definition/reportExtensions.json +46 -0
- package/sample/Messy Sales Demo.Report/definition/version.json +4 -0
- package/sample/Messy Sales Demo.Report/definition.pbir +9 -0
- package/sample/{.platform → Messy Sales Demo.SemanticModel/.platform } +1 -1
- package/sample/Messy Sales Demo.SemanticModel/definition/cultures/en-US.tmdl +32 -0
- package/sample/Messy Sales Demo.SemanticModel/definition/database.tmdl +3 -0
- package/sample/{definition/model.tmdl → Messy Sales Demo.SemanticModel/definition/model.tmdl } +3 -0
- package/sample/{definition/relationships.tmdl → Messy Sales Demo.SemanticModel/definition/relationships.tmdl } +6 -0
- package/sample/{definition/tables/Customer.tmdl → Messy Sales Demo.SemanticModel/definition/tables/Customer.tmdl } +5 -0
- package/sample/Messy Sales Demo.SemanticModel/definition/tables/DateTableTemplate_96ead6f8-eef3-4336-a020-6641aa278e92.tmdl +118 -0
- package/sample/Messy Sales Demo.SemanticModel/definition/tables/Employee Grouping.tmdl +49 -0
- package/sample/Messy Sales Demo.SemanticModel/definition/tables/LocalDateTable_b6c07c62-ecbc-4f14-b072-2fb027697b1d.tmdl +116 -0
- package/sample/{definition/tables/Sales.tmdl → Messy Sales Demo.SemanticModel/definition/tables/Sales.tmdl } +42 -42
- package/sample/{definition/tables/Store.tmdl → Messy Sales Demo.SemanticModel/definition/tables/Store.tmdl } +15 -0
- package/sample/Messy Sales Demo.pbip +14 -0
- package/sample/pbiplint.config.json +7 -0
- package/sample/.pbi/editorSettings.json +0 -8
- package/sample/definition/cultures/en-US.tmdl +0 -2
- package/sample/definition/database.tmdl +0 -3
- /package/sample/{definition → Messy Sales Demo.SemanticModel/definition}/tables/Date.tmdl +0 -0
- /package/sample/{definition → Messy Sales Demo.SemanticModel/definition}/tables/Employee.tmdl +0 -0
- /package/sample/{definition → Messy Sales Demo.SemanticModel/definition}/tables/Product.tmdl +0 -0
- /package/sample/{definition → Messy Sales Demo.SemanticModel/definition}/tables/Promotion.tmdl +0 -0
- /package/sample/{definition.pbism → Messy Sales Demo.SemanticModel/definition.pbism} +0 -0
package/package.json
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pbiplint",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Lint Power BI semantic
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Lint Power BI projects, the semantic model (TMDL) and the report (PBIR), for best-practice violations, with text, JSON, SARIF, and Markdown output. Nothing is uploaded.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"power-bi",
|
|
7
7
|
"tmdl",
|
|
8
|
+
"pbir",
|
|
8
9
|
"semantic-model",
|
|
10
|
+
"report",
|
|
9
11
|
"pbip",
|
|
10
12
|
"linter",
|
|
11
13
|
"best-practices",
|
|
@@ -25,7 +27,7 @@
|
|
|
25
27
|
},
|
|
26
28
|
"type": "module",
|
|
27
29
|
"bin": {
|
|
28
|
-
"pbiplint": "
|
|
30
|
+
"pbiplint": "dist/pbiplint.mjs"
|
|
29
31
|
},
|
|
30
32
|
"files": [
|
|
31
33
|
"dist",
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://developer.microsoft.com/json-schemas/fabric/gitIntegration/platformProperties/2.0.0/schema.json",
|
|
3
|
+
"metadata": {
|
|
4
|
+
"type": "Report",
|
|
5
|
+
"displayName": "Messy Sales Demo"
|
|
6
|
+
},
|
|
7
|
+
"config": {
|
|
8
|
+
"version": "2.0",
|
|
9
|
+
"logicalId": "36a76635-ecf9-4b46-a463-59b658e2bffb"
|
|
10
|
+
}
|
|
11
|
+
}
|
package/sample/Messy Sales Demo.Report/definition/bookmarks/f56cd9f5f68d30c0e4e3.bookmark.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/bookmark/2.1.0/schema.json",
|
|
3
|
+
"displayName": "Reset",
|
|
4
|
+
"name": "f56cd9f5f68d30c0e4e3",
|
|
5
|
+
"options": {
|
|
6
|
+
"targetVisualNames": []
|
|
7
|
+
},
|
|
8
|
+
"explorationState": {
|
|
9
|
+
"version": "1.3",
|
|
10
|
+
"activeSection": "3cea48e58036b1654474",
|
|
11
|
+
"sections": {
|
|
12
|
+
"3cea48e58036b1654474": {
|
|
13
|
+
"visualContainers": {
|
|
14
|
+
"deadvisual0000000000": {
|
|
15
|
+
"singleVisual": {
|
|
16
|
+
"visualType": "textbox",
|
|
17
|
+
"objects": {}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"objects": {
|
|
24
|
+
"merge": {
|
|
25
|
+
"outspacePane": [
|
|
26
|
+
{
|
|
27
|
+
"properties": {
|
|
28
|
+
"expanded": {
|
|
29
|
+
"expr": {
|
|
30
|
+
"Literal": {
|
|
31
|
+
"Value": "true"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.8.0/schema.json",
|
|
3
|
+
"name": "3130cf9463309528054d",
|
|
4
|
+
"position": {
|
|
5
|
+
"x": 20,
|
|
6
|
+
"y": 20,
|
|
7
|
+
"z": 1000,
|
|
8
|
+
"height": 120,
|
|
9
|
+
"width": 240,
|
|
10
|
+
"tabOrder": 1000
|
|
11
|
+
},
|
|
12
|
+
"visual": {
|
|
13
|
+
"visualType": "cardVisual",
|
|
14
|
+
"query": {
|
|
15
|
+
"queryState": {
|
|
16
|
+
"Data": {
|
|
17
|
+
"projections": [
|
|
18
|
+
{
|
|
19
|
+
"field": {
|
|
20
|
+
"Measure": {
|
|
21
|
+
"Expression": {
|
|
22
|
+
"SourceRef": {
|
|
23
|
+
"Entity": "Sales"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"Property": "Total Discount"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"queryRef": "Sales.Total Discount",
|
|
30
|
+
"nativeQueryRef": "Total Discount"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"sortDefinition": {
|
|
36
|
+
"sort": [
|
|
37
|
+
{
|
|
38
|
+
"field": {
|
|
39
|
+
"Measure": {
|
|
40
|
+
"Expression": {
|
|
41
|
+
"SourceRef": {
|
|
42
|
+
"Entity": "Sales"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"Property": "Total Discount"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"direction": "Descending"
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"isDefaultSort": true
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"objects": {
|
|
55
|
+
"label": [
|
|
56
|
+
{
|
|
57
|
+
"properties": {
|
|
58
|
+
"show": {
|
|
59
|
+
"expr": {
|
|
60
|
+
"Literal": {
|
|
61
|
+
"Value": "false"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"selector": {
|
|
67
|
+
"id": "default"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
"value": [
|
|
72
|
+
{
|
|
73
|
+
"properties": {
|
|
74
|
+
"horizontalAlignment": {
|
|
75
|
+
"expr": {
|
|
76
|
+
"Literal": {
|
|
77
|
+
"Value": "'center'"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
"selector": {
|
|
83
|
+
"id": "default"
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
],
|
|
87
|
+
"layout": [
|
|
88
|
+
{
|
|
89
|
+
"properties": {
|
|
90
|
+
"alignment": {
|
|
91
|
+
"expr": {
|
|
92
|
+
"Literal": {
|
|
93
|
+
"Value": "'top'"
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
"visualContainerObjects": {
|
|
102
|
+
"title": [
|
|
103
|
+
{
|
|
104
|
+
"properties": {
|
|
105
|
+
"alignment": {
|
|
106
|
+
"expr": {
|
|
107
|
+
"Literal": {
|
|
108
|
+
"Value": "'center'"
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
"show": {
|
|
113
|
+
"expr": {
|
|
114
|
+
"Literal": {
|
|
115
|
+
"Value": "true"
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
"text": {
|
|
120
|
+
"expr": {
|
|
121
|
+
"Literal": {
|
|
122
|
+
"Value": "'Total Discount'"
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
],
|
|
129
|
+
"subTitle": [
|
|
130
|
+
{
|
|
131
|
+
"properties": {
|
|
132
|
+
"alignment": {
|
|
133
|
+
"expr": {
|
|
134
|
+
"Literal": {
|
|
135
|
+
"Value": "'center'"
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"show": {
|
|
140
|
+
"expr": {
|
|
141
|
+
"Literal": {
|
|
142
|
+
"Value": "false"
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
"text": {
|
|
147
|
+
"expr": {
|
|
148
|
+
"Literal": {
|
|
149
|
+
"Value": "'Total Discount'"
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
],
|
|
156
|
+
"visualHeader": [
|
|
157
|
+
{
|
|
158
|
+
"properties": {
|
|
159
|
+
"show": {
|
|
160
|
+
"expr": {
|
|
161
|
+
"Literal": {
|
|
162
|
+
"Value": "false"
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
],
|
|
169
|
+
"general": [
|
|
170
|
+
{
|
|
171
|
+
"properties": {
|
|
172
|
+
"altText": {
|
|
173
|
+
"expr": {
|
|
174
|
+
"Literal": {
|
|
175
|
+
"Value": "'Card showing total discount'"
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
]
|
|
182
|
+
},
|
|
183
|
+
"drillFilterOtherVisuals": true
|
|
184
|
+
}
|
|
185
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.8.0/schema.json",
|
|
3
|
+
"name": "3e7724efa859ff7b9701",
|
|
4
|
+
"position": {
|
|
5
|
+
"x": 20,
|
|
6
|
+
"y": 160,
|
|
7
|
+
"z": 3000,
|
|
8
|
+
"height": 360,
|
|
9
|
+
"width": 610,
|
|
10
|
+
"tabOrder": 3000
|
|
11
|
+
},
|
|
12
|
+
"visual": {
|
|
13
|
+
"visualType": "tableEx",
|
|
14
|
+
"query": {
|
|
15
|
+
"queryState": {
|
|
16
|
+
"Values": {
|
|
17
|
+
"projections": [
|
|
18
|
+
{
|
|
19
|
+
"field": {
|
|
20
|
+
"Column": {
|
|
21
|
+
"Expression": {
|
|
22
|
+
"SourceRef": {
|
|
23
|
+
"Entity": "Promotion"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"Property": "Promotion Name"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"queryRef": "Promotion.Promotion Name",
|
|
30
|
+
"nativeQueryRef": "Promotion Name"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"field": {
|
|
34
|
+
"Measure": {
|
|
35
|
+
"Expression": {
|
|
36
|
+
"SourceRef": {
|
|
37
|
+
"Entity": "Sales"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"Property": "Total Discount"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"queryRef": "Sales.Total Discount",
|
|
44
|
+
"nativeQueryRef": "Total Discount"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"field": {
|
|
48
|
+
"NativeVisualCalculation": {
|
|
49
|
+
"Language": "dax",
|
|
50
|
+
"Expression": "RUNNINGSUM([Total Discount])",
|
|
51
|
+
"Name": "Running discount"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"queryRef": "select",
|
|
55
|
+
"nativeQueryRef": "Running discount"
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"sortDefinition": {
|
|
61
|
+
"sort": [
|
|
62
|
+
{
|
|
63
|
+
"field": {
|
|
64
|
+
"Column": {
|
|
65
|
+
"Expression": {
|
|
66
|
+
"SourceRef": {
|
|
67
|
+
"Entity": "Promotion"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"Property": "Promotion Name"
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"direction": "Ascending"
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
"objects": {
|
|
79
|
+
"total": [
|
|
80
|
+
{
|
|
81
|
+
"properties": {
|
|
82
|
+
"totals": {
|
|
83
|
+
"expr": {
|
|
84
|
+
"Literal": {
|
|
85
|
+
"Value": "false"
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
"visualContainerObjects": {
|
|
94
|
+
"title": [
|
|
95
|
+
{
|
|
96
|
+
"properties": {
|
|
97
|
+
"show": {
|
|
98
|
+
"expr": {
|
|
99
|
+
"Literal": {
|
|
100
|
+
"Value": "true"
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"text": {
|
|
105
|
+
"expr": {
|
|
106
|
+
"Literal": {
|
|
107
|
+
"Value": "'Discount by promotion'"
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
],
|
|
114
|
+
"general": [
|
|
115
|
+
{
|
|
116
|
+
"properties": {
|
|
117
|
+
"altText": {
|
|
118
|
+
"expr": {
|
|
119
|
+
"Literal": {
|
|
120
|
+
"Value": "'Table of total discount and its running total by promotion'"
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
"drillFilterOtherVisuals": true
|
|
129
|
+
}
|
|
130
|
+
}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.8.0/schema.json",
|
|
3
|
+
"name": "3fe8e6907656325b8e86",
|
|
4
|
+
"position": {
|
|
5
|
+
"x": 280,
|
|
6
|
+
"y": 20,
|
|
7
|
+
"z": 2000,
|
|
8
|
+
"height": 120,
|
|
9
|
+
"width": 240,
|
|
10
|
+
"tabOrder": 2000
|
|
11
|
+
},
|
|
12
|
+
"visual": {
|
|
13
|
+
"visualType": "cardVisual",
|
|
14
|
+
"query": {
|
|
15
|
+
"queryState": {
|
|
16
|
+
"Data": {
|
|
17
|
+
"projections": [
|
|
18
|
+
{
|
|
19
|
+
"field": {
|
|
20
|
+
"Measure": {
|
|
21
|
+
"Expression": {
|
|
22
|
+
"SourceRef": {
|
|
23
|
+
"Schema": "extension",
|
|
24
|
+
"Entity": "Sales"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"Property": "Net Margin"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"queryRef": "Sales.Net Margin",
|
|
31
|
+
"nativeQueryRef": "Net Margin"
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"sortDefinition": {
|
|
37
|
+
"sort": [
|
|
38
|
+
{
|
|
39
|
+
"field": {
|
|
40
|
+
"Measure": {
|
|
41
|
+
"Expression": {
|
|
42
|
+
"SourceRef": {
|
|
43
|
+
"Schema": "extension",
|
|
44
|
+
"Entity": "Sales"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"Property": "Net Margin"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"direction": "Descending"
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"isDefaultSort": true
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"objects": {
|
|
57
|
+
"label": [
|
|
58
|
+
{
|
|
59
|
+
"properties": {
|
|
60
|
+
"show": {
|
|
61
|
+
"expr": {
|
|
62
|
+
"Literal": {
|
|
63
|
+
"Value": "false"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"selector": {
|
|
69
|
+
"id": "default"
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
"value": [
|
|
74
|
+
{
|
|
75
|
+
"properties": {
|
|
76
|
+
"horizontalAlignment": {
|
|
77
|
+
"expr": {
|
|
78
|
+
"Literal": {
|
|
79
|
+
"Value": "'center'"
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"selector": {
|
|
85
|
+
"id": "default"
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"layout": [
|
|
90
|
+
{
|
|
91
|
+
"properties": {
|
|
92
|
+
"alignment": {
|
|
93
|
+
"expr": {
|
|
94
|
+
"Literal": {
|
|
95
|
+
"Value": "'top'"
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
"visualContainerObjects": {
|
|
104
|
+
"title": [
|
|
105
|
+
{
|
|
106
|
+
"properties": {
|
|
107
|
+
"alignment": {
|
|
108
|
+
"expr": {
|
|
109
|
+
"Literal": {
|
|
110
|
+
"Value": "'center'"
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
"show": {
|
|
115
|
+
"expr": {
|
|
116
|
+
"Literal": {
|
|
117
|
+
"Value": "true"
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
"text": {
|
|
122
|
+
"expr": {
|
|
123
|
+
"Literal": {
|
|
124
|
+
"Value": "'Net Margin'"
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
],
|
|
131
|
+
"subTitle": [
|
|
132
|
+
{
|
|
133
|
+
"properties": {
|
|
134
|
+
"alignment": {
|
|
135
|
+
"expr": {
|
|
136
|
+
"Literal": {
|
|
137
|
+
"Value": "'center'"
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
"show": {
|
|
142
|
+
"expr": {
|
|
143
|
+
"Literal": {
|
|
144
|
+
"Value": "false"
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
"text": {
|
|
149
|
+
"expr": {
|
|
150
|
+
"Literal": {
|
|
151
|
+
"Value": "'Net Margin'"
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
],
|
|
158
|
+
"visualHeader": [
|
|
159
|
+
{
|
|
160
|
+
"properties": {
|
|
161
|
+
"show": {
|
|
162
|
+
"expr": {
|
|
163
|
+
"Literal": {
|
|
164
|
+
"Value": "false"
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
],
|
|
171
|
+
"general": [
|
|
172
|
+
{
|
|
173
|
+
"properties": {
|
|
174
|
+
"altText": {
|
|
175
|
+
"expr": {
|
|
176
|
+
"Literal": {
|
|
177
|
+
"Value": "'Card showing net margin, a measure defined in the report'"
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
]
|
|
184
|
+
},
|
|
185
|
+
"drillFilterOtherVisuals": true
|
|
186
|
+
}
|
|
187
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.8.0/schema.json",
|
|
3
|
+
"name": "51bb4f6f5f7f71ed0a3c",
|
|
4
|
+
"position": {
|
|
5
|
+
"x": 0,
|
|
6
|
+
"y": 0,
|
|
7
|
+
"z": 0,
|
|
8
|
+
"height": 100,
|
|
9
|
+
"width": 320,
|
|
10
|
+
"tabOrder": 0
|
|
11
|
+
},
|
|
12
|
+
"visual": {
|
|
13
|
+
"visualType": "textbox",
|
|
14
|
+
"objects": {
|
|
15
|
+
"general": [
|
|
16
|
+
{
|
|
17
|
+
"properties": {
|
|
18
|
+
"paragraphs": [
|
|
19
|
+
{
|
|
20
|
+
"textRuns": [
|
|
21
|
+
{
|
|
22
|
+
"value": "Discounts count on the day of the sale."
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
"visualContainerObjects": {
|
|
32
|
+
"title": [
|
|
33
|
+
{
|
|
34
|
+
"properties": {
|
|
35
|
+
"show": {
|
|
36
|
+
"expr": {
|
|
37
|
+
"Literal": {
|
|
38
|
+
"Value": "false"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"text": {
|
|
43
|
+
"expr": {
|
|
44
|
+
"Literal": {
|
|
45
|
+
"Value": "'Promotion note'"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"general": [
|
|
53
|
+
{
|
|
54
|
+
"properties": {
|
|
55
|
+
"altText": {
|
|
56
|
+
"expr": {
|
|
57
|
+
"Literal": {
|
|
58
|
+
"Value": "'Note on when discounts are counted'"
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
"drillFilterOtherVisuals": true
|
|
67
|
+
},
|
|
68
|
+
"parentGroupName": "d2995ea3e9b9d9244bf6"
|
|
69
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.8.0/schema.json",
|
|
3
|
+
"name": "d2995ea3e9b9d9244bf6",
|
|
4
|
+
"position": {
|
|
5
|
+
"x": 1000,
|
|
6
|
+
"y": 160,
|
|
7
|
+
"z": 4000,
|
|
8
|
+
"height": 240,
|
|
9
|
+
"width": 320,
|
|
10
|
+
"tabOrder": 4000
|
|
11
|
+
},
|
|
12
|
+
"visualGroup": {
|
|
13
|
+
"displayName": "Promotion notes",
|
|
14
|
+
"groupMode": "ScaleMode",
|
|
15
|
+
"objects": {
|
|
16
|
+
"general": [
|
|
17
|
+
{
|
|
18
|
+
"properties": {
|
|
19
|
+
"altText": {
|
|
20
|
+
"expr": {
|
|
21
|
+
"Literal": {
|
|
22
|
+
"Value": "'Notes on promotions with the total discount given'"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|