@cubejs-client/core 1.3.14 → 1.3.16
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/dist/{cubejs-client-core.js → cubejs-client-core.cjs.js} +1016 -411
- package/dist/cubejs-client-core.cjs.js.map +1 -0
- package/dist/cubejs-client-core.umd.js +2901 -12088
- package/dist/cubejs-client-core.umd.js.map +1 -1
- package/dist/src/HttpTransport.d.ts +54 -0
- package/dist/src/HttpTransport.d.ts.map +1 -0
- package/dist/src/HttpTransport.js +55 -0
- package/dist/src/Meta.d.ts +62 -0
- package/dist/src/Meta.d.ts.map +1 -0
- package/dist/src/Meta.js +150 -0
- package/dist/src/ProgressResult.d.ts +8 -0
- package/dist/src/ProgressResult.d.ts.map +1 -0
- package/dist/src/ProgressResult.js +11 -0
- package/dist/src/RequestError.d.ts +6 -0
- package/dist/src/RequestError.d.ts.map +1 -0
- package/dist/src/RequestError.js +7 -0
- package/dist/src/ResultSet.d.ts +430 -0
- package/dist/src/ResultSet.d.ts.map +1 -0
- package/dist/src/ResultSet.js +952 -0
- package/dist/src/SqlQuery.d.ts +17 -0
- package/dist/src/SqlQuery.d.ts.map +1 -0
- package/dist/src/SqlQuery.js +11 -0
- package/dist/src/index.d.ts +194 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +411 -0
- package/dist/src/index.umd.d.ts +3 -0
- package/dist/src/index.umd.d.ts.map +1 -0
- package/dist/src/index.umd.js +6 -0
- package/dist/src/time.d.ts +70 -0
- package/dist/src/time.d.ts.map +1 -0
- package/dist/src/time.js +249 -0
- package/dist/src/types.d.ts +424 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +1 -0
- package/dist/src/utils.d.ts +19 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/dist/src/utils.js +294 -0
- package/dist/test/CubeApi.test.d.ts +7 -0
- package/dist/test/CubeApi.test.d.ts.map +1 -0
- package/dist/test/CubeApi.test.js +279 -0
- package/dist/test/HttpTransport.test.d.ts +2 -0
- package/dist/test/HttpTransport.test.d.ts.map +1 -0
- package/dist/test/HttpTransport.test.js +244 -0
- package/dist/test/ResultSet.test.d.ts +7 -0
- package/dist/test/ResultSet.test.d.ts.map +1 -0
- package/dist/test/ResultSet.test.js +1725 -0
- package/dist/test/compare-date-range.test.d.ts +2 -0
- package/dist/test/compare-date-range.test.d.ts.map +1 -0
- package/dist/test/compare-date-range.test.js +742 -0
- package/dist/test/data-blending.test.d.ts +2 -0
- package/dist/test/data-blending.test.d.ts.map +1 -0
- package/dist/test/data-blending.test.js +423 -0
- package/dist/test/default-heuristics.test.d.ts +2 -0
- package/dist/test/default-heuristics.test.d.ts.map +1 -0
- package/dist/test/default-heuristics.test.js +108 -0
- package/dist/test/drill-down.test.d.ts +2 -0
- package/dist/test/drill-down.test.d.ts.map +1 -0
- package/dist/test/drill-down.test.js +373 -0
- package/dist/test/fixtures/datablending/load-responses.json +261 -0
- package/dist/test/granularity.test.d.ts +2 -0
- package/dist/test/granularity.test.d.ts.map +1 -0
- package/dist/test/granularity.test.js +218 -0
- package/dist/test/helpers.d.ts +283 -0
- package/dist/test/helpers.d.ts.map +1 -0
- package/dist/test/helpers.js +974 -0
- package/dist/test/index.test.d.ts +7 -0
- package/dist/test/index.test.d.ts.map +1 -0
- package/dist/test/index.test.js +370 -0
- package/dist/test/table.test.d.ts +2 -0
- package/dist/test/table.test.d.ts.map +1 -0
- package/dist/test/table.test.js +757 -0
- package/dist/test/utils.test.d.ts +2 -0
- package/dist/test/utils.test.d.ts.map +1 -0
- package/dist/test/utils.test.js +32 -0
- package/package.json +26 -21
- package/dist/cubejs-client-core.esm.js +0 -1639
- package/dist/cubejs-client-core.esm.js.map +0 -1
- package/dist/cubejs-client-core.js.map +0 -1
- package/index.d.ts +0 -1338
- package/src/HttpTransport.js +0 -60
- package/src/HttpTransport.test.js +0 -117
- package/src/Meta.js +0 -142
- package/src/ProgressResult.js +0 -13
- package/src/RequestError.js +0 -7
- package/src/ResultSet.js +0 -746
- package/src/SqlQuery.js +0 -13
- package/src/index.js +0 -398
- package/src/index.test.js +0 -454
- package/src/index.umd.js +0 -8
- package/src/tests/ResultSet.test.js +0 -1655
- package/src/tests/compare-date-range.test.js +0 -753
- package/src/tests/data-blending.test.js +0 -432
- package/src/tests/default-heuristics.test.js +0 -118
- package/src/tests/drill-down.test.js +0 -402
- package/src/tests/fixtures/datablending/load-responses.json +0 -261
- package/src/tests/granularity.test.js +0 -225
- package/src/tests/table.test.js +0 -791
- package/src/tests/utils.test.js +0 -35
- package/src/time.js +0 -296
- package/src/utils.js +0 -368
|
@@ -0,0 +1,430 @@
|
|
|
1
|
+
import { Annotation, ChartPivotRow, DrillDownLocator, LoadResponse, LoadResponseResult, PivotConfig, PivotConfigFull, PivotQuery, PivotRow, Query, QueryAnnotations, QueryType, SerializedResult, Series, SeriesNamesColumn, TableColumn, TimeDimension } from './types';
|
|
2
|
+
export declare const QUERY_TYPE: Record<string, QueryType>;
|
|
3
|
+
export type ResultSetOptions = {
|
|
4
|
+
parseDateMeasures?: boolean;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Provides a convenient interface for data manipulation.
|
|
8
|
+
*/
|
|
9
|
+
export default class ResultSet<T extends Record<string, any> = any> {
|
|
10
|
+
private readonly loadResponse;
|
|
11
|
+
private readonly loadResponses;
|
|
12
|
+
private readonly queryType;
|
|
13
|
+
private readonly parseDateMeasures;
|
|
14
|
+
private readonly options;
|
|
15
|
+
private readonly backwardCompatibleData;
|
|
16
|
+
static measureFromAxis(axisValues: string[]): string;
|
|
17
|
+
static timeDimensionMember(td: TimeDimension): string;
|
|
18
|
+
/**
|
|
19
|
+
* ```js
|
|
20
|
+
* import { ResultSet } from '@cubejs-client/core';
|
|
21
|
+
*
|
|
22
|
+
* const resultSet = await cubeApi.load(query);
|
|
23
|
+
* // You can store the result somewhere
|
|
24
|
+
* const tmp = resultSet.serialize();
|
|
25
|
+
*
|
|
26
|
+
* // and restore it later
|
|
27
|
+
* const resultSet = ResultSet.deserialize(tmp);
|
|
28
|
+
* ```
|
|
29
|
+
* @param data the result of [serialize](#result-set-serialize)
|
|
30
|
+
* @param options
|
|
31
|
+
*/
|
|
32
|
+
static deserialize<TData extends Record<string, any> = any>(data: SerializedResult, options?: Object): ResultSet<TData>;
|
|
33
|
+
constructor(loadResponse: LoadResponse<T> | LoadResponseResult<T>, options?: ResultSetOptions);
|
|
34
|
+
/**
|
|
35
|
+
* Returns a measure drill down query.
|
|
36
|
+
*
|
|
37
|
+
* Provided you have a measure with the defined `drillMembers` on the `Orders` cube
|
|
38
|
+
* ```js
|
|
39
|
+
* measures: {
|
|
40
|
+
* count: {
|
|
41
|
+
* type: `count`,
|
|
42
|
+
* drillMembers: [Orders.status, Users.city, count],
|
|
43
|
+
* },
|
|
44
|
+
* // ...
|
|
45
|
+
* }
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* Then you can use the `drillDown` method to see the rows that contribute to that metric
|
|
49
|
+
* ```js
|
|
50
|
+
* resultSet.drillDown(
|
|
51
|
+
* {
|
|
52
|
+
* xValues,
|
|
53
|
+
* yValues,
|
|
54
|
+
* },
|
|
55
|
+
* // you should pass the `pivotConfig` if you have used it for axes manipulation
|
|
56
|
+
* pivotConfig
|
|
57
|
+
* )
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
60
|
+
* the result will be a query with the required filters applied and the dimensions/measures filled out
|
|
61
|
+
* ```js
|
|
62
|
+
* {
|
|
63
|
+
* measures: ['Orders.count'],
|
|
64
|
+
* dimensions: ['Orders.status', 'Users.city'],
|
|
65
|
+
* filters: [
|
|
66
|
+
* // dimension and measure filters
|
|
67
|
+
* ],
|
|
68
|
+
* timeDimensions: [
|
|
69
|
+
* //...
|
|
70
|
+
* ]
|
|
71
|
+
* }
|
|
72
|
+
* ```
|
|
73
|
+
*
|
|
74
|
+
* In case when you want to add `order` or `limit` to the query, you can simply spread it
|
|
75
|
+
*
|
|
76
|
+
* ```js
|
|
77
|
+
* // An example for React
|
|
78
|
+
* const drillDownResponse = useCubeQuery(
|
|
79
|
+
* {
|
|
80
|
+
* ...drillDownQuery,
|
|
81
|
+
* limit: 30,
|
|
82
|
+
* order: {
|
|
83
|
+
* 'Orders.ts': 'desc'
|
|
84
|
+
* }
|
|
85
|
+
* },
|
|
86
|
+
* {
|
|
87
|
+
* skip: !drillDownQuery
|
|
88
|
+
* }
|
|
89
|
+
* );
|
|
90
|
+
* ```
|
|
91
|
+
* @returns Drill down query
|
|
92
|
+
*/
|
|
93
|
+
drillDown(drillDownLocator: DrillDownLocator, pivotConfig?: PivotConfig): Query | null;
|
|
94
|
+
/**
|
|
95
|
+
* Returns an array of series with key, title and series data.
|
|
96
|
+
* ```js
|
|
97
|
+
* // For the query
|
|
98
|
+
* {
|
|
99
|
+
* measures: ['Stories.count'],
|
|
100
|
+
* timeDimensions: [{
|
|
101
|
+
* dimension: 'Stories.time',
|
|
102
|
+
* dateRange: ['2015-01-01', '2015-12-31'],
|
|
103
|
+
* granularity: 'month'
|
|
104
|
+
* }]
|
|
105
|
+
* }
|
|
106
|
+
*
|
|
107
|
+
* // ResultSet.series() will return
|
|
108
|
+
* [
|
|
109
|
+
* {
|
|
110
|
+
* key: 'Stories.count',
|
|
111
|
+
* title: 'Stories Count',
|
|
112
|
+
* shortTitle: 'Count',
|
|
113
|
+
* series: [
|
|
114
|
+
* { x: '2015-01-01T00:00:00', value: 27120 },
|
|
115
|
+
* { x: '2015-02-01T00:00:00', value: 25861 },
|
|
116
|
+
* { x: '2015-03-01T00:00:00', value: 29661 },
|
|
117
|
+
* //...
|
|
118
|
+
* ],
|
|
119
|
+
* },
|
|
120
|
+
* ]
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
series<SeriesItem = any>(pivotConfig?: PivotConfig): Series<SeriesItem>[];
|
|
124
|
+
private axisValues;
|
|
125
|
+
private axisValuesString;
|
|
126
|
+
static getNormalizedPivotConfig(query?: PivotQuery, pivotConfig?: PivotConfig): PivotConfigFull;
|
|
127
|
+
normalizePivotConfig(pivotConfig?: PivotConfig): PivotConfigFull;
|
|
128
|
+
timeSeries(timeDimension: TimeDimension, resultIndex?: number, annotations?: Record<string, Annotation>): string[] | null;
|
|
129
|
+
/**
|
|
130
|
+
* Base method for pivoting [ResultSet](#result-set) data.
|
|
131
|
+
* Most of the time shouldn't be used directly and [chartPivot](#result-set-chart-pivot)
|
|
132
|
+
* or [tablePivot](#table-pivot) should be used instead.
|
|
133
|
+
*
|
|
134
|
+
* You can find the examples of using the `pivotConfig` [here](#types-pivot-config)
|
|
135
|
+
* ```js
|
|
136
|
+
* // For query
|
|
137
|
+
* {
|
|
138
|
+
* measures: ['Stories.count'],
|
|
139
|
+
* timeDimensions: [{
|
|
140
|
+
* dimension: 'Stories.time',
|
|
141
|
+
* dateRange: ['2015-01-01', '2015-03-31'],
|
|
142
|
+
* granularity: 'month'
|
|
143
|
+
* }]
|
|
144
|
+
* }
|
|
145
|
+
*
|
|
146
|
+
* // ResultSet.pivot({ x: ['Stories.time'], y: ['measures'] }) will return
|
|
147
|
+
* [
|
|
148
|
+
* {
|
|
149
|
+
* xValues: ["2015-01-01T00:00:00"],
|
|
150
|
+
* yValuesArray: [
|
|
151
|
+
* [['Stories.count'], 27120]
|
|
152
|
+
* ]
|
|
153
|
+
* },
|
|
154
|
+
* {
|
|
155
|
+
* xValues: ["2015-02-01T00:00:00"],
|
|
156
|
+
* yValuesArray: [
|
|
157
|
+
* [['Stories.count'], 25861]
|
|
158
|
+
* ]
|
|
159
|
+
* },
|
|
160
|
+
* {
|
|
161
|
+
* xValues: ["2015-03-01T00:00:00"],
|
|
162
|
+
* yValuesArray: [
|
|
163
|
+
* [['Stories.count'], 29661]
|
|
164
|
+
* ]
|
|
165
|
+
* }
|
|
166
|
+
* ]
|
|
167
|
+
* ```
|
|
168
|
+
* @returns An array of pivoted rows.
|
|
169
|
+
*/
|
|
170
|
+
pivot(pivotConfig?: PivotConfig): PivotRow[];
|
|
171
|
+
private mergePivots;
|
|
172
|
+
/**
|
|
173
|
+
* Returns normalized query result data in the following format.
|
|
174
|
+
*
|
|
175
|
+
* You can find the examples of using the `pivotConfig` [here](#types-pivot-config)
|
|
176
|
+
* ```js
|
|
177
|
+
* // For the query
|
|
178
|
+
* {
|
|
179
|
+
* measures: ['Stories.count'],
|
|
180
|
+
* timeDimensions: [{
|
|
181
|
+
* dimension: 'Stories.time',
|
|
182
|
+
* dateRange: ['2015-01-01', '2015-12-31'],
|
|
183
|
+
* granularity: 'month'
|
|
184
|
+
* }]
|
|
185
|
+
* }
|
|
186
|
+
*
|
|
187
|
+
* // ResultSet.chartPivot() will return
|
|
188
|
+
* [
|
|
189
|
+
* { "x":"2015-01-01T00:00:00", "Stories.count": 27120, "xValues": ["2015-01-01T00:00:00"] },
|
|
190
|
+
* { "x":"2015-02-01T00:00:00", "Stories.count": 25861, "xValues": ["2015-02-01T00:00:00"] },
|
|
191
|
+
* { "x":"2015-03-01T00:00:00", "Stories.count": 29661, "xValues": ["2015-03-01T00:00:00"] },
|
|
192
|
+
* //...
|
|
193
|
+
* ]
|
|
194
|
+
*
|
|
195
|
+
* ```
|
|
196
|
+
* When using `chartPivot()` or `seriesNames()`, you can pass `aliasSeries` in the [pivotConfig](#types-pivot-config)
|
|
197
|
+
* to give each series a unique prefix. This is useful for `blending queries` which use the same measure multiple times.
|
|
198
|
+
*
|
|
199
|
+
* ```js
|
|
200
|
+
* // For the queries
|
|
201
|
+
* {
|
|
202
|
+
* measures: ['Stories.count'],
|
|
203
|
+
* timeDimensions: [
|
|
204
|
+
* {
|
|
205
|
+
* dimension: 'Stories.time',
|
|
206
|
+
* dateRange: ['2015-01-01', '2015-12-31'],
|
|
207
|
+
* granularity: 'month',
|
|
208
|
+
* },
|
|
209
|
+
* ],
|
|
210
|
+
* },
|
|
211
|
+
* {
|
|
212
|
+
* measures: ['Stories.count'],
|
|
213
|
+
* timeDimensions: [
|
|
214
|
+
* {
|
|
215
|
+
* dimension: 'Stories.time',
|
|
216
|
+
* dateRange: ['2015-01-01', '2015-12-31'],
|
|
217
|
+
* granularity: 'month',
|
|
218
|
+
* },
|
|
219
|
+
* ],
|
|
220
|
+
* filters: [
|
|
221
|
+
* {
|
|
222
|
+
* member: 'Stores.read',
|
|
223
|
+
* operator: 'equals',
|
|
224
|
+
* value: ['true'],
|
|
225
|
+
* },
|
|
226
|
+
* ],
|
|
227
|
+
* },
|
|
228
|
+
*
|
|
229
|
+
* // ResultSet.chartPivot({ aliasSeries: ['one', 'two'] }) will return
|
|
230
|
+
* [
|
|
231
|
+
* {
|
|
232
|
+
* x: '2015-01-01T00:00:00',
|
|
233
|
+
* 'one,Stories.count': 27120,
|
|
234
|
+
* 'two,Stories.count': 8933,
|
|
235
|
+
* xValues: ['2015-01-01T00:00:00'],
|
|
236
|
+
* },
|
|
237
|
+
* {
|
|
238
|
+
* x: '2015-02-01T00:00:00',
|
|
239
|
+
* 'one,Stories.count': 25861,
|
|
240
|
+
* 'two,Stories.count': 8344,
|
|
241
|
+
* xValues: ['2015-02-01T00:00:00'],
|
|
242
|
+
* },
|
|
243
|
+
* {
|
|
244
|
+
* x: '2015-03-01T00:00:00',
|
|
245
|
+
* 'one,Stories.count': 29661,
|
|
246
|
+
* 'two,Stories.count': 9023,
|
|
247
|
+
* xValues: ['2015-03-01T00:00:00'],
|
|
248
|
+
* },
|
|
249
|
+
* //...
|
|
250
|
+
* ]
|
|
251
|
+
* ```
|
|
252
|
+
*/
|
|
253
|
+
chartPivot(pivotConfig?: PivotConfig): ChartPivotRow[];
|
|
254
|
+
/**
|
|
255
|
+
* Returns normalized query result data prepared for visualization in the table format.
|
|
256
|
+
*
|
|
257
|
+
* You can find the examples of using the `pivotConfig` [here](#types-pivot-config)
|
|
258
|
+
*
|
|
259
|
+
* For example:
|
|
260
|
+
* ```js
|
|
261
|
+
* // For the query
|
|
262
|
+
* {
|
|
263
|
+
* measures: ['Stories.count'],
|
|
264
|
+
* timeDimensions: [{
|
|
265
|
+
* dimension: 'Stories.time',
|
|
266
|
+
* dateRange: ['2015-01-01', '2015-12-31'],
|
|
267
|
+
* granularity: 'month'
|
|
268
|
+
* }]
|
|
269
|
+
* }
|
|
270
|
+
*
|
|
271
|
+
* // ResultSet.tablePivot() will return
|
|
272
|
+
* [
|
|
273
|
+
* { "Stories.time": "2015-01-01T00:00:00", "Stories.count": 27120 },
|
|
274
|
+
* { "Stories.time": "2015-02-01T00:00:00", "Stories.count": 25861 },
|
|
275
|
+
* { "Stories.time": "2015-03-01T00:00:00", "Stories.count": 29661 },
|
|
276
|
+
* //...
|
|
277
|
+
* ]
|
|
278
|
+
* ```
|
|
279
|
+
* @returns An array of pivoted rows
|
|
280
|
+
*/
|
|
281
|
+
tablePivot(pivotConfig?: PivotConfig): Array<{
|
|
282
|
+
[key: string]: string | number | boolean;
|
|
283
|
+
}>;
|
|
284
|
+
/**
|
|
285
|
+
* Returns an array of column definitions for `tablePivot`.
|
|
286
|
+
*
|
|
287
|
+
* For example:
|
|
288
|
+
* ```js
|
|
289
|
+
* // For the query
|
|
290
|
+
* {
|
|
291
|
+
* measures: ['Stories.count'],
|
|
292
|
+
* timeDimensions: [{
|
|
293
|
+
* dimension: 'Stories.time',
|
|
294
|
+
* dateRange: ['2015-01-01', '2015-12-31'],
|
|
295
|
+
* granularity: 'month'
|
|
296
|
+
* }]
|
|
297
|
+
* }
|
|
298
|
+
*
|
|
299
|
+
* // ResultSet.tableColumns() will return
|
|
300
|
+
* [
|
|
301
|
+
* {
|
|
302
|
+
* key: 'Stories.time',
|
|
303
|
+
* dataIndex: 'Stories.time',
|
|
304
|
+
* title: 'Stories Time',
|
|
305
|
+
* shortTitle: 'Time',
|
|
306
|
+
* type: 'time',
|
|
307
|
+
* format: undefined,
|
|
308
|
+
* },
|
|
309
|
+
* {
|
|
310
|
+
* key: 'Stories.count',
|
|
311
|
+
* dataIndex: 'Stories.count',
|
|
312
|
+
* title: 'Stories Count',
|
|
313
|
+
* shortTitle: 'Count',
|
|
314
|
+
* type: 'count',
|
|
315
|
+
* format: undefined,
|
|
316
|
+
* },
|
|
317
|
+
* //...
|
|
318
|
+
* ]
|
|
319
|
+
* ```
|
|
320
|
+
*
|
|
321
|
+
* In case we want to pivot the table axes
|
|
322
|
+
* ```js
|
|
323
|
+
* // Let's take this query as an example
|
|
324
|
+
* {
|
|
325
|
+
* measures: ['Orders.count'],
|
|
326
|
+
* dimensions: ['Users.country', 'Users.gender']
|
|
327
|
+
* }
|
|
328
|
+
*
|
|
329
|
+
* // and put the dimensions on `y` axis
|
|
330
|
+
* resultSet.tableColumns({
|
|
331
|
+
* x: [],
|
|
332
|
+
* y: ['Users.country', 'Users.gender', 'measures']
|
|
333
|
+
* })
|
|
334
|
+
* ```
|
|
335
|
+
*
|
|
336
|
+
* then `tableColumns` will group the table head and return
|
|
337
|
+
* ```js
|
|
338
|
+
* {
|
|
339
|
+
* key: 'Germany',
|
|
340
|
+
* type: 'string',
|
|
341
|
+
* title: 'Users Country Germany',
|
|
342
|
+
* shortTitle: 'Germany',
|
|
343
|
+
* meta: undefined,
|
|
344
|
+
* format: undefined,
|
|
345
|
+
* children: [
|
|
346
|
+
* {
|
|
347
|
+
* key: 'male',
|
|
348
|
+
* type: 'string',
|
|
349
|
+
* title: 'Users Gender male',
|
|
350
|
+
* shortTitle: 'male',
|
|
351
|
+
* meta: undefined,
|
|
352
|
+
* format: undefined,
|
|
353
|
+
* children: [
|
|
354
|
+
* {
|
|
355
|
+
* // ...
|
|
356
|
+
* dataIndex: 'Germany.male.Orders.count',
|
|
357
|
+
* shortTitle: 'Count',
|
|
358
|
+
* },
|
|
359
|
+
* ],
|
|
360
|
+
* },
|
|
361
|
+
* {
|
|
362
|
+
* // ...
|
|
363
|
+
* shortTitle: 'female',
|
|
364
|
+
* children: [
|
|
365
|
+
* {
|
|
366
|
+
* // ...
|
|
367
|
+
* dataIndex: 'Germany.female.Orders.count',
|
|
368
|
+
* shortTitle: 'Count',
|
|
369
|
+
* },
|
|
370
|
+
* ],
|
|
371
|
+
* },
|
|
372
|
+
* ],
|
|
373
|
+
* },
|
|
374
|
+
* // ...
|
|
375
|
+
* ```
|
|
376
|
+
* @returns An array of columns
|
|
377
|
+
*/
|
|
378
|
+
tableColumns(pivotConfig?: PivotConfig): TableColumn[];
|
|
379
|
+
totalRow(pivotConfig?: PivotConfig): ChartPivotRow;
|
|
380
|
+
categories(pivotConfig?: PivotConfig): ChartPivotRow[];
|
|
381
|
+
/**
|
|
382
|
+
* Returns an array of series objects, containing `key` and `title` parameters.
|
|
383
|
+
* ```js
|
|
384
|
+
* // For query
|
|
385
|
+
* {
|
|
386
|
+
* measures: ['Stories.count'],
|
|
387
|
+
* timeDimensions: [{
|
|
388
|
+
* dimension: 'Stories.time',
|
|
389
|
+
* dateRange: ['2015-01-01', '2015-12-31'],
|
|
390
|
+
* granularity: 'month'
|
|
391
|
+
* }]
|
|
392
|
+
* }
|
|
393
|
+
*
|
|
394
|
+
* // ResultSet.seriesNames() will return
|
|
395
|
+
* [
|
|
396
|
+
* {
|
|
397
|
+
* key: 'Stories.count',
|
|
398
|
+
* title: 'Stories Count',
|
|
399
|
+
* shortTitle: 'Count',
|
|
400
|
+
* yValues: ['Stories.count'],
|
|
401
|
+
* },
|
|
402
|
+
* ]
|
|
403
|
+
* ```
|
|
404
|
+
* @returns An array of series names
|
|
405
|
+
*/
|
|
406
|
+
seriesNames(pivotConfig?: PivotConfig): SeriesNamesColumn[];
|
|
407
|
+
query(): Query;
|
|
408
|
+
pivotQuery(): PivotQuery;
|
|
409
|
+
/**
|
|
410
|
+
* @return the total number of rows if the `total` option was set, when sending the query
|
|
411
|
+
*/
|
|
412
|
+
totalRows(): number | null | undefined;
|
|
413
|
+
rawData(): T[];
|
|
414
|
+
annotation(): QueryAnnotations;
|
|
415
|
+
private timeDimensionBackwardCompatibleData;
|
|
416
|
+
/**
|
|
417
|
+
* Can be used when you need access to the methods that can't be used with some query types (eg `compareDateRangeQuery` or `blendingQuery`)
|
|
418
|
+
* ```js
|
|
419
|
+
* resultSet.decompose().forEach((currentResultSet) => {
|
|
420
|
+
* console.log(currentResultSet.rawData());
|
|
421
|
+
* });
|
|
422
|
+
* ```
|
|
423
|
+
*/
|
|
424
|
+
decompose(): ResultSet<any>[];
|
|
425
|
+
/**
|
|
426
|
+
* Can be used to stash the `ResultSet` in a storage and restored later with [deserialize](#result-set-deserialize)
|
|
427
|
+
*/
|
|
428
|
+
serialize(): SerializedResult;
|
|
429
|
+
}
|
|
430
|
+
//# sourceMappingURL=ResultSet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResultSet.d.ts","sourceRoot":"","sources":["../../src/ResultSet.ts"],"names":[],"mappings":"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"}
|