@gooddata/api-client-tiger 10.1.0-alpha.1 → 10.1.0-alpha.11

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 (46) hide show
  1. package/esm/__version.d.ts +1 -1
  2. package/esm/__version.d.ts.map +1 -1
  3. package/esm/__version.js +1 -1
  4. package/esm/__version.js.map +1 -1
  5. package/esm/api-client-tiger.d.ts +2594 -1017
  6. package/esm/generated/afm-rest-api/api.d.ts +816 -24
  7. package/esm/generated/afm-rest-api/api.d.ts.map +1 -1
  8. package/esm/generated/afm-rest-api/api.js +716 -7
  9. package/esm/generated/afm-rest-api/api.js.map +1 -1
  10. package/esm/generated/afm-rest-api/openapi-spec.json +1129 -767
  11. package/esm/generated/export-json-api/api.d.ts +89 -89
  12. package/esm/generated/export-json-api/api.d.ts.map +1 -1
  13. package/esm/generated/export-json-api/api.js +42 -42
  14. package/esm/generated/export-json-api/api.js.map +1 -1
  15. package/esm/generated/export-json-api/openapi-spec.json +5 -5
  16. package/esm/generated/metadata-json-api/api.d.ts +1598 -990
  17. package/esm/generated/metadata-json-api/api.d.ts.map +1 -1
  18. package/esm/generated/metadata-json-api/api.js +644 -14
  19. package/esm/generated/metadata-json-api/api.js.map +1 -1
  20. package/esm/generated/metadata-json-api/openapi-spec.json +4551 -4511
  21. package/esm/generated/result-json-api/api.d.ts +501 -0
  22. package/esm/generated/result-json-api/api.d.ts.map +1 -1
  23. package/esm/generated/result-json-api/api.js +519 -0
  24. package/esm/generated/result-json-api/api.js.map +1 -1
  25. package/esm/generated/result-json-api/openapi-spec.json +187 -0
  26. package/esm/generated/scan-json-api/api.d.ts +343 -0
  27. package/esm/generated/scan-json-api/api.d.ts.map +1 -1
  28. package/esm/generated/scan-json-api/api.js +102 -0
  29. package/esm/generated/scan-json-api/api.js.map +1 -1
  30. package/esm/generated/scan-json-api/openapi-spec.json +257 -0
  31. package/esm/index.d.ts +3 -3
  32. package/esm/index.d.ts.map +1 -1
  33. package/esm/index.js +3 -2
  34. package/esm/index.js.map +1 -1
  35. package/esm/metadataUtilities.d.ts +2 -2
  36. package/esm/metadataUtilities.d.ts.map +1 -1
  37. package/esm/metadataUtilities.js +1 -1
  38. package/esm/metadataUtilities.js.map +1 -1
  39. package/esm/organizationUtilities.d.ts +2 -2
  40. package/esm/organizationUtilities.d.ts.map +1 -1
  41. package/esm/organizationUtilities.js +1 -1
  42. package/esm/organizationUtilities.js.map +1 -1
  43. package/esm/result.d.ts +2 -2
  44. package/esm/result.d.ts.map +1 -1
  45. package/esm/result.js.map +1 -1
  46. package/package.json +3 -3
@@ -141,6 +141,120 @@
141
141
  }
142
142
  }
143
143
  },
144
+ "/api/v1/actions/workspaces/{workspaceId}/execution/functions/anomalyDetection/{resultId}": {
145
+ "post": {
146
+ "tags": ["Smart Functions", "actions"],
147
+ "summary": "(EXPERIMENTAL) Smart functions - Anomaly Detection",
148
+ "description": "(EXPERIMENTAL) Computes anomaly detection.",
149
+ "operationId": "anomalyDetection",
150
+ "parameters": [
151
+ {
152
+ "name": "workspaceId",
153
+ "in": "path",
154
+ "description": "Workspace identifier",
155
+ "required": true,
156
+ "schema": {
157
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
158
+ "type": "string"
159
+ }
160
+ },
161
+ {
162
+ "name": "resultId",
163
+ "in": "path",
164
+ "description": "Input result ID to be used in the computation",
165
+ "required": true,
166
+ "schema": {
167
+ "type": "string"
168
+ },
169
+ "example": "9bd52018570364264fcf62d373da6bed313120e8"
170
+ },
171
+ {
172
+ "name": "skip-cache",
173
+ "in": "header",
174
+ "description": "Ignore all caches during execution of current request.",
175
+ "required": false,
176
+ "schema": {
177
+ "type": "boolean",
178
+ "default": false
179
+ }
180
+ }
181
+ ],
182
+ "requestBody": {
183
+ "content": {
184
+ "application/json": {
185
+ "schema": {
186
+ "$ref": "#/components/schemas/AnomalyDetectionRequest"
187
+ }
188
+ }
189
+ },
190
+ "required": true
191
+ },
192
+ "responses": {
193
+ "200": {
194
+ "description": "OK",
195
+ "content": {
196
+ "application/json": {
197
+ "schema": {
198
+ "$ref": "#/components/schemas/SmartFunctionResponse"
199
+ }
200
+ }
201
+ }
202
+ }
203
+ }
204
+ }
205
+ },
206
+ "/api/v1/actions/workspaces/{workspaceId}/execution/computeKeyDrivers": {
207
+ "post": {
208
+ "tags": ["Computation", "actions"],
209
+ "summary": "(EXPERIMENTAL) Compute key driver analysis",
210
+ "description": "(EXPERIMENTAL) Computes key driver analysis for the provided execution definition.",
211
+ "operationId": "keyDriverAnalysis",
212
+ "parameters": [
213
+ {
214
+ "name": "workspaceId",
215
+ "in": "path",
216
+ "description": "Workspace identifier",
217
+ "required": true,
218
+ "schema": {
219
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
220
+ "type": "string"
221
+ }
222
+ },
223
+ {
224
+ "name": "skip-cache",
225
+ "in": "header",
226
+ "description": "Ignore all caches during execution of current request.",
227
+ "required": false,
228
+ "schema": {
229
+ "type": "boolean",
230
+ "default": false
231
+ }
232
+ }
233
+ ],
234
+ "requestBody": {
235
+ "content": {
236
+ "application/json": {
237
+ "schema": {
238
+ "$ref": "#/components/schemas/KeyDriversRequest"
239
+ }
240
+ }
241
+ },
242
+ "required": true
243
+ },
244
+ "responses": {
245
+ "200": {
246
+ "description": "OK",
247
+ "content": {
248
+ "application/json": {
249
+ "schema": {
250
+ "$ref": "#/components/schemas/KeyDriversResponse"
251
+ }
252
+ }
253
+ }
254
+ }
255
+ }
256
+ }
257
+ },
144
258
  "/api/v1/actions/workspaces/{workspaceId}/execution/collectLabelElements": {
145
259
  "post": {
146
260
  "tags": ["Computation", "actions"],
@@ -573,6 +687,126 @@
573
687
  }
574
688
  }
575
689
  },
690
+ "/api/v1/actions/workspaces/{workspaceId}/execution/functions/anomalyDetection/result/{resultId}": {
691
+ "get": {
692
+ "tags": ["Smart Functions", "actions"],
693
+ "summary": "(EXPERIMENTAL) Smart functions - Anomaly Detection Result",
694
+ "description": "(EXPERIMENTAL) Gets anomalies.",
695
+ "operationId": "anomalyDetectionResult",
696
+ "parameters": [
697
+ {
698
+ "name": "workspaceId",
699
+ "in": "path",
700
+ "description": "Workspace identifier",
701
+ "required": true,
702
+ "schema": {
703
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
704
+ "type": "string"
705
+ }
706
+ },
707
+ {
708
+ "name": "resultId",
709
+ "in": "path",
710
+ "description": "Result ID",
711
+ "required": true,
712
+ "schema": {
713
+ "type": "string"
714
+ },
715
+ "example": "a9b28f9dc55f37ea9f4a5fb0c76895923591e781"
716
+ },
717
+ {
718
+ "name": "offset",
719
+ "in": "query",
720
+ "required": false,
721
+ "schema": {
722
+ "type": "integer",
723
+ "format": "int32"
724
+ }
725
+ },
726
+ {
727
+ "name": "limit",
728
+ "in": "query",
729
+ "required": false,
730
+ "schema": {
731
+ "type": "integer",
732
+ "format": "int32"
733
+ }
734
+ }
735
+ ],
736
+ "responses": {
737
+ "200": {
738
+ "description": "OK",
739
+ "content": {
740
+ "application/json": {
741
+ "schema": {
742
+ "$ref": "#/components/schemas/AnomalyDetectionResult"
743
+ }
744
+ }
745
+ }
746
+ }
747
+ }
748
+ }
749
+ },
750
+ "/api/v1/actions/workspaces/{workspaceId}/execution/computeKeyDrivers/result/{resultId}": {
751
+ "get": {
752
+ "tags": ["Computation", "actions"],
753
+ "summary": "(EXPERIMENTAL) Get key driver analysis result",
754
+ "description": "(EXPERIMENTAL) Gets key driver analysis.",
755
+ "operationId": "keyDriverAnalysisResult",
756
+ "parameters": [
757
+ {
758
+ "name": "workspaceId",
759
+ "in": "path",
760
+ "description": "Workspace identifier",
761
+ "required": true,
762
+ "schema": {
763
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
764
+ "type": "string"
765
+ }
766
+ },
767
+ {
768
+ "name": "resultId",
769
+ "in": "path",
770
+ "description": "Result ID",
771
+ "required": true,
772
+ "schema": {
773
+ "type": "string"
774
+ },
775
+ "example": "a9b28f9dc55f37ea9f4a5fb0c76895923591e781"
776
+ },
777
+ {
778
+ "name": "offset",
779
+ "in": "query",
780
+ "required": false,
781
+ "schema": {
782
+ "type": "integer",
783
+ "format": "int32"
784
+ }
785
+ },
786
+ {
787
+ "name": "limit",
788
+ "in": "query",
789
+ "required": false,
790
+ "schema": {
791
+ "type": "integer",
792
+ "format": "int32"
793
+ }
794
+ }
795
+ ],
796
+ "responses": {
797
+ "200": {
798
+ "description": "OK",
799
+ "content": {
800
+ "application/json": {
801
+ "schema": {
802
+ "$ref": "#/components/schemas/KeyDriversResult"
803
+ }
804
+ }
805
+ }
806
+ }
807
+ }
808
+ }
809
+ },
576
810
  "/api/v1/actions/workspaces/{workspaceId}/execution/afm/execute/result/{resultId}/metadata": {
577
811
  "get": {
578
812
  "tags": ["Computation", "actions"],
@@ -774,133 +1008,19 @@
774
1008
  }
775
1009
  }
