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.
Files changed (102) hide show
  1. package/NOTICE +27 -0
  2. package/README.md +34 -8
  3. package/dist/pbiplint.mjs +12628 -2800
  4. package/package.json +5 -3
  5. package/sample/Messy Sales Demo.Report/.platform +11 -0
  6. package/sample/Messy Sales Demo.Report/definition/bookmarks/bookmarks.json +8 -0
  7. package/sample/Messy Sales Demo.Report/definition/bookmarks/f56cd9f5f68d30c0e4e3.bookmark.json +41 -0
  8. package/sample/Messy Sales Demo.Report/definition/pages/00e055aa522743f28a39/page.json +8 -0
  9. package/sample/Messy Sales Demo.Report/definition/pages/00e055aa522743f28a39/visuals/3130cf9463309528054d/visual.json +185 -0
  10. package/sample/Messy Sales Demo.Report/definition/pages/00e055aa522743f28a39/visuals/3e7724efa859ff7b9701/visual.json +130 -0
  11. package/sample/Messy Sales Demo.Report/definition/pages/00e055aa522743f28a39/visuals/3fe8e6907656325b8e86/visual.json +187 -0
  12. package/sample/Messy Sales Demo.Report/definition/pages/00e055aa522743f28a39/visuals/51bb4f6f5f7f71ed0a3c/visual.json +69 -0
  13. package/sample/Messy Sales Demo.Report/definition/pages/00e055aa522743f28a39/visuals/d2995ea3e9b9d9244bf6/visual.json +31 -0
  14. package/sample/Messy Sales Demo.Report/definition/pages/00e055aa522743f28a39/visuals/d307b6575ca81d163aac/visual.json +186 -0
  15. package/sample/Messy Sales Demo.Report/definition/pages/27f668864829019f9251/page.json +8 -0
  16. package/sample/Messy Sales Demo.Report/definition/pages/27f668864829019f9251/visuals/1e7f28bf49e435b68c50/visual.json +156 -0
  17. package/sample/Messy Sales Demo.Report/definition/pages/3485dcffc49d1608c370/page.json +8 -0
  18. package/sample/Messy Sales Demo.Report/definition/pages/3485dcffc49d1608c370/visuals/6c96585893b6f603b9ac/visual.json +185 -0
  19. package/sample/Messy Sales Demo.Report/definition/pages/3485dcffc49d1608c370/visuals/6e99982d842b0d962e16/visual.json +189 -0
  20. package/sample/Messy Sales Demo.Report/definition/pages/3485dcffc49d1608c370/visuals/8081f5bb7075e7b008bc/visual.json +185 -0
  21. package/sample/Messy Sales Demo.Report/definition/pages/3485dcffc49d1608c370/visuals/c5147d97ff0b18a24336/visual.json +185 -0
  22. package/sample/Messy Sales Demo.Report/definition/pages/3b33a1ae720bb93d48b9/page.json +48 -0
  23. package/sample/Messy Sales Demo.Report/definition/pages/3b33a1ae720bb93d48b9/visuals/e32acaa3eb3e6dd81dca/visual.json +195 -0
  24. package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/page.json +8 -0
  25. package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/23f7a6962538ec0c0ff4/visual.json +155 -0
  26. package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/2b5386e9de3e1fbb1afa/visual.json +147 -0
  27. package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/307e834045a168e7a394/visual.json +305 -0
  28. package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/4457e97e02f61c8f609b/visual.json +176 -0
  29. package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/49158e1e7dce5e8d37fd/visual.json +68 -0
  30. package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/6500e9c3f9d74f2958c7/visual.json +312 -0
  31. package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/6edcdc464f4016c0264c/visual.json +185 -0
  32. package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/88530bc0f64114317e2e/visual.json +155 -0
  33. package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/a75a96eee1fd0cf4cef7/visual.json +185 -0
  34. package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/bda61916a7b1efdee3fe/visual.json +145 -0
  35. package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/d93ac3d110ff0a347497/visual.json +185 -0
  36. package/sample/Messy Sales Demo.Report/definition/pages/3cea48e58036b1654474/visuals/db47426e580241dac6b8/visual.json +104 -0
  37. package/sample/Messy Sales Demo.Report/definition/pages/52db6f0b218c638f8761/page.json +8 -0
  38. package/sample/Messy Sales Demo.Report/definition/pages/52db6f0b218c638f8761/visuals/8edac00805f721edc1c1/visual.json +196 -0
  39. package/sample/Messy Sales Demo.Report/definition/pages/5fbcb07dde4e4fada3f6/page.json +8 -0
  40. package/sample/Messy Sales Demo.Report/definition/pages/5fbcb07dde4e4fada3f6/visuals/598cfda00746e83f4896/visual.json +162 -0
  41. package/sample/Messy Sales Demo.Report/definition/pages/5fbcb07dde4e4fada3f6/visuals/6c71af13bcdb4c28cce8/visual.json +133 -0
  42. package/sample/Messy Sales Demo.Report/definition/pages/5fbcb07dde4e4fada3f6/visuals/8aa02d4e168b39268df4/visual.json +185 -0
  43. package/sample/Messy Sales Demo.Report/definition/pages/5fbcb07dde4e4fada3f6/visuals/ab6166569dd355894dc2/visual.json +192 -0
  44. package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/page.json +8 -0
  45. package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/05d453611bc204914797/visual.json +291 -0
  46. package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/0dcfd84094ee2cfe485b/visual.json +185 -0
  47. package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/11146719bd576271e11a/visual.json +238 -0
  48. package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/338338c16a0d509bdaf5/visual.json +238 -0
  49. package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/3ee96306fb282e5dfe38/visual.json +185 -0
  50. package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/404c49f853ea8dde3b6c/visual.json +238 -0
  51. package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/55ddee811456e2b049cf/visual.json +291 -0
  52. package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/5bf9a67d54ba75bb7be1/visual.json +185 -0
  53. package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/63f71d3b642fb6c8a9ba/visual.json +291 -0
  54. package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/80873270a475b81ef0fb/visual.json +185 -0
  55. package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/838ab6226a66fdfb13dc/visual.json +238 -0
  56. package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/9b12811305cdd50a97c4/visual.json +185 -0
  57. package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/a1a8f953ebef2d733956/visual.json +291 -0
  58. package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/b7e7f7c15ff9284e72d3/visual.json +291 -0
  59. package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/b9229ce2b277de70e402/visual.json +185 -0
  60. package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/cf88d237300a7d6a6709/visual.json +185 -0
  61. package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/d66ccf48cfa017d01124/visual.json +185 -0
  62. package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/d8ab941db2b7bd34c19e/visual.json +238 -0
  63. package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/daadba18a786c3e25d97/visual.json +185 -0
  64. package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/e1552553ac4f0856010e/visual.json +185 -0
  65. package/sample/Messy Sales Demo.Report/definition/pages/9f2ae77d3572304756ae/visuals/f108285d5ebc6bcdba77/visual.json +185 -0
  66. package/sample/Messy Sales Demo.Report/definition/pages/b52832c4d9f487868953/page.json +9 -0
  67. package/sample/Messy Sales Demo.Report/definition/pages/b52832c4d9f487868953/visuals/2a7e16428070011e60ec/visual.json +55 -0
  68. package/sample/Messy Sales Demo.Report/definition/pages/bb1ea3ba2a1defa1979b/page.json +8 -0
  69. package/sample/Messy Sales Demo.Report/definition/pages/bb1ea3ba2a1defa1979b/visuals/3fa0fc35d2dd20b9b1f2/visual.json +186 -0
  70. package/sample/Messy Sales Demo.Report/definition/pages/bb1ea3ba2a1defa1979b/visuals/55b04f4555a4615ecd32/visual.json +185 -0
  71. package/sample/Messy Sales Demo.Report/definition/pages/bb1ea3ba2a1defa1979b/visuals/94c00b0b84a51b0e0b39/visual.json +140 -0
  72. package/sample/Messy Sales Demo.Report/definition/pages/bb1ea3ba2a1defa1979b/visuals/acc24e8136085a985f3f/visual.json +32 -0
  73. package/sample/Messy Sales Demo.Report/definition/pages/bb1ea3ba2a1defa1979b/visuals/de6a17691cc952e6d7dd/visual.json +120 -0
  74. package/sample/Messy Sales Demo.Report/definition/pages/fa72b934a72314dcf1b1/page.json +8 -0
  75. package/sample/Messy Sales Demo.Report/definition/pages/fa72b934a72314dcf1b1/visuals/27e669b1ee2de2c3ac9d/visual.json +96 -0
  76. package/sample/Messy Sales Demo.Report/definition/pages/fa72b934a72314dcf1b1/visuals/b230f06615cf87ee455f/visual.json +185 -0
  77. package/sample/Messy Sales Demo.Report/definition/pages/pages.json +17 -0
  78. package/sample/Messy Sales Demo.Report/definition/report.json +66 -0
  79. package/sample/Messy Sales Demo.Report/definition/reportExtensions.json +46 -0
  80. package/sample/Messy Sales Demo.Report/definition/version.json +4 -0
  81. package/sample/Messy Sales Demo.Report/definition.pbir +9 -0
  82. package/sample/{.platform → Messy Sales Demo.SemanticModel/.platform } +1 -1
  83. package/sample/Messy Sales Demo.SemanticModel/definition/cultures/en-US.tmdl +32 -0
  84. package/sample/Messy Sales Demo.SemanticModel/definition/database.tmdl +3 -0
  85. package/sample/{definition/model.tmdl → Messy Sales Demo.SemanticModel/definition/model.tmdl } +3 -0
  86. package/sample/{definition/relationships.tmdl → Messy Sales Demo.SemanticModel/definition/relationships.tmdl } +6 -0
  87. package/sample/{definition/tables/Customer.tmdl → Messy Sales Demo.SemanticModel/definition/tables/Customer.tmdl } +5 -0
  88. package/sample/Messy Sales Demo.SemanticModel/definition/tables/DateTableTemplate_96ead6f8-eef3-4336-a020-6641aa278e92.tmdl +118 -0
  89. package/sample/Messy Sales Demo.SemanticModel/definition/tables/Employee Grouping.tmdl +49 -0
  90. package/sample/Messy Sales Demo.SemanticModel/definition/tables/LocalDateTable_b6c07c62-ecbc-4f14-b072-2fb027697b1d.tmdl +116 -0
  91. package/sample/{definition/tables/Sales.tmdl → Messy Sales Demo.SemanticModel/definition/tables/Sales.tmdl } +42 -42
  92. package/sample/{definition/tables/Store.tmdl → Messy Sales Demo.SemanticModel/definition/tables/Store.tmdl } +15 -0
  93. package/sample/Messy Sales Demo.pbip +14 -0
  94. package/sample/pbiplint.config.json +7 -0
  95. package/sample/.pbi/editorSettings.json +0 -8
  96. package/sample/definition/cultures/en-US.tmdl +0 -2
  97. package/sample/definition/database.tmdl +0 -3
  98. /package/sample/{definition → Messy Sales Demo.SemanticModel/definition}/tables/Date.tmdl +0 -0
  99. /package/sample/{definition → Messy Sales Demo.SemanticModel/definition}/tables/Employee.tmdl +0 -0
  100. /package/sample/{definition → Messy Sales Demo.SemanticModel/definition}/tables/Product.tmdl +0 -0
  101. /package/sample/{definition → Messy Sales Demo.SemanticModel/definition}/tables/Promotion.tmdl +0 -0
  102. /package/sample/{definition.pbism → Messy Sales Demo.SemanticModel/definition.pbism} +0 -0
