@qrvey/formula-lang 3.1.0-rc.785 → 3.1.0-rc.795

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.
@@ -63,6 +63,7 @@ export interface AggregatedDefinition {
63
63
  columnId: string;
64
64
  property?: string;
65
65
  aggregate: string;
66
+ scope: string;
66
67
  }
67
68
  export type AggregateMap = Map<string, AggregatedDefinition>;
68
69
  interface TranspilationDetails {
@@ -51,6 +51,9 @@ const aggMed_1 = require("./aggMed");
51
51
  const aggCount_1 = require("./aggCount");
52
52
  const aggDistcount_1 = require("./aggDistcount");
53
53
  const now_1 = require("./now");
54
+ const totalCount_1 = require("./totalCount");
55
+ const totalSum_1 = require("./totalSum");
56
+ const totalMax_1 = require("./totalMax");
54
57
  exports.functionList = {
55
58
  MID: mid_1.MID,
56
59
  ABS: abs_1.ABS,
@@ -101,6 +104,9 @@ exports.functionList = {
101
104
  COUNT: aggCount_1.COUNT,
102
105
  DISTCOUNT: aggDistcount_1.DISTCOUNT,
103
106
  NOW: now_1.NOW,
107
+ AGG_COUNT: totalCount_1.AGG_COUNT,
108
+ AGG_SUM: totalSum_1.AGG_SUM,
109
+ AGG_MAXVAL: totalMax_1.AGG_MAXVAL,
104
110
  };
105
111
  exports.FUNCTION_LIST = Object.keys(exports.functionList);
106
112
  exports.ROW_FUNCTION_LIST = Object.keys(exports.functionList).filter((key) => exports.functionList[key].functionScope.includes(constants_1.OPERATION_SCOPE.RAW));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { FunctionDefinition } from '../constants/interfaces';
2
+ /**
3
+ * `AGG_COUNT` Returns the total aggregate count of all the values of a column considering all available data.
4
+ */
5
+ export declare const AGG_COUNT: FunctionDefinition;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AGG_COUNT = void 0;
4
+ const constants_1 = require("../constants");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * `AGG_COUNT` Returns the total aggregate count of all the values of a column considering all available data.
8
+ */
9
+ exports.AGG_COUNT = {
10
+ identifier: 'AGG_COUNT',
11
+ operationScope: constants_1.OPERATION_SCOPE.AGGREGATE,
12
+ functionScope: [constants_1.OPERATION_SCOPE.AGGREGATE],
13
+ parameters: [
14
+ {
15
+ identifier: 'VALUE',
16
+ optional: false,
17
+ //TO DO: Review type with Hugo and Andres
18
+ expectedPrimitive: constants_1.AST_PRIMITIVES.UNKNOWN,
19
+ validator: [utils_1.isAColumnParam],
20
+ },
21
+ ],
22
+ transpiler: {
23
+ elasticsearch,
24
+ snowflake,
25
+ redshift,
26
+ postgresql,
27
+ databricks,
28
+ mysql,
29
+ mssql,
30
+ },
31
+ primitiveResult: constants_1.AST_PRIMITIVES.NUMBER,
32
+ };
33
+ function elasticsearch(value) {
34
+ const sanitized = (0, utils_1.replaceDotByUnderscore)(value);
35
+ return `params.get("TOTAL_COUNT_${sanitized}")`;
36
+ }
37
+ function SQL(value) {
38
+ return `(SELECT COUNT(${value}) FROM :formulaTable :formulaWhere)`;
39
+ }
40
+ function snowflake(value) {
41
+ return SQL(value);
42
+ }
43
+ function redshift(value) {
44
+ return SQL(value);
45
+ }
46
+ function postgresql(value) {
47
+ return SQL(value);
48
+ }
49
+ function databricks(value) {
50
+ return SQL(value);
51
+ }
52
+ function mysql(value) {
53
+ return SQL(value);
54
+ }
55
+ function mssql(value) {
56
+ return SQL(value);
57
+ }
58
+ //# sourceMappingURL=totalCount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"totalCount.js","sourceRoot":"","sources":["../../../src/functions/totalCount.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,oCAAkE;AAElE;;GAEG;AACU,QAAA,SAAS,GAAuB;IACzC,UAAU,EAAE,WAAW;IACvB,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,yCAAyC;YACzC,iBAAiB,EAAE,0BAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,sBAAc,CAAC;SAC9B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,SAAS,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAChD,OAAO,2BAA2B,SAAS,IAAI,CAAC;AACpD,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,iBAAiB,KAAK,qCAAqC,CAAC;AACvE,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { FunctionDefinition } from '../constants/interfaces';
2
+ /**
3
+ * `AGG_MAXVAL` Returns the total aggregate maximum value of all the values of a column considering all available data.
4
+ */
5
+ export declare const AGG_MAXVAL: FunctionDefinition;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AGG_MAXVAL = void 0;
4
+ const constants_1 = require("../constants");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * `AGG_MAXVAL` Returns the total aggregate maximum value of all the values of a column considering all available data.
8
+ */
9
+ exports.AGG_MAXVAL = {
10
+ identifier: 'AGG_MAXVAL',
11
+ operationScope: constants_1.OPERATION_SCOPE.AGGREGATE,
12
+ functionScope: [constants_1.OPERATION_SCOPE.AGGREGATE],
13
+ parameters: [
14
+ {
15
+ identifier: 'VALUE',
16
+ optional: false,
17
+ expectedPrimitive: constants_1.AST_PRIMITIVES.NUMBER,
18
+ validator: [utils_1.isANumericColumnParam],
19
+ },
20
+ ],
21
+ transpiler: {
22
+ elasticsearch,
23
+ snowflake,
24
+ redshift,
25
+ postgresql,
26
+ databricks,
27
+ mysql,
28
+ mssql,
29
+ },
30
+ primitiveResult: constants_1.AST_PRIMITIVES.NUMBER,
31
+ };
32
+ function elasticsearch(value) {
33
+ const sanitized = (0, utils_1.replaceDotByUnderscore)(value);
34
+ return `params.get("TOTAL_MAXVAL_${sanitized}")`;
35
+ }
36
+ function SQL(value) {
37
+ return `(SELECT MAX(${value}) FROM :formulaTable :formulaWhere)`;
38
+ }
39
+ function snowflake(value) {
40
+ return SQL(value);
41
+ }
42
+ function redshift(value) {
43
+ return SQL(value);
44
+ }
45
+ function postgresql(value) {
46
+ return SQL(value);
47
+ }
48
+ function databricks(value) {
49
+ return SQL(value);
50
+ }
51
+ function mysql(value) {
52
+ return SQL(value);
53
+ }
54
+ function mssql(value) {
55
+ return SQL(value);
56
+ }
57
+ //# sourceMappingURL=totalMax.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"totalMax.js","sourceRoot":"","sources":["../../../src/functions/totalMax.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,oCAAyE;AAEzE;;GAEG;AACU,QAAA,UAAU,GAAuB;IAC1C,UAAU,EAAE,YAAY;IACxB,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,6BAAqB,CAAC;SACrC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,SAAS,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAChD,OAAO,4BAA4B,SAAS,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,eAAe,KAAK,qCAAqC,CAAC;AACrE,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { FunctionDefinition } from '../constants/interfaces';
2
+ /**
3
+ * `AGG_SUM` Returns the total aggregate sum of all the values of a column considering all available data.
4
+ */
5
+ export declare const AGG_SUM: FunctionDefinition;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AGG_SUM = void 0;
4
+ const constants_1 = require("../constants");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * `AGG_SUM` Returns the total aggregate sum of all the values of a column considering all available data.
8
+ */
9
+ exports.AGG_SUM = {
10
+ identifier: 'AGG_SUM',
11
+ operationScope: constants_1.OPERATION_SCOPE.AGGREGATE,
12
+ functionScope: [constants_1.OPERATION_SCOPE.AGGREGATE],
13
+ parameters: [
14
+ {
15
+ identifier: 'VALUE',
16
+ optional: false,
17
+ expectedPrimitive: constants_1.AST_PRIMITIVES.NUMBER,
18
+ validator: [utils_1.isANumericColumnParam],
19
+ },
20
+ ],
21
+ transpiler: {
22
+ elasticsearch,
23
+ snowflake,
24
+ redshift,
25
+ postgresql,
26
+ databricks,
27
+ mysql,
28
+ mssql,
29
+ },
30
+ primitiveResult: constants_1.AST_PRIMITIVES.NUMBER,
31
+ };
32
+ function elasticsearch(value) {
33
+ const sanitized = (0, utils_1.replaceDotByUnderscore)(value);
34
+ return `params.get("TOTAL_SUM_${sanitized}")`;
35
+ }
36
+ function SQL(value) {
37
+ return `(SELECT SUM(${value}) FROM :formulaTable :formulaWhere)`;
38
+ }
39
+ function snowflake(value) {
40
+ return SQL(value);
41
+ }
42
+ function redshift(value) {
43
+ return SQL(value);
44
+ }
45
+ function postgresql(value) {
46
+ return SQL(value);
47
+ }
48
+ function databricks(value) {
49
+ return SQL(value);
50
+ }
51
+ function mysql(value) {
52
+ return SQL(value);
53
+ }
54
+ function mssql(value) {
55
+ return SQL(value);
56
+ }
57
+ //# sourceMappingURL=totalSum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"totalSum.js","sourceRoot":"","sources":["../../../src/functions/totalSum.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,oCAAyE;AAEzE;;GAEG;AACU,QAAA,OAAO,GAAuB;IACvC,UAAU,EAAE,SAAS;IACrB,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,6BAAqB,CAAC;SACrC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,SAAS,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAChD,OAAO,yBAAyB,SAAS,IAAI,CAAC;AAClD,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,eAAe,KAAK,qCAAqC,CAAC;AACrE,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
@@ -4,6 +4,18 @@ exports.aggregateFunction = void 0;
4
4
  const _1 = require(".");
5
5
  const constants_1 = require("../constants");
6
6
  const isAggregate_1 = require("./isAggregate");
7
+ const AGGREGATE_DEFINITIONS = {
8
+ SUM: { engineName: 'SUM', scope: 'AGGREGATE' },
9
+ AVG: { engineName: 'AVG', scope: 'AGGREGATE' },
10
+ MED: { engineName: 'MEDIAN', scope: 'AGGREGATE' },
11
+ MINVAL: { engineName: 'MIN', scope: 'AGGREGATE' },
12
+ MAXVAL: { engineName: 'MAX', scope: 'AGGREGATE' },
13
+ COUNT: { engineName: 'COUNT', scope: 'AGGREGATE' },
14
+ DISTCOUNT: { engineName: 'DISTINCTCOUNT', scope: 'AGGREGATE' },
15
+ AGG_COUNT: { engineName: 'COUNT', scope: 'TOTAL' },
16
+ AGG_MAXVAL: { engineName: 'MAX', scope: 'TOTAL' },
17
+ AGG_SUM: { engineName: 'SUM', scope: 'TOTAL' },
18
+ };
7
19
  function aggregateFunction(engine, aggregatedMap, node) {
8
20
  switch (engine) {
9
21
  case constants_1.ENGINES.ELASTICSEARCH:
@@ -25,6 +37,7 @@ function aggregateFunctionsES(currentMap, node) {
25
37
  const columnId = ((_a = arg.context) === null || _a === void 0 ? void 0 : _a.id) || '';
26
38
  const alias = (0, _1.replaceDotByUnderscore)(((_b = arg.context) === null || _b === void 0 ? void 0 : _b.replacement) || '');
27
39
  const aggregate = getAggregateName(node.name);
40
+ const scope = getScope(node.name);
28
41
  const key = `${aggregate}_${alias}`;
29
42
  // if (params.property) key += `::${params.property}`; //TODO where is this information?
30
43
  if (currentMap.has(key))
@@ -33,19 +46,16 @@ function aggregateFunctionsES(currentMap, node) {
33
46
  key,
34
47
  columnId,
35
48
  aggregate,
49
+ scope,
36
50
  });
37
51
  return currentMap;
38
52
  }
39
53
  function getAggregateName(name) {
40
- const definition = {
41
- SUM: 'SUM',
42
- AVG: 'AVG',
43
- MED: 'MEDIAN',
44
- MINVAL: 'MIN',
45
- MAXVAL: 'MAX',
46
- COUNT: 'COUNT',
47
- DISTCOUNT: 'DISTINCTCOUNT',
48
- };
49
- return definition[name] || '';
54
+ var _a;
55
+ return ((_a = AGGREGATE_DEFINITIONS[name]) === null || _a === void 0 ? void 0 : _a.engineName) || '';
56
+ }
57
+ function getScope(name) {
58
+ var _a;
59
+ return ((_a = AGGREGATE_DEFINITIONS[name]) === null || _a === void 0 ? void 0 : _a.scope) || 'AGGREGATE';
50
60
  }
51
61
  //# sourceMappingURL=aggregatedFunctions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aggregatedFunctions.js","sourceRoot":"","sources":["../../../src/utils/aggregatedFunctions.ts"],"names":[],"mappings":";;;AAAA,wBAA2C;AAC3C,4CAAkD;AAMlD,+CAAoD;AAWpD,SAAgB,iBAAiB,CAC7B,MAAe,EACf,aAA2B,EAC3B,IAAqB;IAErB,QAAQ,MAAM,EAAE;QACZ,KAAK,mBAAO,CAAC,aAAa;YACtB,OAAO,oBAAoB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACrD;YACI,OAAO,KAAK,CAAC;KACpB;AACL,CAAC;AAXD,8CAWC;AAED,SAAS,oBAAoB,CACzB,UAAwB,EACxB,IAAqB;;IAErB,IAAI,CAAC,IAAA,iCAAmB,EAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAgB,CAAC;IAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,qBAAS,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAEhD,MAAM,QAAQ,GAAG,CAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,EAAE,KAAI,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,IAAA,yBAAsB,EAAC,CAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,WAAW,KAAI,EAAE,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAsB,CAAC,CAAC;IAEhE,MAAM,GAAG,GAAG,GAAG,SAAS,IAAI,KAAK,EAAE,CAAC;IACpC,wFAAwF;IAExF,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IAE3C,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE;QAChB,GAAG;QACH,QAAQ;QACR,SAAS;KACZ,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAoB;IAC1C,MAAM,UAAU,GAAG;QACf,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,QAAQ;QACb,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,eAAe;KAC7B,CAAC;IACF,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"aggregatedFunctions.js","sourceRoot":"","sources":["../../../src/utils/aggregatedFunctions.ts"],"names":[],"mappings":";;;AAAA,wBAA2C;AAC3C,4CAAkD;AAMlD,+CAAoD;AAcpD,MAAM,qBAAqB,GAGvB;IACA,GAAG,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE;IACjD,MAAM,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE;IACjD,MAAM,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE;IACjD,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE;IAClD,SAAS,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,EAAE;IAC9D,SAAS,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAClD,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE;IACjD,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE;CACjD,CAAC;AAEF,SAAgB,iBAAiB,CAC7B,MAAe,EACf,aAA2B,EAC3B,IAAqB;IAErB,QAAQ,MAAM,EAAE;QACZ,KAAK,mBAAO,CAAC,aAAa;YACtB,OAAO,oBAAoB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACrD;YACI,OAAO,KAAK,CAAC;KACpB;AACL,CAAC;AAXD,8CAWC;AAED,SAAS,oBAAoB,CACzB,UAAwB,EACxB,IAAqB;;IAErB,IAAI,CAAC,IAAA,iCAAmB,EAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAgB,CAAC;IAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,qBAAS,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAEhD,MAAM,QAAQ,GAAG,CAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,EAAE,KAAI,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,IAAA,yBAAsB,EAAC,CAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,WAAW,KAAI,EAAE,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAsB,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAsB,CAAC,CAAC;IAEpD,MAAM,GAAG,GAAG,GAAG,SAAS,IAAI,KAAK,EAAE,CAAC;IACpC,wFAAwF;IAExF,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IAE3C,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE;QAChB,GAAG;QACH,QAAQ;QACR,SAAS;QACT,KAAK;KACR,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAoB;;IAC1C,OAAO,CAAA,MAAA,qBAAqB,CAAC,IAAI,CAAC,0CAAE,UAAU,KAAI,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,QAAQ,CAAC,IAAoB;;IAClC,OAAO,CAAA,MAAA,qBAAqB,CAAC,IAAI,CAAC,0CAAE,KAAK,KAAI,WAAW,CAAC;AAC7D,CAAC"}
@@ -63,6 +63,7 @@ export interface AggregatedDefinition {
63
63
  columnId: string;
64
64
  property?: string;
65
65
  aggregate: string;
66
+ scope: string;
66
67
  }
67
68
  export type AggregateMap = Map<string, AggregatedDefinition>;
68
69
  interface TranspilationDetails {
@@ -48,6 +48,9 @@ import { MED } from './aggMed';
48
48
  import { COUNT } from './aggCount';
49
49
  import { DISTCOUNT } from './aggDistcount';
50
50
  import { NOW } from './now';
51
+ import { AGG_COUNT } from './totalCount';
52
+ import { AGG_SUM } from './totalSum';
53
+ import { AGG_MAXVAL } from './totalMax';
51
54
  export const functionList = {
52
55
  MID,
53
56
  ABS,
@@ -98,6 +101,9 @@ export const functionList = {
98
101
  COUNT,
99
102
  DISTCOUNT,
100
103
  NOW,
104
+ AGG_COUNT,
105
+ AGG_SUM,
106
+ AGG_MAXVAL,
101
107
  };
102
108
  export const FUNCTION_LIST = Object.keys(functionList);
103
109
  export const ROW_FUNCTION_LIST = Object.keys(functionList).filter((key) => functionList[key].functionScope.includes(OPERATION_SCOPE.RAW));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,CAAC,MAAM,YAAY,GAAiB;IACtC,GAAG;IACH,GAAG;IACH,OAAO;IACP,GAAG;IACH,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,MAAM;IACN,EAAE;IACF,GAAG;IACH,MAAM;IACN,GAAG;IACH,EAAE;IACF,WAAW;IACX,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,OAAO;IACP,SAAS;IACT,MAAM;IACN,YAAY;IACZ,GAAG;IACH,GAAG;IACH,MAAM;IACN,IAAI;IACJ,GAAG;IACH,OAAO;IACP,OAAO;IACP,IAAI;IACJ,GAAG;IACH,GAAG;IACH,KAAK;IACL,MAAM;IACN,KAAK;IACL,SAAS;IACT,OAAO;IACP,WAAW;IACX,IAAI;IACJ,GAAG;IACH,MAAM;IACN,MAAM;IACN,GAAG;IACH,GAAG;IACH,KAAK;IACL,SAAS;IACT,GAAG;IACH,SAAS;IACT,OAAO;IACP,UAAU;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAEvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CACtE,YAAY,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAChE,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAC5E,YAAY,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,CACtE,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAC7B,YAAoB;IAEpB,OAAO,YAAY,CAAC,YAAY,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,gBAAgB,CACrB,YAAsB,EACtB,GAAG,iBAA2B;IAE9B,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,aAAa,GAEf;IACA,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACb,GAAG,EAAE,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,CAAC;QAC/C,UAAU,EAAE,gBAAgB,CAAC,uBAAuB,EAAE,KAAK,CAAC;KAC/D;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,MAAe,EAAE,EAAE;;IACvD,OAAO,MAAA,MAAA,aAAa,CAAC,MAAM,CAAC,0CAAE,GAAG,mCAAI,iBAAiB,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,MAAe,EAAE,EAAE;;IAC7D,OAAO,MAAA,MAAA,aAAa,CAAC,MAAM,CAAC,0CAAE,UAAU,mCAAI,uBAAuB,CAAC;AACxE,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { FunctionDefinition } from '../constants/interfaces';
2
+ /**
3
+ * `AGG_COUNT` Returns the total aggregate count of all the values of a column considering all available data.
4
+ */
5
+ export declare const AGG_COUNT: FunctionDefinition;
@@ -0,0 +1,55 @@
1
+ import { AST_PRIMITIVES, OPERATION_SCOPE } from '../constants';
2
+ import { isAColumnParam, replaceDotByUnderscore } from '../utils';
3
+ /**
4
+ * `AGG_COUNT` Returns the total aggregate count of all the values of a column considering all available data.
5
+ */
6
+ export const AGG_COUNT = {
7
+ identifier: 'AGG_COUNT',
8
+ operationScope: OPERATION_SCOPE.AGGREGATE,
9
+ functionScope: [OPERATION_SCOPE.AGGREGATE],
10
+ parameters: [
11
+ {
12
+ identifier: 'VALUE',
13
+ optional: false,
14
+ //TO DO: Review type with Hugo and Andres
15
+ expectedPrimitive: AST_PRIMITIVES.UNKNOWN,
16
+ validator: [isAColumnParam],
17
+ },
18
+ ],
19
+ transpiler: {
20
+ elasticsearch,
21
+ snowflake,
22
+ redshift,
23
+ postgresql,
24
+ databricks,
25
+ mysql,
26
+ mssql,
27
+ },
28
+ primitiveResult: AST_PRIMITIVES.NUMBER,
29
+ };
30
+ function elasticsearch(value) {
31
+ const sanitized = replaceDotByUnderscore(value);
32
+ return `params.get("TOTAL_COUNT_${sanitized}")`;
33
+ }
34
+ function SQL(value) {
35
+ return `(SELECT COUNT(${value}) FROM :formulaTable :formulaWhere)`;
36
+ }
37
+ function snowflake(value) {
38
+ return SQL(value);
39
+ }
40
+ function redshift(value) {
41
+ return SQL(value);
42
+ }
43
+ function postgresql(value) {
44
+ return SQL(value);
45
+ }
46
+ function databricks(value) {
47
+ return SQL(value);
48
+ }
49
+ function mysql(value) {
50
+ return SQL(value);
51
+ }
52
+ function mssql(value) {
53
+ return SQL(value);
54
+ }
55
+ //# sourceMappingURL=totalCount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"totalCount.js","sourceRoot":"","sources":["../../../src/functions/totalCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElE;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAuB;IACzC,UAAU,EAAE,WAAW;IACvB,cAAc,EAAE,eAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,yCAAyC;YACzC,iBAAiB,EAAE,cAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,cAAc,CAAC;SAC9B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAChD,OAAO,2BAA2B,SAAS,IAAI,CAAC;AACpD,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,iBAAiB,KAAK,qCAAqC,CAAC;AACvE,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { FunctionDefinition } from '../constants/interfaces';
2
+ /**
3
+ * `AGG_MAXVAL` Returns the total aggregate maximum value of all the values of a column considering all available data.
4
+ */
5
+ export declare const AGG_MAXVAL: FunctionDefinition;
@@ -0,0 +1,54 @@
1
+ import { AST_PRIMITIVES, OPERATION_SCOPE } from '../constants';
2
+ import { isANumericColumnParam, replaceDotByUnderscore } from '../utils';
3
+ /**
4
+ * `AGG_MAXVAL` Returns the total aggregate maximum value of all the values of a column considering all available data.
5
+ */
6
+ export const AGG_MAXVAL = {
7
+ identifier: 'AGG_MAXVAL',
8
+ operationScope: OPERATION_SCOPE.AGGREGATE,
9
+ functionScope: [OPERATION_SCOPE.AGGREGATE],
10
+ parameters: [
11
+ {
12
+ identifier: 'VALUE',
13
+ optional: false,
14
+ expectedPrimitive: AST_PRIMITIVES.NUMBER,
15
+ validator: [isANumericColumnParam],
16
+ },
17
+ ],
18
+ transpiler: {
19
+ elasticsearch,
20
+ snowflake,
21
+ redshift,
22
+ postgresql,
23
+ databricks,
24
+ mysql,
25
+ mssql,
26
+ },
27
+ primitiveResult: AST_PRIMITIVES.NUMBER,
28
+ };
29
+ function elasticsearch(value) {
30
+ const sanitized = replaceDotByUnderscore(value);
31
+ return `params.get("TOTAL_MAXVAL_${sanitized}")`;
32
+ }
33
+ function SQL(value) {
34
+ return `(SELECT MAX(${value}) FROM :formulaTable :formulaWhere)`;
35
+ }
36
+ function snowflake(value) {
37
+ return SQL(value);
38
+ }
39
+ function redshift(value) {
40
+ return SQL(value);
41
+ }
42
+ function postgresql(value) {
43
+ return SQL(value);
44
+ }
45
+ function databricks(value) {
46
+ return SQL(value);
47
+ }
48
+ function mysql(value) {
49
+ return SQL(value);
50
+ }
51
+ function mssql(value) {
52
+ return SQL(value);
53
+ }
54
+ //# sourceMappingURL=totalMax.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"totalMax.js","sourceRoot":"","sources":["../../../src/functions/totalMax.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEzE;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAuB;IAC1C,UAAU,EAAE,YAAY;IACxB,cAAc,EAAE,eAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,qBAAqB,CAAC;SACrC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAChD,OAAO,4BAA4B,SAAS,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,eAAe,KAAK,qCAAqC,CAAC;AACrE,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { FunctionDefinition } from '../constants/interfaces';
2
+ /**
3
+ * `AGG_SUM` Returns the total aggregate sum of all the values of a column considering all available data.
4
+ */
5
+ export declare const AGG_SUM: FunctionDefinition;
@@ -0,0 +1,54 @@
1
+ import { AST_PRIMITIVES, OPERATION_SCOPE } from '../constants';
2
+ import { isANumericColumnParam, replaceDotByUnderscore } from '../utils';
3
+ /**
4
+ * `AGG_SUM` Returns the total aggregate sum of all the values of a column considering all available data.
5
+ */
6
+ export const AGG_SUM = {
7
+ identifier: 'AGG_SUM',
8
+ operationScope: OPERATION_SCOPE.AGGREGATE,
9
+ functionScope: [OPERATION_SCOPE.AGGREGATE],
10
+ parameters: [
11
+ {
12
+ identifier: 'VALUE',
13
+ optional: false,
14
+ expectedPrimitive: AST_PRIMITIVES.NUMBER,
15
+ validator: [isANumericColumnParam],
16
+ },
17
+ ],
18
+ transpiler: {
19
+ elasticsearch,
20
+ snowflake,
21
+ redshift,
22
+ postgresql,
23
+ databricks,
24
+ mysql,
25
+ mssql,
26
+ },
27
+ primitiveResult: AST_PRIMITIVES.NUMBER,
28
+ };
29
+ function elasticsearch(value) {
30
+ const sanitized = replaceDotByUnderscore(value);
31
+ return `params.get("TOTAL_SUM_${sanitized}")`;
32
+ }
33
+ function SQL(value) {
34
+ return `(SELECT SUM(${value}) FROM :formulaTable :formulaWhere)`;
35
+ }
36
+ function snowflake(value) {
37
+ return SQL(value);
38
+ }
39
+ function redshift(value) {
40
+ return SQL(value);
41
+ }
42
+ function postgresql(value) {
43
+ return SQL(value);
44
+ }
45
+ function databricks(value) {
46
+ return SQL(value);
47
+ }
48
+ function mysql(value) {
49
+ return SQL(value);
50
+ }
51
+ function mssql(value) {
52
+ return SQL(value);
53
+ }
54
+ //# sourceMappingURL=totalSum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"totalSum.js","sourceRoot":"","sources":["../../../src/functions/totalSum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEzE;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAuB;IACvC,UAAU,EAAE,SAAS;IACrB,cAAc,EAAE,eAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,qBAAqB,CAAC;SACrC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAChD,OAAO,yBAAyB,SAAS,IAAI,CAAC;AAClD,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,eAAe,KAAK,qCAAqC,CAAC;AACrE,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
@@ -1,6 +1,18 @@
1
1
  import { replaceDotByUnderscore } from '.';
2
2
  import { AST_TYPES, ENGINES } from '../constants';
3
3
  import { isAggregateFunction } from './isAggregate';
4
+ const AGGREGATE_DEFINITIONS = {
5
+ SUM: { engineName: 'SUM', scope: 'AGGREGATE' },
6
+ AVG: { engineName: 'AVG', scope: 'AGGREGATE' },
7
+ MED: { engineName: 'MEDIAN', scope: 'AGGREGATE' },
8
+ MINVAL: { engineName: 'MIN', scope: 'AGGREGATE' },
9
+ MAXVAL: { engineName: 'MAX', scope: 'AGGREGATE' },
10
+ COUNT: { engineName: 'COUNT', scope: 'AGGREGATE' },
11
+ DISTCOUNT: { engineName: 'DISTINCTCOUNT', scope: 'AGGREGATE' },
12
+ AGG_COUNT: { engineName: 'COUNT', scope: 'TOTAL' },
13
+ AGG_MAXVAL: { engineName: 'MAX', scope: 'TOTAL' },
14
+ AGG_SUM: { engineName: 'SUM', scope: 'TOTAL' },
15
+ };
4
16
  export function aggregateFunction(engine, aggregatedMap, node) {
5
17
  switch (engine) {
6
18
  case ENGINES.ELASTICSEARCH:
@@ -21,6 +33,7 @@ function aggregateFunctionsES(currentMap, node) {
21
33
  const columnId = ((_a = arg.context) === null || _a === void 0 ? void 0 : _a.id) || '';
22
34
  const alias = replaceDotByUnderscore(((_b = arg.context) === null || _b === void 0 ? void 0 : _b.replacement) || '');
23
35
  const aggregate = getAggregateName(node.name);
36
+ const scope = getScope(node.name);
24
37
  const key = `${aggregate}_${alias}`;
25
38
  // if (params.property) key += `::${params.property}`; //TODO where is this information?
26
39
  if (currentMap.has(key))
@@ -29,19 +42,16 @@ function aggregateFunctionsES(currentMap, node) {
29
42
  key,
30
43
  columnId,
31
44
  aggregate,
45
+ scope,
32
46
  });
33
47
  return currentMap;
34
48
  }
35
49
  function getAggregateName(name) {
36
- const definition = {
37
- SUM: 'SUM',
38
- AVG: 'AVG',
39
- MED: 'MEDIAN',
40
- MINVAL: 'MIN',
41
- MAXVAL: 'MAX',
42
- COUNT: 'COUNT',
43
- DISTCOUNT: 'DISTINCTCOUNT',
44
- };
45
- return definition[name] || '';
50
+ var _a;
51
+ return ((_a = AGGREGATE_DEFINITIONS[name]) === null || _a === void 0 ? void 0 : _a.engineName) || '';
52
+ }
53
+ function getScope(name) {
54
+ var _a;
55
+ return ((_a = AGGREGATE_DEFINITIONS[name]) === null || _a === void 0 ? void 0 : _a.scope) || 'AGGREGATE';
46
56
  }
47
57
  //# sourceMappingURL=aggregatedFunctions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aggregatedFunctions.js","sourceRoot":"","sources":["../../../src/utils/aggregatedFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,GAAG,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAMlD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAWpD,MAAM,UAAU,iBAAiB,CAC7B,MAAe,EACf,aAA2B,EAC3B,IAAqB;IAErB,QAAQ,MAAM,EAAE;QACZ,KAAK,OAAO,CAAC,aAAa;YACtB,OAAO,oBAAoB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACrD;YACI,OAAO,KAAK,CAAC;KACpB;AACL,CAAC;AAED,SAAS,oBAAoB,CACzB,UAAwB,EACxB,IAAqB;;IAErB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAgB,CAAC;IAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAEhD,MAAM,QAAQ,GAAG,CAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,EAAE,KAAI,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,sBAAsB,CAAC,CAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,WAAW,KAAI,EAAE,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAsB,CAAC,CAAC;IAEhE,MAAM,GAAG,GAAG,GAAG,SAAS,IAAI,KAAK,EAAE,CAAC;IACpC,wFAAwF;IAExF,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IAE3C,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE;QAChB,GAAG;QACH,QAAQ;QACR,SAAS;KACZ,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAoB;IAC1C,MAAM,UAAU,GAAG;QACf,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,QAAQ;QACb,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,eAAe;KAC7B,CAAC;IACF,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"aggregatedFunctions.js","sourceRoot":"","sources":["../../../src/utils/aggregatedFunctions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qrvey/formula-lang",
3
- "version": "3.1.0-rc.785",
3
+ "version": "3.1.0-rc.795",
4
4
  "description": "QFormula support for qrvey projects",
5
5
  "types": "dist/module/index.d.ts",
6
6
  "main": "dist/module/index.js",