776
1010
  },
777
- "AttributeFormat": {
778
- "required": ["locale", "pattern"],
1011
+ "AnomalyDetectionRequest": {
1012
+ "required": ["sensitivity"],
779
1013
  "type": "object",
780
1014
  "properties": {
781
- "locale": {
782
- "type": "string",
783
- "description": "Format locale"
784
- },
785
- "pattern": {
786
- "type": "string",
787
- "description": "Format pattern"
1015
+ "sensitivity": {
1016
+ "type": "number",
1017
+ "description": "Anomaly detection sensitivity.",
1018
+ "format": "float"
788
1019
  }
789
1020
  }
790
1021
  },
791
- "Element": {
792
- "required": ["primaryTitle", "title"],
793
- "type": "object",
794
- "properties": {
795
- "title": {
796
- "type": "string",
797
- "description": "Title of requested label.",
798
- "nullable": true
799
- },
800
- "primaryTitle": {
801
- "type": "string",
802
- "description": "Title of primary label of attribute owning requested label, null if the title is null or the primary label is excluded",
803
- "nullable": true
804
- }
805
- },
806
- "description": "List of returned elements."
807
- },
808
- "ElementsResponse": {
809
- "required": ["elements", "paging", "primaryLabel"],
810
- "type": "object",
811
- "properties": {
812
- "primaryLabel": {
813
- "$ref": "#/components/schemas/RestApiIdentifier"
814
- },
815
- "elements": {
816
- "type": "array",
817
- "description": "List of returned elements.",
818
- "items": {
819
- "$ref": "#/components/schemas/Element"
820
- }
821
- },
822
- "paging": {
823
- "$ref": "#/components/schemas/Paging"
824
- },
825
- "granularity": {
826
- "type": "string",
827
- "description": "Granularity of requested label in case of date attribute",
828
- "enum": [
829
- "MINUTE",
830
- "HOUR",
831
- "DAY",
832
- "WEEK",
833
- "MONTH",
834
- "QUARTER",
835
- "YEAR",
836
- "MINUTE_OF_HOUR",
837
- "HOUR_OF_DAY",
838
- "DAY_OF_WEEK",
839
- "DAY_OF_MONTH",
840
- "DAY_OF_YEAR",
841
- "WEEK_OF_YEAR",
842
- "MONTH_OF_YEAR",
843
- "QUARTER_OF_YEAR"
844
- ]
845
- },
846
- "format": {
847
- "$ref": "#/components/schemas/AttributeFormat"
848
- },
849
- "cacheId": {
850
- "type": "string",
851
- "description": "The client can use this in subsequent requests (like paging or search) to get results from the same point in time as the previous request. This is useful when the underlying data source has caches disabled and the client wants to avoid seeing inconsistent results and to also avoid excessive queries to the database itself."
852
- }
853
- },
854
- "description": "Entity holding list of sorted & filtered label elements, related primary label of attribute owning requested label and paging."
855
- },
856
- "Paging": {
857
- "required": ["count", "offset", "total"],
858
- "type": "object",
859
- "properties": {
860
- "total": {
861
- "type": "integer",
862
- "description": "Count of returnable items ignoring paging.",
863
- "format": "int32",
864
- "example": 100
865
- },
866
- "count": {
867
- "type": "integer",
868
- "description": "Count of items in this page.",
869
- "format": "int32",
870
- "example": 5
871
- },
872
- "offset": {
873
- "type": "integer",
874
- "description": "Offset of this page.",
875
- "format": "int32",
876
- "example": 10
877
- },
878
- "next": {
879
- "type": "string",
880
- "description": "Link to next page, or null if this is last page.",
881
- "example": "https://sample.gooddata.com/api/v1/actions/workspaces/sampleWorkspace/execution/collectLabelElements?label=sample.price&limit=5&offset=10"
882
- }
883
- },
884
- "description": "Current page description."
885
- },
886
- "RestApiIdentifier": {
887
- "required": ["id", "type"],
888
- "type": "object",
889
- "properties": {
890
- "id": {
891
- "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
892
- "type": "string",
893
- "example": "sample_item.price"
894
- },
895
- "type": {
896
- "type": "string",
897
- "example": "fact"
898
- }
899
- },
900
- "description": "Object identifier."
901
- },
902
- "AbsoluteDateFilter": {
903
- "required": ["absoluteDateFilter"],
1022
+ "AbsoluteDateFilter": {
1023
+ "required": ["absoluteDateFilter"],
904
1024
  "type": "object",
905
1025
  "properties": {
906
1026
  "absoluteDateFilter": {
@@ -928,7 +1048,63 @@
928
1048
  },
929
1049
  "description": "A datetime filter specifying exact from and to values."
930
1050
  },
931
- "AfmObjectIdentifierDataset": {
1051
+ "AfmIdentifier": {
1052
+ "type": "object",
1053
+ "oneOf": [
1054
+ {
1055
+ "$ref": "#/components/schemas/AfmObjectIdentifier"
1056
+ },
1057
+ {
1058
+ "$ref": "#/components/schemas/AfmLocalIdentifier"
1059
+ }
1060
+ ]
1061
+ },
1062
+ "AfmLocalIdentifier": {
1063
+ "required": ["localIdentifier"],
1064
+ "type": "object",
1065
+ "properties": {
1066
+ "localIdentifier": {
1067
+ "pattern": "^[.a-zA-Z0-9_-]+$",
1068
+ "type": "string",
1069
+ "example": "sampleAutoGenerated0123_ID"
1070
+ }
1071
+ }
1072
+ },
1073
+ "AfmObjectIdentifier": {
1074
+ "required": ["identifier"],
1075
+ "type": "object",
1076
+ "properties": {
1077
+ "identifier": {
1078
+ "required": ["type", "id"],
1079
+ "type": "object",
1080
+ "properties": {
1081
+ "type": {
1082
+ "type": "string",
1083
+ "example": "fact",
1084
+ "enum": [
1085
+ "analyticalDashboard",
1086
+ "attribute",
1087
+ "dashboardPlugin",
1088
+ "dataset",
1089
+ "fact",
1090
+ "label",
1091
+ "metric",
1092
+ "prompt",
1093
+ "visualizationObject",
1094
+ "filterContext"
1095
+ ]
1096
+ },
1097
+ "id": {
1098
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
1099
+ "type": "string",
1100
+ "example": "sample_item.price"
1101
+ }
1102
+ }
1103
+ }
1104
+ },
1105
+ "description": "ObjectIdentifier with `identifier` wrapper. This serves to distinguish MD object identifiers in AFM request from local identifiers."
1106
+ },
1107
+ "AfmObjectIdentifierAttribute": {
932
1108
  "required": ["identifier"],
933
1109
  "type": "object",
934
1110
  "properties": {
@@ -943,625 +1119,824 @@
943
1119
  },
944
1120
  "type": {
945
1121
  "type": "string",
946
- "enum": ["dataset"]
1122
+ "enum": ["attribute"]
947
1123
  }
948
1124
  }
949
1125
  }
950
1126
  }
951
1127
  },
952
- "DateFilter": {
1128
+ "AfmObjectIdentifierCore": {
1129
+ "required": ["identifier"],
953
1130
  "type": "object",
954
- "description": "Abstract filter definition type for dates.",
955
- "oneOf": [
956
- {
957
- "$ref": "#/components/schemas/AbsoluteDateFilter"
958
- },
959
- {
960
- "$ref": "#/components/schemas/RelativeDateFilter"
1131
+ "properties": {
1132
+ "identifier": {
1133
+ "required": ["id", "type"],
1134
+ "type": "object",
1135
+ "properties": {
1136
+ "id": {
1137
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
1138
+ "type": "string",
1139
+ "example": "sample_item.price"
1140
+ },
1141
+ "type": {
1142
+ "type": "string",
1143
+ "enum": ["attribute", "label", "fact", "metric"]
1144
+ }
1145
+ }
961
1146
  }
962
- ]
1147
+ }
963
1148
  },
964
- "DependsOn": {
965
- "required": ["label", "values"],
1149
+ "AfmObjectIdentifierDataset": {
1150
+ "required": ["identifier"],
966
1151
  "type": "object",
967
- "description": "Filter definition type specified by label and values.",
968
- "allOf": [
969
- {
970
- "$ref": "#/components/schemas/DependsOnItem"
971
- },
972
- {
1152
+ "properties": {
1153
+ "identifier": {
1154
+ "required": ["id", "type"],
973
1155
  "type": "object",
974
1156
  "properties": {
975
- "label": {
1157
+ "id": {
1158
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
976
1159
  "type": "string",
977
- "description": "Specifies on which label the filter depends on."
978
- },
979
- "values": {
980
- "type": "array",
981
- "description": "Specifies values of the label for element filtering.",
982
- "items": {
983
- "type": "string",
984
- "nullable": true
985
- }
1160
+ "example": "sample_item.price"
986
1161
  },
987
- "complementFilter": {
988
- "type": "boolean",
989
- "description": "Inverse filtering mode.",
990
- "default": false
1162
+ "type": {
1163
+ "type": "string",
1164
+ "enum": ["dataset"]
991
1165
  }
992
1166
  }
993
1167
  }
994
- ]
1168
+ }
995
1169
  },
996
- "DependsOnDateFilter": {
997
- "required": ["dateFilter"],
1170
+ "AfmObjectIdentifierLabel": {
1171
+ "required": ["identifier"],
998
1172
  "type": "object",
999
- "description": "Filter definition type for dates.",
1000
- "allOf": [
1001
- {
1002
- "$ref": "#/components/schemas/DependsOnItem"
1003
- },
1004
- {
1173
+ "properties": {
1174
+ "identifier": {
1175
+ "required": ["type", "id"],
1005
1176
  "type": "object",
1006
1177
  "properties": {
1007
- "dateFilter": {
1008
- "$ref": "#/components/schemas/DateFilter"
1178
+ "type": {
1179
+ "type": "string",
1180
+ "enum": ["label"]
1181
+ },
1182
+ "id": {
1183
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
1184
+ "type": "string",
1185
+ "example": "sample_item.price"
1009
1186
  }
1010
1187
  }
1011
1188
  }
1012
- ]
1013
- },
1014
- "DependsOnItem": {
1015
- "type": "object",
1016
- "nullable": true
1189
+ }
1017
1190
  },
1018
- "ElementsRequest": {
1019
- "required": ["label"],
1191
+ "ArithmeticMeasureDefinition": {
1192
+ "required": ["arithmeticMeasure"],
1020
1193
  "type": "object",
1021
1194
  "properties": {
1022
- "label": {
1023
- "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
1024
- "type": "string",
1025
- "description": "Requested label.",
1026
- "example": "label_id"
1027
- },
1028
- "excludePrimaryLabel": {
1029
- "type": "boolean",
1030
- "description": "Excludes items from the result that differ only by primary label\n* ```false``` - return items with distinct primary label\n* ```true``` - return items with distinct requested label",
1031
- "default": false
1032
- },
1033
- "filterBy": {
1034
- "$ref": "#/components/schemas/FilterBy"
1035
- },
1036
- "sortOrder": {
1037
- "type": "string",
1038
- "description": "Sort order of returned items.\nItems are sorted by ```label``` title. If no sort order is specified then attribute's ```sortDirection``` is used, which is ASC by default",
1039
- "enum": ["ASC", "DESC"]
1040
- },
1041
- "complementFilter": {
1042
- "type": "boolean",
1043
- "description": "Inverse filters:\n* ```false``` - return items matching ```patternFilter``` and ```exactFilter```\n* ```true``` - return items not matching ```patternFilter``` and ```exactFilter```",
1044
- "default": false
1045
- },
1046
- "patternFilter": {
1047
- "type": "string",
1048
- "description": "Return only items, whose ```label``` title case insensitively contains ```filter``` as substring."
1049
- },
1050
- "exactFilter": {
1051
- "type": "array",
1052
- "description": "Return only items, whose ```label``` title exactly matches one of ```filter```.",
1053
- "items": {
1054
- "type": "string",
1055
- "nullable": true
1056
- }
1057
- },
1058
- "dependsOn": {
1059
- "type": "array",
1060
- "description": "Return only items, whose are not filtered out by the parent filters.",
1061
- "items": {
1062
- "oneOf": [
1063
- {
1064
- "$ref": "#/components/schemas/DependsOn"
1065
- },
1066
- {
1067
- "$ref": "#/components/schemas/DependsOnDateFilter"
1068
- }
1069
- ]
1070
- }
1071
- },
1072
- "validateBy": {
1073
- "type": "array",
1074
- "description": "Return only items, what are computable on metric.",
1075
- "items": {
1076
- "$ref": "#/components/schemas/ValidateByItem"
1077
- }
1078
- },
1079
- "dataSamplingPercentage": {
1080
- "type": "number",
1081
- "description": "Specifies percentage of source table data scanned during the computation. This field is deprecated and is no longer used during the elements computation.",
1082
- "format": "float",
1083
- "deprecated": true,
1084
- "default": 100
1085
- },
1086
- "cacheId": {
1087
- "type": "string",
1088
- "description": "If specified, the element data will be taken from the result with the same cacheId if it is available."
1089
- }
1090
- }
1091
- },
1092
- "FilterBy": {
1093
- "type": "object",
1094
- "properties": {
1095
- "labelType": {
1096
- "type": "string",
1097
- "description": "Specifies which label is used for filtering - primary or requested.",
1098
- "default": "REQUESTED",
1099
- "enum": ["PRIMARY", "REQUESTED"]
1100
- }
1101
- },
1102
- "description": "Specifies what is used for filtering."
1103
- },
1104
- "RelativeDateFilter": {
1105
- "required": ["relativeDateFilter"],
1106
- "type": "object",
1107
- "properties": {
1108
- "relativeDateFilter": {
1109
- "required": ["from", "granularity", "to", "dataset"],
1195
+ "arithmeticMeasure": {
1196
+ "required": ["measureIdentifiers", "operator"],
1110
1197
  "type": "object",
1111
1198
  "properties": {
1112
- "granularity": {
1113
- "type": "string",
1114
- "description": "Date granularity specifying particular date attribute in given dimension.",
1115
- "example": "DAY",
1116
- "enum": [
1117
- "MINUTE",
1118
- "HOUR",
1119
- "DAY",
1120
- "WEEK",
1121
- "MONTH",
1122
- "QUARTER",
1123
- "YEAR",
1124
- "MINUTE_OF_HOUR",
1125
- "HOUR_OF_DAY",
1126
- "DAY_OF_WEEK",
1127
- "DAY_OF_MONTH",
1128
- "DAY_OF_YEAR",
1129
- "WEEK_OF_YEAR",
1130
- "MONTH_OF_YEAR",
1131
- "QUARTER_OF_YEAR"
1132
- ]
1133
- },
1134
- "from": {
1135
- "type": "integer",
1136
- "description": "Start of the filtering interval. Specified by number of periods (with respect to given granularity). Typically negative (historical time interval like -2 for '2 days/weeks, ... ago').",
1137
- "format": "int32",
1138
- "example": -6
1139
- },
1140
- "to": {
1141
- "type": "integer",
1142
- "description": "End of the filtering interval. Specified by number of periods (with respect to given granularity). Value 'O' is representing current time-interval (current day, week, ...).",
1143
- "format": "int32",
1144
- "example": 0
1145
- },
1146
- "applyOnResult": {
1147
- "type": "boolean"
1199
+ "measureIdentifiers": {
1200
+ "type": "array",
1201
+ "description": "List of metrics to apply arithmetic operation by chosen operator.",
1202
+ "items": {
1203
+ "$ref": "#/components/schemas/AfmLocalIdentifier"
1204
+ }
1148
1205
  },
1149
- "dataset": {
1150
- "$ref": "#/components/schemas/AfmObjectIdentifierDataset"
1206
+ "operator": {
1207
+ "type": "string",
1208
+ "description": "Arithmetic operator describing operation between metrics.",
1209
+ "example": "SUM",
1210
+ "enum": ["SUM", "DIFFERENCE", "MULTIPLICATION", "RATIO", "CHANGE"]
1151
1211
  }
1152
1212
  }
1153
1213
  }
1154
1214
  },
1155
- "description": "A date filter specifying a time interval that is relative to the current date. For example, last week, next month, and so on. Field dataset is representing qualifier of date dimension."
1215
+ "description": "Metric representing arithmetics between metrics."
1156
1216
  },
1157
- "ValidateByItem": {
1158
- "required": ["id", "type"],
1217
+ "AttributeFilter": {
1159
1218
  "type": "object",
1160
- "properties": {
1161
- "id": {
1162
- "type": "string",
1163
- "description": "Specifies entity used for valid elements computation."
1219
+ "description": "Abstract filter definition type attributes",
1220
+ "oneOf": [
1221
+ {
1222
+ "$ref": "#/components/schemas/NegativeAttributeFilter"
1164
1223
  },
1165
- "type": {
1166
- "pattern": "^(label)|(attribute)|(fact)|(metric)$",
1167
- "type": "string",
1168
- "description": "Specifies entity type which could be label, attribute, fact, or metric."
1224
+ {
1225
+ "$ref": "#/components/schemas/PositiveAttributeFilter"
1169
1226
  }
1170
- },
1171
- "nullable": true
1227
+ ]
1172
1228
  },
1173
- "AFM": {
1174
- "required": ["attributes", "filters", "measures"],
1229
+ "AttributeFilterElements": {
1230
+ "required": ["values"],
1175
1231
  "type": "object",
1176
1232
  "properties": {
1177
- "attributes": {
1178
- "type": "array",
1179
- "description": "Attributes to be used in the computation.",
1180
- "items": {
1181
- "$ref": "#/components/schemas/AttributeItem"
1182
- }
1183
- },
1184
- "filters": {
1185
- "type": "array",
1186
- "description": "Various filter types to filter execution result.",
1187
- "items": {
1188
- "$ref": "#/components/schemas/FilterDefinition"
1189
- }
1190
- },
1191
- "measures": {
1192
- "type": "array",
1193
- "description": "Metrics to be computed.",
1194
- "items": {
1195
- "$ref": "#/components/schemas/MeasureItem"
1196
- }
1197
- },
1198
- "auxMeasures": {
1233
+ "values": {
1234
+ "uniqueItems": true,
1199
1235
  "type": "array",
1200
- "description": "Metrics to be referenced from other AFM objects (e.g. filters) but not included in the result.",
1236
+ "description": "Set of label values.",
1237
+ "example": ["value1", "value2"],
1201
1238
  "items": {
1202
- "$ref": "#/components/schemas/MeasureItem"
1239
+ "type": "string",
1240
+ "nullable": true
1203
1241
  }
1204
1242
  }
1205
1243
  },
1206
- "description": "Top level executable entity. Combination of [A]ttributes, [F]ilters & [M]etrics."
1244
+ "description": "Filter on specific set of label values."
1207
1245
  },
1208
- "AbstractMeasureValueFilter": {
1246
+ "DateFilter": {
1209
1247
  "type": "object",
1248
+ "description": "Abstract filter definition type for dates.",
1210
1249
  "oneOf": [
1211
1250
  {
1212
- "$ref": "#/components/schemas/ComparisonMeasureValueFilter"
1251
+ "$ref": "#/components/schemas/AbsoluteDateFilter"
1213
1252
  },
1214
1253
  {
1215
- "$ref": "#/components/schemas/RangeMeasureValueFilter"
1254
+ "$ref": "#/components/schemas/RelativeDateFilter"
1255
+ }
1256
+ ]
1257
+ },
1258
+ "FilterDefinitionForSimpleMeasure": {
1259
+ "type": "object",
1260
+ "description": "Abstract filter definition type for simple metric.",
1261
+ "oneOf": [
1262
+ {
1263
+ "$ref": "#/components/schemas/DateFilter"
1216
1264
  },
1217
1265
  {
1218
- "$ref": "#/components/schemas/RankingFilter"
1266
+ "$ref": "#/components/schemas/AttributeFilter"
1219
1267
  }
1220
1268
  ]
1221
1269
  },
1222
- "AfmExecution": {
1223
- "required": ["execution", "resultSpec"],
1270
+ "InlineMeasureDefinition": {
1271
+ "required": ["inline"],
1224
1272
  "type": "object",
1225
1273
  "properties": {
1226
- "execution": {
1227
- "$ref": "#/components/schemas/AFM"
1274
+ "inline": {
1275
+ "required": ["maql"],
1276
+ "type": "object",
1277
+ "properties": {
1278
+ "maql": {
1279
+ "type": "string"
1280
+ }
1281
+ }
1282
+ }
1283
+ },
1284
+ "description": "Metric defined by the raw MAQL query."
1285
+ },
1286
+ "KeyDriversRequest": {
1287
+ "required": ["metric"],
1288
+ "type": "object",
1289
+ "properties": {
1290
+ "metric": {
1291
+ "$ref": "#/components/schemas/MeasureItem"
1228
1292
  },
1229
- "resultSpec": {
1230
- "$ref": "#/components/schemas/ResultSpec"
1293
+ "auxMetrics": {
1294
+ "type": "array",
1295
+ "description": "Additional metrics to be included in the computation, but excluded from the analysis.",
1296
+ "items": {
1297
+ "$ref": "#/components/schemas/MeasureItem"
1298
+ }
1231
1299
  },
1232
- "settings": {
1233
- "$ref": "#/components/schemas/ExecutionSettings"
1300
+ "sortDirection": {
1301
+ "type": "string",
1302
+ "description": "Sorting elements - ascending/descending order.",
1303
+ "default": "DESC",
1304
+ "enum": ["ASC", "DESC"]
1234
1305
  }
1235
1306
  }
1236
1307
  },
1237
- "AfmIdentifier": {
1308
+ "MeasureDefinition": {
1238
1309
  "type": "object",
1310
+ "description": "Abstract metric definition type",
1239
1311
  "oneOf": [
1240
1312
  {
1241
- "$ref": "#/components/schemas/AfmObjectIdentifier"
1313
+ "$ref": "#/components/schemas/InlineMeasureDefinition"
1242
1314
  },
1243
1315
  {
1244
- "$ref": "#/components/schemas/AfmLocalIdentifier"
1316
+ "$ref": "#/components/schemas/ArithmeticMeasureDefinition"
1317
+ },
1318
+ {
1319
+ "$ref": "#/components/schemas/SimpleMeasureDefinition"
1320
+ },
1321
+ {
1322
+ "$ref": "#/components/schemas/PopMeasureDefinition"
1245
1323
  }
1246
1324
  ]
1247
1325
  },
1248
- "AfmLocalIdentifier": {
1249
- "required": ["localIdentifier"],
1326
+ "MeasureItem": {
1327
+ "required": ["definition", "localIdentifier"],
1250
1328
  "type": "object",
1251
1329
  "properties": {
1252
1330
  "localIdentifier": {
1253
1331
  "pattern": "^[.a-zA-Z0-9_-]+$",
1254
1332
  "type": "string",
1255
- "example": "sampleAutoGenerated0123_ID"
1333
+ "example": "metric_1"
1334
+ },
1335
+ "definition": {
1336
+ "$ref": "#/components/schemas/MeasureDefinition"
1256
1337
  }
1257
1338
  }
1258
1339
  },
1259
- "AfmObjectIdentifier": {
1260
- "required": ["identifier"],
1340
+ "NegativeAttributeFilter": {
1341
+ "required": ["negativeAttributeFilter"],
1261
1342
  "type": "object",
1262
1343
  "properties": {
1263
- "identifier": {
1264
- "required": ["type", "id"],
1344
+ "negativeAttributeFilter": {
1345
+ "required": ["notIn", "label"],
1265
1346
  "type": "object",
1266
1347
  "properties": {
1267
- "type": {
1268
- "type": "string",
1269
- "example": "fact",
1270
- "enum": [
1271
- "analyticalDashboard",
1272
- "attribute",
1273
- "dashboardPlugin",
1274
- "dataset",
1275
- "fact",
1276
- "label",
1277
- "metric",
1278
- "prompt",
1279
- "visualizationObject",
1280
- "filterContext"
1281
- ]
1348
+ "notIn": {
1349
+ "$ref": "#/components/schemas/AttributeFilterElements"
1282
1350
  },
1283
- "id": {
1284
- "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
1285
- "type": "string",
1286
- "example": "sample_item.price"
1351
+ "applyOnResult": {
1352
+ "type": "boolean"
1353
+ },
1354
+ "label": {
1355
+ "$ref": "#/components/schemas/AfmIdentifier"
1287
1356
  }
1288
1357
  }
1289
1358
  }
1290
1359
  },
1291
- "description": "ObjectIdentifier with `identifier` wrapper. This serves to distinguish MD object identifiers in AFM request from local identifiers."
1360
+ "description": "Filter able to limit element values by label and related selected negated elements."
1292
1361
  },
1293
- "AfmObjectIdentifierAttribute": {
1294
- "required": ["identifier"],
1362
+ "PopDataset": {
1363
+ "required": ["dataset", "periodsAgo"],
1295
1364
  "type": "object",
1296
1365
  "properties": {
1297
- "identifier": {
1298
- "required": ["id", "type"],
1299
- "type": "object",
1300
- "properties": {
1301
- "id": {
1302
- "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
1303
- "type": "string",
1304
- "example": "sample_item.price"
1305
- },
1306
- "type": {
1307
- "type": "string",
1308
- "enum": ["attribute"]
1309
- }
1310
- }
1366
+ "dataset": {
1367
+ "$ref": "#/components/schemas/AfmObjectIdentifierDataset"
1368
+ },
1369
+ "periodsAgo": {
1370
+ "type": "integer",
1371
+ "format": "int32"
1311
1372
  }
1312
1373
  }
1313
1374
  },
1314
- "AfmObjectIdentifierCore": {
1315
- "required": ["identifier"],
1375
+ "PopDatasetMeasureDefinition": {
1376
+ "required": ["previousPeriodMeasure"],
1316
1377
  "type": "object",
1317
1378
  "properties": {
1318
- "identifier": {
1319
- "required": ["id", "type"],
1379
+ "previousPeriodMeasure": {
1380
+ "required": ["dateDatasets", "measureIdentifier"],
1320
1381
  "type": "object",
1321
1382
  "properties": {
1322
- "id": {
1323
- "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
1324
- "type": "string",
1325
- "example": "sample_item.price"
1383
+ "measureIdentifier": {
1384
+ "$ref": "#/components/schemas/AfmLocalIdentifier"
1326
1385
  },
1327
- "type": {
1328
- "type": "string",
1329
- "enum": ["attribute", "label", "fact", "metric"]
1386
+ "dateDatasets": {
1387
+ "type": "array",
1388
+ "items": {
1389
+ "$ref": "#/components/schemas/PopDataset"
1390
+ }
1330
1391
  }
1331
1392
  }
1332
1393
  }
1333
- }
1394
+ },
1395
+ "description": "Previous period type of metric."
1334
1396
  },
1335
- "AfmObjectIdentifierLabel": {
1336
- "required": ["identifier"],
1397
+ "PopDate": {
1398
+ "required": ["attribute", "periodsAgo"],
1337
1399
  "type": "object",
1338
1400
  "properties": {
1339
- "identifier": {
1340
- "required": ["type", "id"],
1341
- "type": "object",
1342
- "properties": {
1343
- "type": {
1344
- "type": "string",
1345
- "enum": ["label"]
1346
- },
1347
- "id": {
1348
- "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
1349
- "type": "string",
1350
- "example": "sample_item.price"
1351
- }
1352
- }
1401
+ "attribute": {
1402
+ "$ref": "#/components/schemas/AfmObjectIdentifierAttribute"
1403
+ },
1404
+ "periodsAgo": {
1405
+ "type": "integer",
1406
+ "format": "int32"
1353
1407
  }
1354
1408
  }
1355
1409
  },
1356
- "ArithmeticMeasureDefinition": {
1357
- "required": ["arithmeticMeasure"],
1410
+ "PopDateMeasureDefinition": {
1411
+ "required": ["overPeriodMeasure"],
1358
1412
  "type": "object",
1359
1413
  "properties": {
1360
- "arithmeticMeasure": {
1361
- "required": ["measureIdentifiers", "operator"],
1414
+ "overPeriodMeasure": {
1415
+ "required": ["dateAttributes", "measureIdentifier"],
1362
1416
  "type": "object",
1363
1417
  "properties": {
1364
- "measureIdentifiers": {
1418
+ "measureIdentifier": {
1419
+ "$ref": "#/components/schemas/AfmLocalIdentifier"
1420
+ },
1421
+ "dateAttributes": {
1365
1422
  "type": "array",
1366
- "description": "List of metrics to apply arithmetic operation by chosen operator.",
1367
1423
  "items": {
1368
- "$ref": "#/components/schemas/AfmLocalIdentifier"
1424
+ "$ref": "#/components/schemas/PopDate"
1369
1425
  }
1370
- },
1371
- "operator": {
1372
- "type": "string",
1373
- "description": "Arithmetic operator describing operation between metrics.",
1374
- "example": "SUM",
1375
- "enum": ["SUM", "DIFFERENCE", "MULTIPLICATION", "RATIO", "CHANGE"]
1376
1426
  }
1377
1427
  }
1378
1428
  }
1379
1429
  },
1380
- "description": "Metric representing arithmetics between metrics."
1430
+ "description": "Period over period type of metric."
1381
1431
  },
1382
- "AttributeFilter": {
1432
+ "PopMeasureDefinition": {
1383
1433
  "type": "object",
1384
- "description": "Abstract filter definition type attributes",
1385
1434
  "oneOf": [
1386
1435
  {
1387
- "$ref": "#/components/schemas/NegativeAttributeFilter"
1436
+ "$ref": "#/components/schemas/PopDatasetMeasureDefinition"
1388
1437
  },
1389
1438
  {
1390
- "$ref": "#/components/schemas/PositiveAttributeFilter"
1439
+ "$ref": "#/components/schemas/PopDateMeasureDefinition"
1391
1440
  }
1392
1441
  ]
1393
1442
  },
1394
- "AttributeFilterElements": {
1395
- "required": ["values"],
1443
+ "PositiveAttributeFilter": {
1444
+ "required": ["positiveAttributeFilter"],
1396
1445
  "type": "object",
1397
1446
  "properties": {
1398
- "values": {
1399
- "uniqueItems": true,
1400
- "type": "array",
1401
- "description": "Set of label values.",
1402
- "example": ["value1", "value2"],
1403
- "items": {
1404
- "type": "string",
1405
- "nullable": true
1447
+ "positiveAttributeFilter": {
1448
+ "required": ["in", "label"],
1449
+ "type": "object",
1450
+ "properties": {
1451
+ "in": {
1452
+ "$ref": "#/components/schemas/AttributeFilterElements"
1453
+ },
1454
+ "applyOnResult": {
1455
+ "type": "boolean"
1456
+ },
1457
+ "label": {
1458
+ "$ref": "#/components/schemas/AfmIdentifier"
1459
+ }
1406
1460
  }
1407
1461
  }
1408
1462
  },
1409
- "description": "Filter on specific set of label values."
1410
- },
1411
- "AttributeItem": {
1412
- "required": ["label", "localIdentifier"],
1413
- "type": "object",
1414
- "properties": {
1415
- "localIdentifier": {
1416
- "pattern": "^[.a-zA-Z0-9_-]+$",
1417
- "type": "string"
1418
- },
1419
- "label": {
1420
- "$ref": "#/components/schemas/AfmObjectIdentifierLabel"
1421
- },
1422
- "showAllValues": {
1423
- "type": "boolean",
1424
- "description": "Specifies that the label should be outer-joined.",
1425
- "default": false
1426
- }
1427
- }
1463
+ "description": "Filter able to limit element values by label and related selected elements."
1428
1464
  },
1429
- "ComparisonMeasureValueFilter": {
1430
- "required": ["comparisonMeasureValueFilter"],
1465
+ "RelativeDateFilter": {
1466
+ "required": ["relativeDateFilter"],
1431
1467
  "type": "object",
1432
1468
  "properties": {
1433
- "comparisonMeasureValueFilter": {
1434
- "required": ["operator", "value", "measure"],
1469
+ "relativeDateFilter": {
1470
+ "required": ["from", "granularity", "to", "dataset"],
1435
1471
  "type": "object",
1436
1472
  "properties": {
1437
- "treatNullValuesAs": {
1438
- "type": "number",
1439
- "example": 0
1440
- },
1441
- "operator": {
1473
+ "granularity": {
1442
1474
  "type": "string",
1443
- "example": "GREATER_THAN",
1475
+ "description": "Date granularity specifying particular date attribute in given dimension.",
1476
+ "example": "DAY",
1444
1477
  "enum": [
1445
- "GREATER_THAN",
1446
- "GREATER_THAN_OR_EQUAL_TO",
1447
- "LESS_THAN",
1448
- "LESS_THAN_OR_EQUAL_TO",
1449
- "EQUAL_TO",
1450
- "NOT_EQUAL_TO"
1478
+ "MINUTE",
1479
+ "HOUR",
1480
+ "DAY",
1481
+ "WEEK",
1482
+ "MONTH",
1483
+ "QUARTER",
1484
+ "YEAR",
1485
+ "MINUTE_OF_HOUR",
1486
+ "HOUR_OF_DAY",
1487
+ "DAY_OF_WEEK",
1488
+ "DAY_OF_MONTH",
1489
+ "DAY_OF_YEAR",
1490
+ "WEEK_OF_YEAR",
1491
+ "MONTH_OF_YEAR",
1492
+ "QUARTER_OF_YEAR"
1451
1493
  ]
1452
1494
  },
1453
- "value": {
1454
- "type": "number",
1455
- "example": 1327
1495
+ "from": {
1496
+ "type": "integer",
1497
+ "description": "Start of the filtering interval. Specified by number of periods (with respect to given granularity). Typically negative (historical time interval like -2 for '2 days/weeks, ... ago').",
1498
+ "format": "int32",
1499
+ "example": -6
1500
+ },
1501
+ "to": {
1502
+ "type": "integer",
1503
+ "description": "End of the filtering interval. Specified by number of periods (with respect to given granularity). Value 'O' is representing current time-interval (current day, week, ...).",
1504
+ "format": "int32",
1505
+ "example": 0
1456
1506
  },
1457
1507
  "applyOnResult": {
1458
1508
  "type": "boolean"
1459
1509
  },
1460
- "measure": {
1461
- "$ref": "#/components/schemas/AfmIdentifier"
1510
+ "dataset": {
1511
+ "$ref": "#/components/schemas/AfmObjectIdentifierDataset"
1462
1512
  }
1463
1513
  }
1464
1514
  }
1465
- },
1466
- "description": "Filter the result by comparing specified metric to given constant value, using given comparison operator."
1515
+ },
1516
+ "description": "A date filter specifying a time interval that is relative to the current date. For example, last week, next month, and so on. Field dataset is representing qualifier of date dimension."
1517
+ },
1518
+ "SimpleMeasureDefinition": {
1519
+ "required": ["measure"],
1520
+ "type": "object",
1521
+ "properties": {
1522
+ "measure": {
1523
+ "required": ["item"],
1524
+ "type": "object",
1525
+ "properties": {
1526
+ "item": {
1527
+ "$ref": "#/components/schemas/AfmObjectIdentifierCore"
1528
+ },
1529
+ "aggregation": {
1530
+ "type": "string",
1531
+ "description": "Definition of aggregation type of the metric.",
1532
+ "example": "SUM",
1533
+ "enum": [
1534
+ "SUM",
1535
+ "COUNT",
1536
+ "AVG",
1537
+ "MIN",
1538
+ "MAX",
1539
+ "MEDIAN",
1540
+ "RUNSUM",
1541
+ "APPROXIMATE_COUNT"
1542
+ ]
1543
+ },
1544
+ "computeRatio": {
1545
+ "type": "boolean",
1546
+ "description": "If true compute the percentage of given metric values (broken down by AFM attributes) to the total (not broken down).",
1547
+ "example": true,
1548
+ "default": false
1549
+ },
1550
+ "filters": {
1551
+ "type": "array",
1552
+ "description": "Metrics can be filtered by attribute filters with the same interface as ones for global AFM. Note that only one DateFilter is allowed.",
1553
+ "items": {
1554
+ "$ref": "#/components/schemas/FilterDefinitionForSimpleMeasure"
1555
+ }
1556
+ }
1557
+ }
1558
+ }
1559
+ }
1560
+ },
1561
+ "AttributeFormat": {
1562
+ "required": ["locale", "pattern"],
1563
+ "type": "object",
1564
+ "properties": {
1565
+ "locale": {
1566
+ "type": "string",
1567
+ "description": "Format locale"
1568
+ },
1569
+ "pattern": {
1570
+ "type": "string",
1571
+ "description": "Format pattern"
1572
+ }
1573
+ }
1574
+ },
1575
+ "KeyDriversDimension": {
1576
+ "required": ["attribute", "attributeName", "label", "labelName"],
1577
+ "type": "object",
1578
+ "properties": {
1579
+ "label": {
1580
+ "$ref": "#/components/schemas/RestApiIdentifier"
1581
+ },
1582
+ "labelName": {
1583
+ "type": "string"
1584
+ },
1585
+ "attribute": {
1586
+ "$ref": "#/components/schemas/RestApiIdentifier"
1587
+ },
1588
+ "attributeName": {
1589
+ "type": "string"
1590
+ },
1591
+ "granularity": {
1592
+ "type": "string",
1593
+ "enum": [
1594
+ "MINUTE",
1595
+ "HOUR",
1596
+ "DAY",
1597
+ "WEEK",
1598
+ "MONTH",
1599
+ "QUARTER",
1600
+ "YEAR",
1601
+ "MINUTE_OF_HOUR",
1602
+ "HOUR_OF_DAY",
1603
+ "DAY_OF_WEEK",
1604
+ "DAY_OF_MONTH",
1605
+ "DAY_OF_YEAR",
1606
+ "WEEK_OF_YEAR",
1607
+ "MONTH_OF_YEAR",
1608
+ "QUARTER_OF_YEAR"
1609
+ ]
1610
+ },
1611
+ "format": {
1612
+ "$ref": "#/components/schemas/AttributeFormat"
1613
+ },
1614
+ "valueType": {
1615
+ "type": "string",
1616
+ "enum": ["TEXT", "HYPERLINK", "GEO", "GEO_LONGITUDE", "GEO_LATITUDE", "IMAGE"]
1617
+ }
1618
+ }
1619
+ },
1620
+ "KeyDriversResponse": {
1621
+ "required": ["dimensions", "links"],
1622
+ "type": "object",
1623
+ "properties": {
1624
+ "dimensions": {
1625
+ "type": "array",
1626
+ "items": {
1627
+ "$ref": "#/components/schemas/KeyDriversDimension"
1628
+ }
1629
+ },
1630
+ "links": {
1631
+ "$ref": "#/components/schemas/ExecutionLinks"
1632
+ }
1633
+ }
1634
+ },
1635
+ "RestApiIdentifier": {
1636
+ "required": ["id", "type"],
1637
+ "type": "object",
1638
+ "properties": {
1639
+ "id": {
1640
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
1641
+ "type": "string",
1642
+ "example": "sample_item.price"
1643
+ },
1644
+ "type": {
1645
+ "type": "string",
1646
+ "example": "fact"
1647
+ }
1648
+ },
1649
+ "description": "Object identifier."
1650
+ },
1651
+ "Element": {
1652
+ "required": ["primaryTitle", "title"],
1653
+ "type": "object",
1654
+ "properties": {
1655
+ "title": {
1656
+ "type": "string",
1657
+ "description": "Title of requested label.",
1658
+ "nullable": true
1659
+ },
1660
+ "primaryTitle": {
1661
+ "type": "string",
1662
+ "description": "Title of primary label of attribute owning requested label, null if the title is null or the primary label is excluded",
1663
+ "nullable": true
1664
+ }
1665
+ },
1666
+ "description": "List of returned elements."
1667
+ },
1668
+ "ElementsResponse": {
1669
+ "required": ["elements", "paging", "primaryLabel"],
1670
+ "type": "object",
1671
+ "properties": {
1672
+ "primaryLabel": {
1673
+ "$ref": "#/components/schemas/RestApiIdentifier"
1674
+ },
1675
+ "elements": {
1676
+ "type": "array",
1677
+ "description": "List of returned elements.",
1678
+ "items": {
1679
+ "$ref": "#/components/schemas/Element"
1680
+ }
1681
+ },
1682
+ "paging": {
1683
+ "$ref": "#/components/schemas/Paging"
1684
+ },
1685
+ "granularity": {
1686
+ "type": "string",
1687
+ "description": "Granularity of requested label in case of date attribute",
1688
+ "enum": [
1689
+ "MINUTE",
1690
+ "HOUR",
1691
+ "DAY",
1692
+ "WEEK",
1693
+ "MONTH",
1694
+ "QUARTER",
1695
+ "YEAR",
1696
+ "MINUTE_OF_HOUR",
1697
+ "HOUR_OF_DAY",
1698
+ "DAY_OF_WEEK",
1699
+ "DAY_OF_MONTH",
1700
+ "DAY_OF_YEAR",
1701
+ "WEEK_OF_YEAR",
1702
+ "MONTH_OF_YEAR",
1703
+ "QUARTER_OF_YEAR"
1704
+ ]
1705
+ },
1706
+ "format": {
1707
+ "$ref": "#/components/schemas/AttributeFormat"
1708
+ },
1709
+ "cacheId": {
1710
+ "type": "string",
1711
+ "description": "The client can use this in subsequent requests (like paging or search) to get results from the same point in time as the previous request. This is useful when the underlying data source has caches disabled and the client wants to avoid seeing inconsistent results and to also avoid excessive queries to the database itself."
1712
+ }
1713
+ },
1714
+ "description": "Entity holding list of sorted & filtered label elements, related primary label of attribute owning requested label and paging."
1715
+ },
1716
+ "Paging": {
1717
+ "required": ["count", "offset", "total"],
1718
+ "type": "object",
1719
+ "properties": {
1720
+ "total": {
1721
+ "type": "integer",
1722
+ "description": "Count of returnable items ignoring paging.",
1723
+ "format": "int32",
1724
+ "example": 100
1725
+ },
1726
+ "count": {
1727
+ "type": "integer",
1728
+ "description": "Count of items in this page.",
1729
+ "format": "int32",
1730
+ "example": 5
1731
+ },
1732
+ "offset": {
1733
+ "type": "integer",
1734
+ "description": "Offset of this page.",
1735
+ "format": "int32",
1736
+ "example": 10
1737
+ },
1738
+ "next": {
1739
+ "type": "string",
1740
+ "description": "Link to next page, or null if this is last page.",
1741
+ "example": "https://sample.gooddata.com/api/v1/actions/workspaces/sampleWorkspace/execution/collectLabelElements?label=sample.price&limit=5&offset=10"
1742
+ }
1743
+ },
1744
+ "description": "Current page description."
1745
+ },
1746
+ "DependsOn": {
1747
+ "required": ["label", "values"],
1748
+ "type": "object",
1749
+ "description": "Filter definition type specified by label and values.",
1750
+ "allOf": [
1751
+ {
1752
+ "$ref": "#/components/schemas/DependsOnItem"
1753
+ },
1754
+ {
1755
+ "type": "object",
1756
+ "properties": {
1757
+ "label": {
1758
+ "type": "string",
1759
+ "description": "Specifies on which label the filter depends on."
1760
+ },
1761
+ "values": {
1762
+ "type": "array",
1763
+ "description": "Specifies values of the label for element filtering.",
1764
+ "items": {
1765
+ "type": "string",
1766
+ "nullable": true
1767
+ }
1768
+ },
1769
+ "complementFilter": {
1770
+ "type": "boolean",
1771
+ "description": "Inverse filtering mode.",
1772
+ "default": false
1773
+ }
1774
+ }
1775
+ }
1776
+ ]
1777
+ },
1778
+ "DependsOnDateFilter": {
1779
+ "required": ["dateFilter"],
1780
+ "type": "object",
1781
+ "description": "Filter definition type for dates.",
1782
+ "allOf": [
1783
+ {
1784
+ "$ref": "#/components/schemas/DependsOnItem"
1785
+ },
1786
+ {
1787
+ "type": "object",
1788
+ "properties": {
1789
+ "dateFilter": {
1790
+ "$ref": "#/components/schemas/DateFilter"
1791
+ }
1792
+ }
1793
+ }
1794
+ ]
1795
+ },
1796
+ "DependsOnItem": {
1797
+ "type": "object",
1798
+ "nullable": true
1799
+ },
1800
+ "ElementsRequest": {
1801
+ "required": ["label"],
1802
+ "type": "object",
1803
+ "properties": {
1804
+ "label": {
1805
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
1806
+ "type": "string",
1807
+ "description": "Requested label.",
1808
+ "example": "label_id"
1809
+ },
1810
+ "excludePrimaryLabel": {
1811
+ "type": "boolean",
1812
+ "description": "Excludes items from the result that differ only by primary label\n* ```false``` - return items with distinct primary label\n* ```true``` - return items with distinct requested label",
1813
+ "default": false
1814
+ },
1815
+ "filterBy": {
1816
+ "$ref": "#/components/schemas/FilterBy"
1817
+ },
1818
+ "sortOrder": {
1819
+ "type": "string",
1820
+ "description": "Sort order of returned items.\nItems are sorted by ```label``` title. If no sort order is specified then attribute's ```sortDirection``` is used, which is ASC by default",
1821
+ "enum": ["ASC", "DESC"]
1822
+ },
1823
+ "complementFilter": {
1824
+ "type": "boolean",
1825
+ "description": "Inverse filters:\n* ```false``` - return items matching ```patternFilter``` and ```exactFilter```\n* ```true``` - return items not matching ```patternFilter``` and ```exactFilter```",
1826
+ "default": false
1827
+ },
1828
+ "patternFilter": {
1829
+ "type": "string",
1830
+ "description": "Return only items, whose ```label``` title case insensitively contains ```filter``` as substring."
1831
+ },
1832
+ "exactFilter": {
1833
+ "type": "array",
1834
+ "description": "Return only items, whose ```label``` title exactly matches one of ```filter```.",
1835
+ "items": {
1836
+ "type": "string",
1837
+ "nullable": true
1838
+ }
1839
+ },
1840
+ "dependsOn": {
1841
+ "type": "array",
1842
+ "description": "Return only items, whose are not filtered out by the parent filters.",
1843
+ "items": {
1844
+ "oneOf": [
1845
+ {
1846
+ "$ref": "#/components/schemas/DependsOn"
1847
+ },
1848
+ {
1849
+ "$ref": "#/components/schemas/DependsOnDateFilter"
1850
+ }
1851
+ ]
1852
+ }
1853
+ },
1854
+ "validateBy": {
1855
+ "type": "array",
1856
+ "description": "Return only items, what are computable on metric.",
1857
+ "items": {
1858
+ "$ref": "#/components/schemas/ValidateByItem"
1859
+ }
1860
+ },
1861
+ "dataSamplingPercentage": {
1862
+ "type": "number",
1863
+ "description": "Specifies percentage of source table data scanned during the computation. This field is deprecated and is no longer used during the elements computation.",
1864
+ "format": "float",
1865
+ "deprecated": true,
1866
+ "default": 100
1867
+ },
1868
+ "cacheId": {
1869
+ "type": "string",
1870
+ "description": "If specified, the element data will be taken from the result with the same cacheId if it is available."
1871
+ }
1872
+ }
1467
1873
  },
1468
- "DataColumnLocator": {
1469
- "required": ["properties"],
1874
+ "FilterBy": {
1470
1875
  "type": "object",
1471
1876
  "properties": {
1472
- "properties": {
1473
- "type": "object",
1474
- "additionalProperties": {
1475
- "type": "string",
1476
- "description": "Mapping from dimension items (either 'localIdentifier' from 'AttributeItem', or \"measureGroup\") to their respective values. This effectively specifies the path (location) of the data column used for sorting. Therefore values for all dimension items must be specified.",
1477
- "example": "{\"status\":\"lost\",\"measureGroup\":\"m1\"}"
1478
- },
1479
- "description": "Mapping from dimension items (either 'localIdentifier' from 'AttributeItem', or \"measureGroup\") to their respective values. This effectively specifies the path (location) of the data column used for sorting. Therefore values for all dimension items must be specified.",
1480
- "example": {
1481
- "status": "lost",
1482
- "measureGroup": "m1"
1483
- }
1877
+ "labelType": {
1878
+ "type": "string",
1879
+ "description": "Specifies which label is used for filtering - primary or requested.",
1880
+ "default": "REQUESTED",
1881
+ "enum": ["PRIMARY", "REQUESTED"]
1484
1882
  }
1485
1883
  },
1486
- "description": "Mapping from dimension items (either 'localIdentifier' from 'AttributeItem', or \"measureGroup\") to their respective values. This effectively specifies the path (location) of the data column used for sorting. Therefore values for all dimension items must be specified.",
1487
- "example": {
1488
- "dim2": {
1489
- "status": "lost",
1490
- "measureGroup": "m1"
1491
- }
1492
- }
1884
+ "description": "Specifies what is used for filtering."
1493
1885
  },
1494
- "DataColumnLocators": {
1886
+ "ValidateByItem": {
1887
+ "required": ["id", "type"],
1495
1888
  "type": "object",
1496
1889
  "properties": {
1497
- "properties": {
1498
- "type": "object",
1499
- "additionalProperties": {
1500
- "$ref": "#/components/schemas/DataColumnLocator"
1501
- },
1502
- "description": "Mapping from dimensions to data column locators.",
1503
- "example": {
1504
- "dim2": {
1505
- "status": "lost",
1506
- "measureGroup": "m1"
1507
- }
1508
- }
1890
+ "id": {
1891
+ "type": "string",
1892
+ "description": "Specifies entity used for valid elements computation."
1893
+ },
1894
+ "type": {
1895
+ "pattern": "^(label)|(attribute)|(fact)|(metric)$",
1896
+ "type": "string",
1897
+ "description": "Specifies entity type which could be label, attribute, fact, or metric."
1509
1898
  }
1510
- }
1899
+ },
1900
+ "nullable": true
1511
1901
  },
1512
- "Dimension": {
1513
- "required": ["itemIdentifiers"],
1902
+ "AFM": {
1903
+ "required": ["attributes", "filters", "measures"],
1514
1904
  "type": "object",
1515
1905
  "properties": {
1516
- "localIdentifier": {
1517
- "pattern": "^[.a-zA-Z0-9_-]+$",
1518
- "type": "string",
1519
- "description": "Dimension identification within requests. Other entities can reference this dimension by this value.",
1520
- "example": "firstDimension"
1906
+ "attributes": {
1907
+ "type": "array",
1908
+ "description": "Attributes to be used in the computation.",
1909
+ "items": {
1910
+ "$ref": "#/components/schemas/AttributeItem"
1911
+ }
1521
1912
  },
1522
- "itemIdentifiers": {
1913
+ "filters": {
1523
1914
  "type": "array",
1524
- "description": "List of items in current dimension. Can reference 'localIdentifier' from 'AttributeItem', or special pseudo attribute \"measureGroup\" representing list of metrics.",
1525
- "example": ["attribute_1", "measureGroup"],
1915
+ "description": "Various filter types to filter execution result.",
1526
1916
  "items": {
1527
- "type": "string"
1917
+ "$ref": "#/components/schemas/FilterDefinition"
1528
1918
  }
1529
1919
  },
1530
- "sorting": {
1920
+ "measures": {
1531
1921
  "type": "array",
1532
- "description": "List of sorting rules. From most relevant to least relevant (less relevant rule is applied, when more relevant rule compares items as equal).",
1922
+ "description": "Metrics to be computed.",
1533
1923
  "items": {
1534
- "$ref": "#/components/schemas/SortKey"
1924
+ "$ref": "#/components/schemas/MeasureItem"
1925
+ }
1926
+ },
1927
+ "auxMeasures": {
1928
+ "type": "array",
1929
+ "description": "Metrics to be referenced from other AFM objects (e.g. filters) but not included in the result.",
1930
+ "items": {
1931
+ "$ref": "#/components/schemas/MeasureItem"
1535
1932
  }
1536
1933
  }
1537
1934
  },
1538
- "description": "Single dimension description."
1539
- },
1540
- "ExecutionSettings": {
1541
- "type": "object",
1542
- "properties": {
1543
- "dataSamplingPercentage": {
1544
- "maximum": 100,
1545
- "exclusiveMaximum": true,
1546
- "minimum": 0,
1547
- "exclusiveMinimum": true,
1548
- "type": "number",
1549
- "description": "Specifies the percentage of rows from fact datasets to use during computation. This feature is available only for workspaces that use a Vertica Data Source without table views.",
1550
- "format": "float"
1551
- }
1552
- },
1553
- "description": "Various settings affecting the process of AFM execution or its result"
1935
+ "description": "Top level executable entity. Combination of [A]ttributes, [F]ilters & [M]etrics."
1554
1936
  },
1555
- "FilterDefinition": {
1937
+ "AbstractMeasureValueFilter": {
1556
1938
  "type": "object",
1557
- "description": "Abstract filter definition type",
1558
1939
  "oneOf": [
1559
- {
1560
- "$ref": "#/components/schemas/InlineFilterDefinition"
1561
- },
1562
- {
1563
- "$ref": "#/components/schemas/RankingFilter"
1564
- },
1565
1940
  {
1566
1941
  "$ref": "#/components/schemas/ComparisonMeasureValueFilter"
1567
1942
  },
@@ -1569,234 +1944,229 @@
1569
1944
  "$ref": "#/components/schemas/RangeMeasureValueFilter"
1570
1945
  },
1571
1946
  {
1572
- "$ref": "#/components/schemas/AbsoluteDateFilter"
1573
- },
1574
- {
1575
- "$ref": "#/components/schemas/RelativeDateFilter"
1576
- },
1577
- {
1578
- "$ref": "#/components/schemas/NegativeAttributeFilter"
1579
- },
1580
- {
1581
- "$ref": "#/components/schemas/PositiveAttributeFilter"
1582
- }
1583
- ]
1584
- },
1585
- "FilterDefinitionForSimpleMeasure": {
1586
- "type": "object",
1587
- "description": "Abstract filter definition type for simple metric.",
1588
- "oneOf": [
1589
- {
1590
- "$ref": "#/components/schemas/DateFilter"
1591
- },
1592
- {
1593
- "$ref": "#/components/schemas/AttributeFilter"
1947
+ "$ref": "#/components/schemas/RankingFilter"
1594
1948
  }
1595
1949
  ]
1596
1950
  },
1597
- "InlineFilterDefinition": {
1598
- "required": ["inline"],
1599
- "type": "object",
1600
- "properties": {
1601
- "inline": {
1602
- "required": ["filter"],
1603
- "type": "object",
1604
- "properties": {
1605
- "filter": {
1606
- "type": "string"
1607
- },
1608
- "applyOnResult": {
1609
- "type": "boolean"
1610
- }
1611
- }
1612
- }
1613
- },
1614
- "description": "Filter in form of direct MAQL query."
1615
- },
1616
- "InlineMeasureDefinition": {
1617
- "required": ["inline"],
1951
+ "AfmExecution": {
1952
+ "required": ["execution", "resultSpec"],
1618
1953
  "type": "object",
1619
1954
  "properties": {
1620
- "inline": {
1621
- "required": ["maql"],
1622
- "type": "object",
1623
- "properties": {
1624
- "maql": {
1625
- "type": "string"
1626
- }
1627
- }
1628
- }
1629
- },
1630
- "description": "Metric defined by the raw MAQL query."
1631
- },
1632
- "MeasureDefinition": {
1633
- "type": "object",
1634
- "description": "Abstract metric definition type",
1635
- "oneOf": [
1636
- {
1637
- "$ref": "#/components/schemas/InlineMeasureDefinition"
1638
- },
1639
- {
1640
- "$ref": "#/components/schemas/ArithmeticMeasureDefinition"
1955
+ "execution": {
1956
+ "$ref": "#/components/schemas/AFM"
1641
1957
  },
1642
- {
1643
- "$ref": "#/components/schemas/SimpleMeasureDefinition"
1958
+ "resultSpec": {
1959
+ "$ref": "#/components/schemas/ResultSpec"
1644
1960
  },
1645
- {
1646
- "$ref": "#/components/schemas/PopMeasureDefinition"
1961
+ "settings": {
1962
+ "$ref": "#/components/schemas/ExecutionSettings"
1647
1963
  }
1648
- ]
1964
+ }
1649
1965
  },
1650
- "MeasureItem": {
1651
- "required": ["definition", "localIdentifier"],
1966
+ "AttributeItem": {
1967
+ "required": ["label", "localIdentifier"],
1652
1968
  "type": "object",
1653
1969
  "properties": {
1654
1970
  "localIdentifier": {
1655
1971
  "pattern": "^[.a-zA-Z0-9_-]+$",
1656
- "type": "string",
1657
- "example": "metric_1"
1972
+ "type": "string"
1658
1973
  },
1659
- "definition": {
1660
- "$ref": "#/components/schemas/MeasureDefinition"
1661
- }
1662
- }
1663
- },
1664
- "MeasureValueFilter": {
1665
- "type": "object",
1666
- "description": "Abstract filter definition type filtering by the value of the metric.",
1667
- "oneOf": [
1668
- {
1669
- "$ref": "#/components/schemas/ComparisonMeasureValueFilter"
1974
+ "label": {
1975
+ "$ref": "#/components/schemas/AfmObjectIdentifierLabel"
1670
1976
  },
1671
- {
1672
- "$ref": "#/components/schemas/RangeMeasureValueFilter"
1977
+ "showAllValues": {
1978
+ "type": "boolean",
1979
+ "description": "Specifies that the label should be outer-joined.",
1980
+ "default": false
1673
1981
  }
1674
- ]
1982
+ }
1675
1983
  },
1676
- "NegativeAttributeFilter": {
1677
- "required": ["negativeAttributeFilter"],
1984
+ "ComparisonMeasureValueFilter": {
1985
+ "required": ["comparisonMeasureValueFilter"],
1678
1986
  "type": "object",
1679
1987
  "properties": {
1680
- "negativeAttributeFilter": {
1681
- "required": ["notIn", "label"],
1988
+ "comparisonMeasureValueFilter": {
1989
+ "required": ["operator", "value", "measure"],
1682
1990
  "type": "object",
1683
1991
  "properties": {
1684
- "notIn": {
1685
- "$ref": "#/components/schemas/AttributeFilterElements"
1992
+ "treatNullValuesAs": {
1993
+ "type": "number",
1994
+ "example": 0
1995
+ },
1996
+ "operator": {
1997
+ "type": "string",
1998
+ "example": "GREATER_THAN",
1999
+ "enum": [
2000
+ "GREATER_THAN",
2001
+ "GREATER_THAN_OR_EQUAL_TO",
2002
+ "LESS_THAN",
2003
+ "LESS_THAN_OR_EQUAL_TO",
2004
+ "EQUAL_TO",
2005
+ "NOT_EQUAL_TO"
2006
+ ]
2007
+ },
2008
+ "value": {
2009
+ "type": "number",
2010
+ "example": 1327
1686
2011
  },
1687
2012
  "applyOnResult": {
1688
2013
  "type": "boolean"
1689
2014
  },
1690
- "label": {
2015
+ "measure": {
1691
2016
  "$ref": "#/components/schemas/AfmIdentifier"
1692
2017
  }
1693
2018
  }
1694
2019
  }
1695
2020
  },
1696
- "description": "Filter able to limit element values by label and related selected negated elements."
2021
+ "description": "Filter the result by comparing specified metric to given constant value, using given comparison operator."
1697
2022
  },
1698
- "PopDataset": {
1699
- "required": ["dataset", "periodsAgo"],
2023
+ "DataColumnLocator": {
2024
+ "required": ["properties"],
1700
2025
  "type": "object",
1701
2026
  "properties": {
1702
- "dataset": {
1703
- "$ref": "#/components/schemas/AfmObjectIdentifierDataset"
1704
- },
1705
- "periodsAgo": {
1706
- "type": "integer",
1707
- "format": "int32"
2027
+ "properties": {
2028
+ "type": "object",
2029
+ "additionalProperties": {
2030
+ "type": "string",
2031
+ "description": "Mapping from dimension items (either 'localIdentifier' from 'AttributeItem', or \"measureGroup\") to their respective values. This effectively specifies the path (location) of the data column used for sorting. Therefore values for all dimension items must be specified.",
2032
+ "example": "{\"status\":\"lost\",\"measureGroup\":\"m1\"}"
2033
+ },
2034
+ "description": "Mapping from dimension items (either 'localIdentifier' from 'AttributeItem', or \"measureGroup\") to their respective values. This effectively specifies the path (location) of the data column used for sorting. Therefore values for all dimension items must be specified.",
2035
+ "example": {
2036
+ "status": "lost",
2037
+ "measureGroup": "m1"
2038
+ }
2039
+ }
2040
+ },
2041
+ "description": "Mapping from dimension items (either 'localIdentifier' from 'AttributeItem', or \"measureGroup\") to their respective values. This effectively specifies the path (location) of the data column used for sorting. Therefore values for all dimension items must be specified.",
2042
+ "example": {
2043
+ "dim2": {
2044
+ "status": "lost",
2045
+ "measureGroup": "m1"
1708
2046
  }
1709
2047
  }
1710
2048
  },
1711
- "PopDatasetMeasureDefinition": {
1712
- "required": ["previousPeriodMeasure"],
2049
+ "DataColumnLocators": {
1713
2050
  "type": "object",
1714
2051
  "properties": {
1715
- "previousPeriodMeasure": {
1716
- "required": ["dateDatasets", "measureIdentifier"],
2052
+ "properties": {
1717
2053
  "type": "object",
1718
- "properties": {
1719
- "measureIdentifier": {
1720
- "$ref": "#/components/schemas/AfmLocalIdentifier"
1721
- },
1722
- "dateDatasets": {
1723
- "type": "array",
1724
- "items": {
1725
- "$ref": "#/components/schemas/PopDataset"
1726
- }
2054
+ "additionalProperties": {
2055
+ "$ref": "#/components/schemas/DataColumnLocator"
2056
+ },
2057
+ "description": "Mapping from dimensions to data column locators.",
2058
+ "example": {
2059
+ "dim2": {
2060
+ "status": "lost",
2061
+ "measureGroup": "m1"
1727
2062
  }
1728
2063
  }
1729
2064
  }
1730
- },
1731
- "description": "Previous period type of metric."
2065
+ }
1732
2066
  },
1733
- "PopDate": {
1734
- "required": ["attribute", "periodsAgo"],
2067
+ "Dimension": {
2068
+ "required": ["itemIdentifiers"],
1735
2069
  "type": "object",
1736
2070
  "properties": {
1737
- "attribute": {
1738
- "$ref": "#/components/schemas/AfmObjectIdentifierAttribute"
2071
+ "localIdentifier": {
2072
+ "pattern": "^[.a-zA-Z0-9_-]+$",
2073
+ "type": "string",
2074
+ "description": "Dimension identification within requests. Other entities can reference this dimension by this value.",
2075
+ "example": "firstDimension"
1739
2076
  },
1740
- "periodsAgo": {
1741
- "type": "integer",
1742
- "format": "int32"
2077
+ "itemIdentifiers": {
2078
+ "type": "array",
2079
+ "description": "List of items in current dimension. Can reference 'localIdentifier' from 'AttributeItem', or special pseudo attribute \"measureGroup\" representing list of metrics.",
2080
+ "example": ["attribute_1", "measureGroup"],
2081
+ "items": {
2082
+ "type": "string"
2083
+ }
2084
+ },
2085
+ "sorting": {
2086
+ "type": "array",
2087
+ "description": "List of sorting rules. From most relevant to least relevant (less relevant rule is applied, when more relevant rule compares items as equal).",
2088
+ "items": {
2089
+ "$ref": "#/components/schemas/SortKey"
2090
+ }
1743
2091
  }
1744
- }
2092
+ },
2093
+ "description": "Single dimension description."
1745
2094
  },
1746
- "PopDateMeasureDefinition": {
1747
- "required": ["overPeriodMeasure"],
2095
+ "ExecutionSettings": {
1748
2096
  "type": "object",
1749
2097
  "properties": {
1750
- "overPeriodMeasure": {
1751
- "required": ["dateAttributes", "measureIdentifier"],
1752
- "type": "object",
1753
- "properties": {
1754
- "measureIdentifier": {
1755
- "$ref": "#/components/schemas/AfmLocalIdentifier"
1756
- },
1757
- "dateAttributes": {
1758
- "type": "array",
1759
- "items": {
1760
- "$ref": "#/components/schemas/PopDate"
1761
- }
1762
- }
1763
- }
2098
+ "dataSamplingPercentage": {
2099
+ "maximum": 100,
2100
+ "exclusiveMaximum": true,
2101
+ "minimum": 0,
2102
+ "exclusiveMinimum": true,
2103
+ "type": "number",
2104
+ "description": "Specifies the percentage of rows from fact datasets to use during computation. This feature is available only for workspaces that use a Vertica Data Source without table views.",
2105
+ "format": "float"
1764
2106
  }
1765
2107
  },
1766
- "description": "Period over period type of metric."
2108
+ "description": "Various settings affecting the process of AFM execution or its result"
1767
2109
  },
1768
- "PopMeasureDefinition": {
2110
+ "FilterDefinition": {
1769
2111
  "type": "object",
2112
+ "description": "Abstract filter definition type",
1770
2113
  "oneOf": [
1771
2114
  {
1772
- "$ref": "#/components/schemas/PopDatasetMeasureDefinition"
2115
+ "$ref": "#/components/schemas/InlineFilterDefinition"
1773
2116
  },
1774
2117
  {
1775
- "$ref": "#/components/schemas/PopDateMeasureDefinition"
2118
+ "$ref": "#/components/schemas/RankingFilter"
2119
+ },
2120
+ {
2121
+ "$ref": "#/components/schemas/ComparisonMeasureValueFilter"
2122
+ },
2123
+ {
2124
+ "$ref": "#/components/schemas/RangeMeasureValueFilter"
2125
+ },
2126
+ {
2127
+ "$ref": "#/components/schemas/AbsoluteDateFilter"
2128
+ },
2129
+ {
2130
+ "$ref": "#/components/schemas/RelativeDateFilter"
2131
+ },
2132
+ {
2133
+ "$ref": "#/components/schemas/NegativeAttributeFilter"
2134
+ },
2135
+ {
2136
+ "$ref": "#/components/schemas/PositiveAttributeFilter"
1776
2137
  }
1777
2138
  ]
1778
2139
  },
1779
- "PositiveAttributeFilter": {
1780
- "required": ["positiveAttributeFilter"],
2140
+ "InlineFilterDefinition": {
2141
+ "required": ["inline"],
1781
2142
  "type": "object",
1782
2143
  "properties": {
1783
- "positiveAttributeFilter": {
1784
- "required": ["in", "label"],
2144
+ "inline": {
2145
+ "required": ["filter"],
1785
2146
  "type": "object",
1786
2147
  "properties": {
1787
- "in": {
1788
- "$ref": "#/components/schemas/AttributeFilterElements"
2148
+ "filter": {
2149
+ "type": "string"
1789
2150
  },
1790
2151
  "applyOnResult": {
1791
2152
  "type": "boolean"
1792
- },
1793
- "label": {
1794
- "$ref": "#/components/schemas/AfmIdentifier"
1795
2153
  }
1796
2154
  }
1797
2155
  }
1798
2156
  },
1799
- "description": "Filter able to limit element values by label and related selected elements."
2157
+ "description": "Filter in form of direct MAQL query."
2158
+ },
2159
+ "MeasureValueFilter": {
2160
+ "type": "object",
2161
+ "description": "Abstract filter definition type filtering by the value of the metric.",
2162
+ "oneOf": [
2163
+ {
2164
+ "$ref": "#/components/schemas/ComparisonMeasureValueFilter"
2165
+ },
2166
+ {
2167
+ "$ref": "#/components/schemas/RangeMeasureValueFilter"
2168
+ }
2169
+ ]
1800
2170
  },
1801
2171
  "RangeMeasureValueFilter": {
1802
2172
  "required": ["rangeMeasureValueFilter"],
@@ -1884,49 +2254,6 @@
1884
2254
  },
1885
2255
  "description": "Specifies how the result data will be formatted (```dimensions```) and which additional data shall be computed (```totals```)."
1886
2256
  },
1887
- "SimpleMeasureDefinition": {
1888
- "required": ["measure"],
1889
- "type": "object",
1890
- "properties": {
1891
- "measure": {
1892
- "required": ["item"],
1893
- "type": "object",
1894
- "properties": {
1895
- "item": {
1896
- "$ref": "#/components/schemas/AfmObjectIdentifierCore"
1897
- },
1898
- "aggregation": {
1899
- "type": "string",
1900
- "description": "Definition of aggregation type of the metric.",
1901
- "example": "SUM",
1902
- "enum": [
1903
- "SUM",
1904
- "COUNT",
1905
- "AVG",
1906
- "MIN",
1907
- "MAX",
1908
- "MEDIAN",
1909
- "RUNSUM",
1910
- "APPROXIMATE_COUNT"
1911
- ]
1912
- },
1913
- "computeRatio": {
1914
- "type": "boolean",
1915
- "description": "If true compute the percentage of given metric values (broken down by AFM attributes) to the total (not broken down).",
1916
- "example": true,
1917
- "default": false
1918
- },
1919
- "filters": {
1920
- "type": "array",
1921
- "description": "Metrics can be filtered by attribute filters with the same interface as ones for global AFM. Note that only one DateFilter is allowed.",
1922
- "items": {
1923
- "$ref": "#/components/schemas/FilterDefinitionForSimpleMeasure"
1924
- }
1925
- }
1926
- }
1927
- }
1928
- }
1929
- },
1930
2257
  "SortKey": {
1931
2258
  "type": "object",
1932
2259
  "oneOf": [
@@ -2359,6 +2686,41 @@
2359
2686
  }
2360
2687
  }
2361
2688
  },
2689
+ "AnomalyDetectionResult": {
2690
+ "required": ["anomalyFlag", "attribute", "values"],
2691
+ "type": "object",
2692
+ "properties": {
2693
+ "attribute": {
2694
+ "type": "array",
2695
+ "items": {
2696
+ "type": "string"
2697
+ }
2698
+ },
2699
+ "values": {
2700
+ "type": "array",
2701
+ "items": {
2702
+ "type": "number",
2703
+ "nullable": true
2704
+ }
2705
+ },
2706
+ "anomalyFlag": {
2707
+ "type": "array",
2708
+ "items": {
2709
+ "type": "boolean",
2710
+ "nullable": true
2711
+ }
2712
+ }
2713
+ }
2714
+ },
2715
+ "KeyDriversResult": {
2716
+ "required": ["data"],
2717
+ "type": "object",
2718
+ "properties": {
2719
+ "data": {
2720
+ "type": "object"
2721
+ }
2722
+ }
2723
+ },
2362
2724
  "ResultCacheMetadata": {
2363
2725
  "required": ["afm", "executionResponse", "resultSize", "resultSpec"],
2364
2726
  "type": "object",