@@ -0,0 +1,186 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.8.0/schema.json",
3
+ "name": "d307b6575ca81d163aac",
4
+ "position": {
5
+ "x": 0,
6
+ "y": 120,
7
+ "z": 1000,
8
+ "height": 120,
9
+ "width": 320,
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": "'Discount given'"
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": "'Discount given'"
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 the total discount given'"
176
+ }
177
+ }
178
+ }
179
+ }
180
+ }
181
+ ]
182
+ },
183
+ "drillFilterOtherVisuals": true
184
+ },
185
+ "parentGroupName": "d2995ea3e9b9d9244bf6"
186
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/page/2.1.0/schema.json",
3
+ "name": "27f668864829019f9251",
4
+ "displayName": "Duplicate of Overview",
5
+ "displayOption": "FitToPage",
6
+ "height": 720,
7
+ "width": 1280
8
+ }
@@ -0,0 +1,156 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/visualContainer/2.8.0/schema.json",
3
+ "name": "1e7f28bf49e435b68c50",
4
+ "position": {
5
+ "x": 20,
6
+ "y": 20,
7
+ "z": 1000,
8
+ "height": 340,
9
+ "width": 620,
10
+ "tabOrder": 1000
11
+ },
12
+ "visual": {
13
+ "visualType": "clusteredBarChart",
14
+ "query": {
15
+ "queryState": {
16
+ "Category": {
17
+ "projections": [
18
+ {
19
+ "field": {
20
+ "Column": {
21
+ "Expression": {
22
+ "SourceRef": {
23
+ "Entity": "Product"
24
+ }
25
+ },
26
+ "Property": "Brand"
27
+ }
28
+ },
29
+ "queryRef": "Product.Brand",
30
+ "nativeQueryRef": "Brand",
31
+ "active": true
32
+ }
33
+ ],
34
+ "showAll": true
35
+ },
36
+ "Y": {
37
+ "projections": [
38
+ {
39
+ "field": {
40
+ "Measure": {
41
+ "Expression": {
42
+ "SourceRef": {
43
+ "Entity": "Sales"
44
+ }
45
+ },
46
+ "Property": "Total Sales"
47
+ }
48
+ },
49
+ "queryRef": "Sales.Total Sales",
50
+ "nativeQueryRef": "Total Sales"
51
+ }
52
+ ]
53
+ }
54
+ },
55
+ "sortDefinition": {
56
+ "sort": [
57
+ {
58
+ "field": {
59
+ "Measure": {
60
+ "Expression": {
61
+ "SourceRef": {
62
+ "Entity": "Sales"
63
+ }
64
+ },
65
+ "Property": "Total Sales"
66
+ }
67
+ },
68
+ "direction": "Descending"
69
+ }
70
+ ],
71
+ "isDefaultSort": true
72
+ }
73
+ },
74
+ "visualContainerObjects": {
75
+ "subTitle": [
76
+ {
77
+ "properties": {
78
+ "show": {
79
+ "expr": {
80
+ "Literal": {
81
+ "Value": "false"
82
+ }
83
+ }
84
+ }
85
+ }
86
+ }
87
+ ],
88
+ "title": [
89
+ {
90
+ "properties": {
91
+ "fontSize": {
92
+ "expr": {
93
+ "Literal": {
94
+ "Value": "11D"
95
+ }
96
+ }
97
+ },
98
+ "text": {
99
+ "expr": {
100
+ "Literal": {
101
+ "Value": "'Sales by brand'"
102
+ }
103
+ }
104
+ }
105
+ }
106
+ }
107
+ ],
108
+ "general": [
109
+ {
110
+ "properties": {
111
+ "altText": {
112
+ "expr": {
113
+ "Literal": {
114
+ "Value": "'Bar chart of total sales by brand, every brand listed'"
115
+ }
116
+ }
117
+ }
118
+ }
119
+ }
120
+ ]
121
+ },
122
+ "drillFilterOtherVisuals": true
123
+ },
124
+ "filterConfig": {
125
+ "filters": [
126
+ {
127
+ "name": "be7bf1504499badcfbc5",
128
+ "field": {
129
+ "Measure": {
130
+ "Expression": {
131
+ "SourceRef": {
132
+ "Entity": "Sales"
133
+ }
134
+ },
135
+ "Property": "Total Sales"
136
+ }
137
+ },
138
+ "type": "Advanced"
139
+ },
140
+ {
141
+ "name": "b422a962ca6337d7e965",
142
+ "field": {
143
+ "Column": {
144
+ "Expression": {
145
+ "SourceRef": {
146
+ "Entity": "Product"
147
+ }
148
+ },
149
+ "Property": "Brand"
150
+ }
151
+ },
152
+ "type": "Categorical"
153
+ }
154
+ ]
155
+ }
156
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/page/2.1.0/schema.json",
3
+ "name": "3485dcffc49d1608c370",
4
+ "displayName": "Detail",
5
+ "displayOption": "FitToPage",
6
+ "height": 1080,
7
+ "width": 1280
8
+ }
@@ -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": "6c96585893b6f603b9ac",
4
+ "position": {
5
+ "x": 20,
6
+ "y": 20,
7
+ "z": 1000,
8
+ "height": 120,
9
+ "width": 400,
10
+ "tabOrder": 3000
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": "Net Sales"
27
+ }
28
+ },
29
+ "queryRef": "Sales.Net Sales",
30
+ "nativeQueryRef": "Net Sales"
31
+ }
32
+ ]
33
+ }
34
+ },
35
+ "sortDefinition": {
36
+ "sort": [
37
+ {
38
+ "field": {
39
+ "Measure": {
40
+ "Expression": {
41
+ "SourceRef": {
42
+ "Entity": "Sales"
43
+ }
44
+ },
45
+ "Property": "Net Sales"
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": "'Net Sales'"
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": "'Net Sales'"
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 net sales'"
176
+ }
177
+ }
178
+ }
179
+ }
180
+ }
181
+ ]
182
+ },
183
+ "drillFilterOtherVisuals": true
184
+ }
185
+ }