dtable-statistic 4.0.6 → 4.0.8
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/es/assets/css/dashboard.css +22 -0
- package/es/calculator/basic-chart-calculator.js +27 -18
- package/es/calculator/combination-calculator.js +34 -9
- package/es/calculator/compare-bar-calculator.js +37 -30
- package/es/calculator/heat-map-calculator.js +25 -14
- package/es/calculator/map-calculator.js +25 -14
- package/es/calculator/mirror-calculator.js +29 -14
- package/es/calculator/pivot-table-calculator.js +132 -76
- package/es/calculator/workers/basic-chart-calculator-worker.js +21 -6
- package/es/calculator/workers/combination-calculator-worker.js +20 -5
- package/es/calculator/workers/compare-bar-chart-calculator-worker.js +12 -6
- package/es/calculator/workers/mirror-calculator-worker.js +15 -6
- package/es/calculator/workers/pivot-table-calculator-worker.js +97 -44
- package/es/calculator/world-map-calculator.js +25 -14
- package/es/components/dialog/enlarged-chart-dialog.js +2 -2
- package/es/components/dialog/statistic-record-dialog/index.css +2 -0
- package/es/components/dialog/statistic-record-dialog/index.js +80 -52
- package/es/constants/index.js +30 -29
- package/es/dashboard.js +57 -43
- package/es/desktop-dashboard.js +21 -56
- package/es/index.js +34 -2
- package/es/locale/lang/de.js +7 -3
- package/es/locale/lang/en.js +5 -1
- package/es/locale/lang/fr.js +7 -3
- package/es/locale/lang/zh_CN.js +5 -1
- package/es/mobile-dashboard.js +5 -5
- package/es/model/horizontal-bar-group.js +2 -0
- package/es/stat-editor/stat-settings/advance-chart-settings/index.js +1 -2
- package/es/stat-editor/stat-settings/advance-chart-settings/summary-settings.js +1 -1
- package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/horizontal-bar-chart-style.js +20 -3
- package/es/stat-editor/stat-settings/basic-chart-settings/summary-settings.js +2 -8
- package/es/stat-editor/stat-settings/public-setting/type-settings/index.js +23 -2
- package/es/stat-list/chart-preview.js +3 -4
- package/es/stat-list/index.js +10 -4
- package/es/stat-view/area-chart.js +177 -162
- package/es/stat-view/bar-chart.js +221 -222
- package/es/stat-view/base-chart.js +79 -7
- package/es/stat-view/basic-number-card.js +11 -19
- package/es/stat-view/combination-chart.js +100 -83
- package/es/stat-view/compare-chart.js +133 -144
- package/es/stat-view/completeness-chart.js +108 -102
- package/es/stat-view/custom-bar.js +79 -99
- package/es/stat-view/dashboard-chart.js +57 -57
- package/es/stat-view/heat-map.js +13 -32
- package/es/stat-view/horizontal-bar-chart.js +200 -230
- package/es/stat-view/index.js +2 -2
- package/es/stat-view/line-chart.js +162 -158
- package/es/stat-view/map.js +26 -40
- package/es/stat-view/mirror.js +88 -94
- package/es/stat-view/pie-chart.js +11 -39
- package/es/stat-view/pivot-table/index.js +4 -16
- package/es/stat-view/pivot-table/one-dimension-table-no-numeric-columns.js +36 -23
- package/es/stat-view/pivot-table/one-dimension-table-with-numeric-columns.js +11 -5
- package/es/stat-view/pivot-table/pivot-table-display-name.js +206 -0
- package/es/stat-view/pivot-table/two-dimension-table.js +104 -60
- package/es/stat-view/ring-chart.js +24 -42
- package/es/stat-view/scatter-chart.js +4 -21
- package/es/stat-view/treemap-chart.js +3 -12
- package/es/stat-view/trend-chart.js +6 -17
- package/es/stat-view/world-map.js +39 -50
- package/es/tabs/tab.js +2 -1
- package/es/utils/collaborator.js +9 -0
- package/es/utils/common-utils.js +24 -6
- package/es/utils/index.js +1 -1
- package/es/utils/sql-utils.js +10 -9
- package/es/utils/stat-utils.js +8 -5
- package/package.json +1 -1
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
|
|
44
44
|
.statistic-header .add-stat {
|
|
45
45
|
height: 26px;
|
|
46
|
+
margin-right: 8px;
|
|
46
47
|
padding: 0 10px;
|
|
47
48
|
font-weight: 400;
|
|
48
49
|
border-radius: 3px;
|
|
@@ -76,11 +77,18 @@
|
|
|
76
77
|
.statistic-header .op-item-icon-wrapper {
|
|
77
78
|
display: flex;
|
|
78
79
|
align-items: center;
|
|
80
|
+
justify-content: center;
|
|
79
81
|
cursor: pointer;
|
|
82
|
+
width: 24px;
|
|
80
83
|
line-height: 24px;
|
|
84
|
+
margin-right: 4px;
|
|
81
85
|
color: var(--dashboard-header-icon-color);
|
|
82
86
|
}
|
|
83
87
|
|
|
88
|
+
.statistic-header .op-item-icon-wrapper:last-child {
|
|
89
|
+
margin-right: 0;
|
|
90
|
+
}
|
|
91
|
+
|
|
84
92
|
.statistic-header .op-item-icon-wrapper:hover,
|
|
85
93
|
.statistic-header .add-stat:hover {
|
|
86
94
|
color: var(--dashboard-header-icon-hover-color);
|
|
@@ -90,6 +98,10 @@
|
|
|
90
98
|
color: var(--op-item-icon-hover-color);
|
|
91
99
|
}
|
|
92
100
|
|
|
101
|
+
.statistic-header .op-item-icon.btn-close {
|
|
102
|
+
font-weight: 700;
|
|
103
|
+
}
|
|
104
|
+
|
|
93
105
|
.statistic-main {
|
|
94
106
|
flex: 1 1;
|
|
95
107
|
display: flex;
|
|
@@ -559,3 +571,13 @@
|
|
|
559
571
|
.statistic-panel .seatable-radio .seatable-radio-description {
|
|
560
572
|
line-height: 16px;
|
|
561
573
|
}
|
|
574
|
+
|
|
575
|
+
/* column-formatter */
|
|
576
|
+
.statistic-chart-container .single-select-option,
|
|
577
|
+
.statistic-chart-container .multiple-select-option {
|
|
578
|
+
margin: 0 !important;
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
.statistic-chart-container .collaborators-formatter .collaborator {
|
|
582
|
+
margin-right: 0 !important;
|
|
583
|
+
}
|
|
@@ -112,7 +112,7 @@ var BasicChartCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
112
112
|
key: "queryDb",
|
|
113
113
|
value: function () {
|
|
114
114
|
var _queryDb = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(chart) {
|
|
115
|
-
var table_id, view_id, groupby_column_key, summary_type, summary_method, summary_column_key, groupby_date_granularity, include_empty, groupby_geolocation_granularity,
|
|
115
|
+
var table_id, view_id, column_groupby_multiple_numeric_column, groupby_column_key, summary_type, summary_method, summary_column_key, groupby_date_granularity, include_empty, groupby_geolocation_granularity, column_groupby_column_key, sortType, yAxisType, selectedTable, selectedView, groupbyColumn, sqlCondition, groupbyName, isTimeColumn, results, column_groupby_numeric_columns, summaryColumn, column_groupby_date_granularity, column_groupby_geolocation_granularity;
|
|
116
116
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
117
117
|
while (1) {
|
|
118
118
|
switch (_context2.prev = _context2.next) {
|
|
@@ -123,7 +123,7 @@ var BasicChartCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
123
123
|
}
|
|
124
124
|
return _context2.abrupt("return", this.queryDbFromCustomBar(chart));
|
|
125
125
|
case 2:
|
|
126
|
-
table_id = chart.table_id, view_id = chart.view_id;
|
|
126
|
+
table_id = chart.table_id, view_id = chart.view_id, column_groupby_multiple_numeric_column = chart.column_groupby_multiple_numeric_column;
|
|
127
127
|
column_groupby_column_key = chart.column_groupby_column_key;
|
|
128
128
|
sortType = chart.sort_type;
|
|
129
129
|
if (chart.type === STAT_TYPE.PIE || chart.type === STAT_TYPE.RING || chart.type === STAT_TYPE.TREEMAP) {
|
|
@@ -341,16 +341,19 @@ var BasicChartCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
341
341
|
valueKey = isAdvanced ? "".concat(summaryColumnMethod) : "".concat(method, "(").concat(groupbyColumn.name, ")");
|
|
342
342
|
data.results.forEach(function (item) {
|
|
343
343
|
var label = _this.getLabel(groupbyColumn, groupbyName, item, groupbyDateGranularity, groupbyGeolocationGranularity);
|
|
344
|
+
if (!includeEmpty && _this.isEmptyLabel(label)) {
|
|
345
|
+
return;
|
|
346
|
+
}
|
|
344
347
|
var value = item[valueKey] || 0;
|
|
348
|
+
var formatted_value = value;
|
|
345
349
|
if (isAdvanced) {
|
|
346
350
|
value = formatNumericValue(value, selectedSummaryColumn);
|
|
347
|
-
|
|
348
|
-
if (!includeEmpty && _this.isEmptyLabel(label)) {
|
|
349
|
-
return;
|
|
351
|
+
formatted_value = StatUtils.getFormattedValue(value, selectedSummaryColumn, summaryMethod);
|
|
350
352
|
}
|
|
351
353
|
newResult.push({
|
|
352
354
|
name: label,
|
|
353
355
|
value: value,
|
|
356
|
+
formatted_value: formatted_value,
|
|
354
357
|
original_name: item[groupbyColumn.key],
|
|
355
358
|
y_axis_type: yAxisType
|
|
356
359
|
});
|
|
@@ -423,14 +426,16 @@ var BasicChartCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
423
426
|
newResult = [];
|
|
424
427
|
valueKey = isAdvanced ? "".concat(summaryColumnMethod) : "".concat(method, "(").concat(groupbyColumn.name, ")");
|
|
425
428
|
data.results.forEach(function (item) {
|
|
426
|
-
var value = item[valueKey] || 0;
|
|
427
|
-
if (isAdvanced) {
|
|
428
|
-
value = formatNumericValue(value, selectedSummaryColumn);
|
|
429
|
-
}
|
|
430
429
|
var label = _this2.getLabel(groupbyColumn, groupbyName, item, groupbyDateGranularity, groupbyGeolocationGranularity);
|
|
431
430
|
if (!includeEmpty && _this2.isEmptyLabel(label)) {
|
|
432
431
|
return;
|
|
433
432
|
}
|
|
433
|
+
var value = item[valueKey] || 0;
|
|
434
|
+
var formatted_value = value;
|
|
435
|
+
if (isAdvanced) {
|
|
436
|
+
value = formatNumericValue(value, selectedSummaryColumn);
|
|
437
|
+
formatted_value = StatUtils.getFormattedValue(value, selectedSummaryColumn, summaryMethod);
|
|
438
|
+
}
|
|
434
439
|
var color;
|
|
435
440
|
if (columnGroupbyColumn.type === CellType.SINGLE_SELECT) {
|
|
436
441
|
var tempValue = StatUtils.getGroupLabel(item[columnGroupbyColumn.key], {}, columnGroupbyColumn, columnGroupbyDateGranularity, columnGroupbyGeolocationGranularity, _this2.value);
|
|
@@ -439,6 +444,7 @@ var BasicChartCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
439
444
|
var groupLabel = _this2.getLabel(columnGroupbyColumn, columnGroupbyColumnName, item, columnGroupbyDateGranularity, columnGroupbyGeolocationGranularity);
|
|
440
445
|
newResult.push({
|
|
441
446
|
value: value,
|
|
447
|
+
formatted_value: formatted_value,
|
|
442
448
|
color: color,
|
|
443
449
|
name: label,
|
|
444
450
|
group_name: groupLabel,
|
|
@@ -465,7 +471,7 @@ var BasicChartCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
465
471
|
value: function () {
|
|
466
472
|
var _getGroupbyMultipleNumericColumnsResults = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(groupbyName, groupbyColumn, groupbyDateGranularity, groupbyGeolocationGranularity, includeEmpty, summaryType, summaryColumn, summaryMethod, columnGroupbyNumericColumns, sqlCondition, table, yAxisType) {
|
|
467
473
|
var _this3 = this;
|
|
468
|
-
var isAdvanced, numericColumns, groupColumnNames, groupMethods, summaryColumnName, method, summaryColumnMethod, sqlString, result, data, newResult;
|
|
474
|
+
var isAdvanced, numericColumns, groupColumnNames, groupMethods, originalMethods, summaryColumnName, method, summaryColumnMethod, sqlString, result, data, newResult;
|
|
469
475
|
return _regeneratorRuntime.wrap(function _callee6$(_context6) {
|
|
470
476
|
while (1) {
|
|
471
477
|
switch (_context6.prev = _context6.next) {
|
|
@@ -474,6 +480,7 @@ var BasicChartCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
474
480
|
numericColumns = [];
|
|
475
481
|
groupColumnNames = [];
|
|
476
482
|
groupMethods = [];
|
|
483
|
+
originalMethods = [];
|
|
477
484
|
if (summaryColumn) {
|
|
478
485
|
summaryColumnName = isAdvanced ? summaryColumn.name : "`".concat(groupbyColumn.name, "`");
|
|
479
486
|
method = isAdvanced ? DTABLE_DB_SUMMARY_METHOD[summaryMethod] : 'COUNT';
|
|
@@ -481,6 +488,7 @@ var BasicChartCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
481
488
|
numericColumns.push(summaryColumn);
|
|
482
489
|
groupColumnNames.push(summaryColumnName);
|
|
483
490
|
groupMethods.push(summaryColumnMethod);
|
|
491
|
+
originalMethods.push(summaryMethod);
|
|
484
492
|
}
|
|
485
493
|
columnGroupbyNumericColumns.forEach(function (item) {
|
|
486
494
|
var numericColumn = TableUtils.getTableColumnByKey(table, item.column_key);
|
|
@@ -488,25 +496,26 @@ var BasicChartCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
488
496
|
numericColumns.push(numericColumn);
|
|
489
497
|
groupColumnNames.push(groupColumnName);
|
|
490
498
|
groupMethods.push(getSummaryColumnMethod(DTABLE_DB_SUMMARY_METHOD[item.summary_method], groupColumnName));
|
|
499
|
+
originalMethods.push(item.summary_method);
|
|
491
500
|
});
|
|
492
501
|
sqlString = "select ".concat(groupbyName, ", ").concat(groupMethods.join(','), " from `").concat(table.name, "` ").concat(sqlCondition, " group by ").concat(groupbyName, " order by ").concat(groupbyName, " limit 5000");
|
|
493
|
-
_context6.next =
|
|
502
|
+
_context6.next = 10;
|
|
494
503
|
return this.sqlQuery(sqlString);
|
|
495
|
-
case
|
|
504
|
+
case 10:
|
|
496
505
|
result = _context6.sent;
|
|
497
506
|
if (!(result.status !== 200 || !result.data.success)) {
|
|
498
|
-
_context6.next =
|
|
507
|
+
_context6.next = 13;
|
|
499
508
|
break;
|
|
500
509
|
}
|
|
501
510
|
return _context6.abrupt("return", []);
|
|
502
|
-
case
|
|
511
|
+
case 13:
|
|
503
512
|
data = result.data;
|
|
504
513
|
if (data.results) {
|
|
505
|
-
_context6.next =
|
|
514
|
+
_context6.next = 16;
|
|
506
515
|
break;
|
|
507
516
|
}
|
|
508
517
|
return _context6.abrupt("return", []);
|
|
509
|
-
case
|
|
518
|
+
case 16:
|
|
510
519
|
newResult = [];
|
|
511
520
|
data.results.forEach(function (item) {
|
|
512
521
|
var label = _this3.getLabel(groupbyColumn, groupbyName, item, groupbyDateGranularity, groupbyGeolocationGranularity);
|
|
@@ -520,7 +529,7 @@ var BasicChartCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
520
529
|
var formatted_value = value;
|
|
521
530
|
if (isAdvanced) {
|
|
522
531
|
value = formatNumericValue(value, numericColumns[index]);
|
|
523
|
-
formatted_value = StatUtils.getFormattedValue(value, numericColumns[index]);
|
|
532
|
+
formatted_value = StatUtils.getFormattedValue(value, numericColumns[index], originalMethods[index]);
|
|
524
533
|
}
|
|
525
534
|
groupItems.push({
|
|
526
535
|
name: label,
|
|
@@ -534,7 +543,7 @@ var BasicChartCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
534
543
|
newResult = newResult.concat(groupItems);
|
|
535
544
|
});
|
|
536
545
|
return _context6.abrupt("return", newResult);
|
|
537
|
-
case
|
|
546
|
+
case 19:
|
|
538
547
|
case "end":
|
|
539
548
|
return _context6.stop();
|
|
540
549
|
}
|
|
@@ -103,7 +103,7 @@ var CombinationCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
103
103
|
value: function () {
|
|
104
104
|
var _queryDb = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(chart) {
|
|
105
105
|
var _this2 = this;
|
|
106
|
-
var table_id, x_axis_column_key, x_axis_include_empty, groupby_date_granularity, groupby_geolocation_granularity, y_axis_left_summary_type, y_axis_right_summary_type, y_axis_right_summary_method, y_axis_left_summary_method, y_axis_left_summary_column, y_axis_right_summary_column, y_axis_left_group_by_multiple_numeric_column, y_axis_left_group_by_numeric_columns, selectedTable, selectedColumn, groupName, sqlString, result, newResult, results, data, value1Key, leftSummaryColumn, rightSummaryColumn, value2Key, _rightSummaryColumn, _value2Key, groupItems, _leftSummaryColumn, groupItem;
|
|
106
|
+
var table_id, x_axis_column_key, x_axis_include_empty, groupby_date_granularity, groupby_geolocation_granularity, y_axis_left_summary_type, y_axis_right_summary_type, y_axis_right_summary_method, y_axis_left_summary_method, y_axis_left_summary_column, y_axis_right_summary_column, y_axis_left_group_by_multiple_numeric_column, y_axis_left_group_by_numeric_columns, selectedTable, selectedColumn, groupName, sqlString, result, newResult, results, data, value1Key, leftSummaryColumn, rightSummaryColumn, value2Key, _rightSummaryColumn, _value2Key, groupItems, summaries, _leftSummaryColumn, groupItem;
|
|
107
107
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
108
108
|
while (1) {
|
|
109
109
|
switch (_context2.prev = _context2.next) {
|
|
@@ -161,18 +161,24 @@ var CombinationCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
161
161
|
data.forEach(function (item) {
|
|
162
162
|
var label = _this2.getLabel(selectedColumn, groupName, item, groupby_date_granularity, groupby_geolocation_granularity);
|
|
163
163
|
var value1 = item[value1Key] || 0;
|
|
164
|
+
var value2 = item[value2Key] || 0;
|
|
165
|
+
var formattedValueLeft = value1;
|
|
166
|
+
var formattedValueRight = value2;
|
|
164
167
|
if (y_axis_left_summary_type === SUMMARY_TYPE.ADVANCED) {
|
|
165
168
|
value1 = formatNumericValue(value1, leftSummaryColumn);
|
|
169
|
+
formattedValueLeft = StatUtils.getFormattedValue(value1, leftSummaryColumn, y_axis_left_summary_method);
|
|
166
170
|
}
|
|
167
|
-
var value2 = item[value2Key] || 0;
|
|
168
171
|
if (y_axis_right_summary_type === SUMMARY_TYPE.ADVANCED) {
|
|
169
172
|
value2 = formatNumericValue(value2, rightSummaryColumn);
|
|
173
|
+
formattedValueRight = StatUtils.getFormattedValue(value2, rightSummaryColumn, y_axis_right_summary_method);
|
|
170
174
|
}
|
|
171
175
|
if (!_this2.isEmptyLabel(label) || x_axis_include_empty) {
|
|
172
176
|
newResult.push({
|
|
173
177
|
name: label,
|
|
174
178
|
value_left: value1,
|
|
175
179
|
value_right: value2,
|
|
180
|
+
formatted_value_left: formattedValueLeft,
|
|
181
|
+
formatted_value_right: formattedValueRight,
|
|
176
182
|
original_name: item[selectedColumn.key]
|
|
177
183
|
});
|
|
178
184
|
}
|
|
@@ -184,32 +190,51 @@ var CombinationCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
184
190
|
_value2Key = getSummaryColumnMethod(DTABLE_DB_SUMMARY_METHOD[y_axis_right_summary_method], _rightSummaryColumn.name);
|
|
185
191
|
}
|
|
186
192
|
groupItems = [];
|
|
193
|
+
summaries = [];
|
|
187
194
|
_leftSummaryColumn = TableUtils.getTableColumnByKey(selectedTable, y_axis_left_summary_column);
|
|
188
195
|
groupItem = getSummaryColumnMethod(DTABLE_DB_SUMMARY_METHOD[y_axis_left_summary_method], _leftSummaryColumn.name);
|
|
189
|
-
_leftSummaryColumn && !groupItems.includes(groupItem)
|
|
196
|
+
if (_leftSummaryColumn && !groupItems.includes(groupItem)) {
|
|
197
|
+
groupItems.push(groupItem);
|
|
198
|
+
summaries.push({
|
|
199
|
+
column: _leftSummaryColumn,
|
|
200
|
+
method: y_axis_left_summary_method
|
|
201
|
+
});
|
|
202
|
+
}
|
|
190
203
|
y_axis_left_group_by_numeric_columns.forEach(function (item, index) {
|
|
191
204
|
var column = TableUtils.getTableColumnByKey(selectedTable, item.column_key);
|
|
192
205
|
if (column) {
|
|
193
|
-
var
|
|
194
|
-
|
|
206
|
+
var method = item.summary_method;
|
|
207
|
+
var _groupItem = getSummaryColumnMethod(DTABLE_DB_SUMMARY_METHOD[method], column.name);
|
|
208
|
+
if (!groupItems.includes(_groupItem)) {
|
|
209
|
+
groupItems.push(_groupItem);
|
|
210
|
+
summaries.push({
|
|
211
|
+
column: column,
|
|
212
|
+
method: method
|
|
213
|
+
});
|
|
214
|
+
}
|
|
195
215
|
}
|
|
196
216
|
});
|
|
197
217
|
data.forEach(function (item, index) {
|
|
198
218
|
var label = _this2.getLabel(selectedColumn, groupName, item, groupby_date_granularity, groupby_geolocation_granularity);
|
|
199
219
|
var value2 = item[_value2Key] || 0;
|
|
220
|
+
var formattedValueRight = value2;
|
|
200
221
|
if (y_axis_right_summary_type === SUMMARY_TYPE.ADVANCED) {
|
|
201
222
|
value2 = formatNumericValue(value2, _rightSummaryColumn);
|
|
223
|
+
formattedValueRight = StatUtils.getFormattedValue(value2, _rightSummaryColumn, y_axis_right_summary_method);
|
|
202
224
|
}
|
|
203
225
|
groupItems.forEach(function (groupItem, index) {
|
|
204
226
|
if (!_this2.isEmptyLabel(label) || x_axis_include_empty) {
|
|
205
|
-
var
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
227
|
+
var summary = summaries[index];
|
|
228
|
+
var method = summary.method,
|
|
229
|
+
column = summary.column;
|
|
230
|
+
var value = formatNumericValue(item[groupItems[index]] || 0, column);
|
|
231
|
+
var formattedValueLeft = StatUtils.getFormattedValue(value, column, method);
|
|
209
232
|
newResult.push({
|
|
210
233
|
name: label,
|
|
211
234
|
value_left: value,
|
|
212
235
|
value_right: value2,
|
|
236
|
+
formatted_value_left: formattedValueLeft,
|
|
237
|
+
formatted_value_right: formattedValueRight,
|
|
213
238
|
color: LABEL_COLORS[index % 12],
|
|
214
239
|
original_name: item[selectedColumn.key]
|
|
215
240
|
});
|
|
@@ -11,7 +11,7 @@ import { filter2SqlCondition, TableUtils } from 'dtable-store';
|
|
|
11
11
|
import BaseCalculator from './base-calculator';
|
|
12
12
|
import { getSqlGroup, getSqlOrder } from '../utils/sql-utils';
|
|
13
13
|
import StatUtils from '../utils/stat-utils';
|
|
14
|
-
import { getSummaryResult } from '../utils/common-utils';
|
|
14
|
+
import { getSummaryColumnMethod, getSummaryResult } from '../utils/common-utils';
|
|
15
15
|
import { DTABLE_DB_SUMMARY_METHOD, SUMMARY_TYPE } from '../constants';
|
|
16
16
|
var CompareBarCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
17
17
|
_inherits(CompareBarCalculator, _BaseCalculator);
|
|
@@ -99,7 +99,7 @@ var CompareBarCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
99
99
|
value: function () {
|
|
100
100
|
var _queryDb = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(chart) {
|
|
101
101
|
var _this = this;
|
|
102
|
-
var table_id, view_id, x_axis_column_key, x_axis_date_granularity, y_axis_summary_type, y_axis_summary_method, y_axis_column_key, x_axis_date_range_start, x_axis_date_range_end, x_axis_compared_date_range_start, x_axis_compared_date_range_end, display_increase, selectedTable, selectedView, selectedColumn, isAdvanced, method, sqlString, groupName, sqlOrder, summaryColumnName, selectedSummaryColumn, sqlCondition, result, groupName1, groupName2, dateRangeResult, dateComparedResult, valueKey, comparedResult, rangeResult, data, _iterator, _step, item, value, index, _iterator2, _step2, _item, dateRangeItem, _value, newItem, value1, increaseValue;
|
|
102
|
+
var table_id, view_id, x_axis_column_key, x_axis_date_granularity, y_axis_summary_type, y_axis_summary_method, y_axis_column_key, x_axis_date_range_start, x_axis_date_range_end, x_axis_compared_date_range_start, x_axis_compared_date_range_end, display_increase, selectedTable, selectedView, selectedColumn, isAdvanced, method, sqlString, groupName, sqlOrder, summaryColumnName, selectedSummaryColumn, summaryColumnMethod, sqlCondition, result, groupName1, groupName2, dateRangeResult, dateComparedResult, valueKey, comparedResult, rangeResult, data, _iterator, _step, item, value, formatted_value, index, _iterator2, _step2, _item, dateRangeItem, _value, _formatted_value, newItem, value1, increaseValue;
|
|
103
103
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
104
104
|
while (1) {
|
|
105
105
|
switch (_context2.prev = _context2.next) {
|
|
@@ -109,7 +109,7 @@ var CompareBarCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
109
109
|
selectedView = this.getViewById(view_id, selectedTable);
|
|
110
110
|
selectedColumn = TableUtils.getTableColumnByKey(selectedTable, x_axis_column_key);
|
|
111
111
|
isAdvanced = y_axis_summary_type === SUMMARY_TYPE.ADVANCED;
|
|
112
|
-
method = isAdvanced ? DTABLE_DB_SUMMARY_METHOD[y_axis_summary_method] :
|
|
112
|
+
method = isAdvanced ? DTABLE_DB_SUMMARY_METHOD[y_axis_summary_method] : DTABLE_DB_SUMMARY_METHOD.Count;
|
|
113
113
|
sqlString = '';
|
|
114
114
|
groupName = getSqlGroup('day', selectedColumn);
|
|
115
115
|
sqlOrder = getSqlOrder(null, groupName);
|
|
@@ -128,17 +128,18 @@ var CompareBarCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
128
128
|
case 15:
|
|
129
129
|
summaryColumnName = "".concat(selectedSummaryColumn.name);
|
|
130
130
|
case 16:
|
|
131
|
+
summaryColumnMethod = getSummaryColumnMethod(method, summaryColumnName);
|
|
131
132
|
sqlCondition = filter2SqlCondition(selectedTable, selectedView);
|
|
132
133
|
sqlCondition = this.getStatItemSqlCondition(chart, sqlCondition, "`".concat(selectedColumn.name, "`"));
|
|
133
|
-
sqlString = "select ".concat(groupName, ", ").concat(
|
|
134
|
-
_context2.next =
|
|
134
|
+
sqlString = "select ".concat(groupName, ", ").concat(summaryColumnMethod, " from `").concat(selectedTable.name, "` ").concat(sqlCondition, " group by ").concat(groupName, " ").concat(sqlOrder, " limit 5000");
|
|
135
|
+
_context2.next = 22;
|
|
135
136
|
return this.sqlQuery(sqlString);
|
|
136
|
-
case
|
|
137
|
+
case 22:
|
|
137
138
|
result = _context2.sent;
|
|
138
139
|
groupName1 = "".concat(x_axis_date_range_start, " - ").concat(x_axis_date_range_end);
|
|
139
140
|
groupName2 = "".concat(x_axis_compared_date_range_start, " - ").concat(x_axis_compared_date_range_end);
|
|
140
141
|
if (!(result.status === 200 && result.data.success)) {
|
|
141
|
-
_context2.next =
|
|
142
|
+
_context2.next = 63;
|
|
142
143
|
break;
|
|
143
144
|
}
|
|
144
145
|
dateRangeResult = new Map();
|
|
@@ -188,14 +189,17 @@ var CompareBarCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
188
189
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
189
190
|
item = _step.value;
|
|
190
191
|
value = item[1];
|
|
192
|
+
formatted_value = value;
|
|
191
193
|
if (isAdvanced) {
|
|
192
194
|
value = getSummaryResult(item[1], y_axis_summary_method, data.precision);
|
|
195
|
+
formatted_value = StatUtils.getFormattedValue(value, selectedSummaryColumn, y_axis_summary_method);
|
|
193
196
|
}
|
|
194
197
|
rangeResult.push({
|
|
195
198
|
name: item[0],
|
|
196
|
-
value: value,
|
|
197
199
|
group_name: groupName1,
|
|
198
|
-
raw_name: item[0]
|
|
200
|
+
raw_name: item[0],
|
|
201
|
+
value: value,
|
|
202
|
+
formatted_value: formatted_value
|
|
199
203
|
});
|
|
200
204
|
}
|
|
201
205
|
} catch (err) {
|
|
@@ -205,30 +209,33 @@ var CompareBarCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
205
209
|
}
|
|
206
210
|
index = 0;
|
|
207
211
|
_iterator2 = _createForOfIteratorHelper(dateComparedResult);
|
|
208
|
-
_context2.prev =
|
|
212
|
+
_context2.prev = 37;
|
|
209
213
|
_iterator2.s();
|
|
210
|
-
case
|
|
214
|
+
case 39:
|
|
211
215
|
if ((_step2 = _iterator2.n()).done) {
|
|
212
|
-
_context2.next =
|
|
216
|
+
_context2.next = 53;
|
|
213
217
|
break;
|
|
214
218
|
}
|
|
215
219
|
_item = _step2.value;
|
|
216
220
|
dateRangeItem = rangeResult[index];
|
|
217
221
|
if (dateRangeItem) {
|
|
218
|
-
_context2.next =
|
|
222
|
+
_context2.next = 44;
|
|
219
223
|
break;
|
|
220
224
|
}
|
|
221
|
-
return _context2.abrupt("break",
|
|
222
|
-
case
|
|
225
|
+
return _context2.abrupt("break", 53);
|
|
226
|
+
case 44:
|
|
223
227
|
_value = _item[1];
|
|
228
|
+
_formatted_value = _value;
|
|
224
229
|
if (isAdvanced) {
|
|
225
230
|
_value = getSummaryResult(_item[1], y_axis_summary_method, data.precision);
|
|
231
|
+
_formatted_value = StatUtils.getFormattedValue(_value, selectedSummaryColumn, y_axis_summary_method);
|
|
226
232
|
}
|
|
227
233
|
newItem = {
|
|
228
234
|
name: dateRangeItem.name,
|
|
229
|
-
value: _value,
|
|
230
235
|
group_name: groupName2,
|
|
231
|
-
raw_name: _item[0]
|
|
236
|
+
raw_name: _item[0],
|
|
237
|
+
value: _value,
|
|
238
|
+
formatted_value: _formatted_value
|
|
232
239
|
};
|
|
233
240
|
if (display_increase) {
|
|
234
241
|
value1 = dateRangeItem.value;
|
|
@@ -240,33 +247,33 @@ var CompareBarCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
240
247
|
}
|
|
241
248
|
comparedResult.push(newItem);
|
|
242
249
|
index++;
|
|
243
|
-
case 49:
|
|
244
|
-
_context2.next = 38;
|
|
245
|
-
break;
|
|
246
250
|
case 51:
|
|
247
|
-
_context2.next =
|
|
251
|
+
_context2.next = 39;
|
|
248
252
|
break;
|
|
249
253
|
case 53:
|
|
250
|
-
_context2.
|
|
251
|
-
|
|
254
|
+
_context2.next = 58;
|
|
255
|
+
break;
|
|
256
|
+
case 55:
|
|
257
|
+
_context2.prev = 55;
|
|
258
|
+
_context2.t0 = _context2["catch"](37);
|
|
252
259
|
_iterator2.e(_context2.t0);
|
|
253
|
-
case
|
|
254
|
-
_context2.prev =
|
|
260
|
+
case 58:
|
|
261
|
+
_context2.prev = 58;
|
|
255
262
|
_iterator2.f();
|
|
256
|
-
return _context2.finish(
|
|
257
|
-
case
|
|
263
|
+
return _context2.finish(58);
|
|
264
|
+
case 61:
|
|
258
265
|
if (comparedResult.length > rangeResult.length) {
|
|
259
266
|
comparedResult = comparedResult.slice(0, rangeResult.length);
|
|
260
267
|
}
|
|
261
268
|
return _context2.abrupt("return", [].concat(_toConsumableArray(comparedResult), rangeResult));
|
|
262
|
-
case
|
|
269
|
+
case 63:
|
|
263
270
|
return _context2.abrupt("return", []);
|
|
264
|
-
case
|
|
271
|
+
case 64:
|
|
265
272
|
case "end":
|
|
266
273
|
return _context2.stop();
|
|
267
274
|
}
|
|
268
275
|
}
|
|
269
|
-
}, _callee2, this, [[
|
|
276
|
+
}, _callee2, this, [[37, 55, 58, 61]]);
|
|
270
277
|
}));
|
|
271
278
|
function queryDb(_x2) {
|
|
272
279
|
return _queryDb.apply(this, arguments);
|
|
@@ -130,29 +130,40 @@ var HeatMapCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
130
130
|
sqlCondition = filter2SqlCondition(selectedTable, selectedView);
|
|
131
131
|
summaryColumnName = '';
|
|
132
132
|
sqlString = '';
|
|
133
|
-
if (isAdvanced) {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
133
|
+
if (!isAdvanced) {
|
|
134
|
+
_context2.next = 19;
|
|
135
|
+
break;
|
|
136
|
+
}
|
|
137
|
+
summaryColumn = TableUtils.getTableColumnByKey(selectedTable, summary_column);
|
|
138
|
+
if (summaryColumn) {
|
|
139
|
+
_context2.next = 14;
|
|
140
|
+
break;
|
|
140
141
|
}
|
|
141
|
-
_context2.
|
|
142
|
+
return _context2.abrupt("return", []);
|
|
143
|
+
case 14:
|
|
144
|
+
summaryColumnName = summaryColumn.name;
|
|
145
|
+
summaryColumnMethod = getSummaryColumnMethod(method, summaryColumnName);
|
|
146
|
+
sqlString = "select `".concat(columnName, "`, ").concat(summaryColumnMethod, " from `").concat(selectedTable.name, "` ").concat(sqlCondition, " group by `").concat(columnName, "` limit 5000");
|
|
147
|
+
_context2.next = 20;
|
|
148
|
+
break;
|
|
149
|
+
case 19:
|
|
150
|
+
sqlString = "select `".concat(columnName, "`, ").concat(method, "(").concat(columnName, ") from `").concat(selectedTable.name, "` ").concat(sqlCondition, " group by `").concat(columnName, "` limit 5000");
|
|
151
|
+
case 20:
|
|
152
|
+
_context2.next = 22;
|
|
142
153
|
return this.sqlQuery(sqlString);
|
|
143
|
-
case
|
|
154
|
+
case 22:
|
|
144
155
|
result = _context2.sent;
|
|
145
156
|
if (!(result.status === 200 && result.data.success)) {
|
|
146
|
-
_context2.next =
|
|
157
|
+
_context2.next = 32;
|
|
147
158
|
break;
|
|
148
159
|
}
|
|
149
160
|
data = result.data;
|
|
150
161
|
if (data.results) {
|
|
151
|
-
_context2.next =
|
|
162
|
+
_context2.next = 27;
|
|
152
163
|
break;
|
|
153
164
|
}
|
|
154
165
|
return _context2.abrupt("return", []);
|
|
155
|
-
case
|
|
166
|
+
case 27:
|
|
156
167
|
newResult = [];
|
|
157
168
|
_summaryColumnMethod = getSummaryColumnMethod(method, summaryColumnName);
|
|
158
169
|
valueKey = isAdvanced ? "".concat(_summaryColumnMethod) : "".concat(method, "(").concat(columnName, ")");
|
|
@@ -171,9 +182,9 @@ var HeatMapCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
171
182
|
}
|
|
172
183
|
});
|
|
173
184
|
return _context2.abrupt("return", newResult);
|
|
174
|
-
case
|
|
185
|
+
case 32:
|
|
175
186
|
return _context2.abrupt("return", []);
|
|
176
|
-
case
|
|
187
|
+
case 33:
|
|
177
188
|
case "end":
|
|
178
189
|
return _context2.stop();
|
|
179
190
|
}
|
|
@@ -109,29 +109,40 @@ var MapCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
109
109
|
groupName = getSqlGroup(geolocation_granularity, column);
|
|
110
110
|
sqlString = '';
|
|
111
111
|
summaryColumnName = '';
|
|
112
|
-
if (isAdvanced) {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
112
|
+
if (!isAdvanced) {
|
|
113
|
+
_context2.next = 22;
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
summaryColumn = TableUtils.getTableColumnByKey(selectedTable, summary_column);
|
|
117
|
+
if (summaryColumn) {
|
|
118
|
+
_context2.next = 17;
|
|
119
|
+
break;
|
|
119
120
|
}
|
|
120
|
-
_context2.
|
|
121
|
+
return _context2.abrupt("return", []);
|
|
122
|
+
case 17:
|
|
123
|
+
summaryColumnName = summaryColumn.name;
|
|
124
|
+
summaryColumnMethod = getSummaryColumnMethod(method, summaryColumnName);
|
|
125
|
+
sqlString = "select ".concat(groupName, ", ").concat(summaryColumnMethod, " from `").concat(selectedTable.name, "` ").concat(sqlCondition, " group by ").concat(groupName, " limit 5000");
|
|
126
|
+
_context2.next = 23;
|
|
127
|
+
break;
|
|
128
|
+
case 22:
|
|
129
|
+
sqlString = "select ".concat(groupName, ", ").concat(method, "(`").concat(columnName, "`) from `").concat(selectedTable.name, "` ").concat(sqlCondition, " group by ").concat(groupName, " limit 5000");
|
|
130
|
+
case 23:
|
|
131
|
+
_context2.next = 25;
|
|
121
132
|
return this.sqlQuery(sqlString);
|
|
122
|
-
case
|
|
133
|
+
case 25:
|
|
123
134
|
result = _context2.sent;
|
|
124
135
|
if (!(result.status === 200 && result.data.success)) {
|
|
125
|
-
_context2.next =
|
|
136
|
+
_context2.next = 35;
|
|
126
137
|
break;
|
|
127
138
|
}
|
|
128
139
|
data = result.data;
|
|
129
140
|
if (data.results) {
|
|
130
|
-
_context2.next =
|
|
141
|
+
_context2.next = 30;
|
|
131
142
|
break;
|
|
132
143
|
}
|
|
133
144
|
return _context2.abrupt("return", []);
|
|
134
|
-
case
|
|
145
|
+
case 30:
|
|
135
146
|
newResult = [];
|
|
136
147
|
_summaryColumnMethod = getSummaryColumnMethod(method, summaryColumnName);
|
|
137
148
|
valueKey = isAdvanced ? "".concat(_summaryColumnMethod) : "".concat(method, "(").concat(columnName, ")");
|
|
@@ -149,9 +160,9 @@ var MapCalculator = /*#__PURE__*/function (_BaseCalculator) {
|
|
|
149
160
|
}
|
|
150
161
|
});
|
|
151
162
|
return _context2.abrupt("return", newResult);
|
|
152
|
-
case
|
|
163
|
+
case 35:
|
|
153
164
|
return _context2.abrupt("return", []);
|
|
154
|
-
case
|
|
165
|
+
case 36:
|
|
155
166
|
case "end":
|
|
156
167
|
return _context2.stop();
|
|
157
168
|
}
|