olap for sql non-olap engines / and other tools
OLAP y otras herramientas para motores de base de datos SQL que no tienen OLAP
idioma:
también disponible en:

$ npm install sql-toolsTransformar una sentencia SQL en otra que obtenga también los totales agrupando por la variable especificada.
Usa una lista de definición de campos con los siguientes atributos:
| atributo | obligatorio | uso |
|---|---|---|
| name | sí | nombre del campo |
| place | sí | 'data' si el campo debe agregarse, 'left' o 'top' si debe pertenecer a la cláusula GROUP BY |
| aggLabel | p/pivote | el texto que debe ponerse en las filas de datos agregados |
| aggExp | no | la expresión de totalización cuando no es SUM(x) |
var olap = require('sql-tools').olap;
var varsDef=[
{name: "zone", place:"left", aggLabel:"=SUM="},
{name: "kind", place:"left"},
{name: "sales", place:"data"},
{name: "calif", place:"data", aggExp:"min(calif)"}
];
var sql_total=olap.cube("select * from sales", 'zone', varsDef);
console.log(sql_total);
/*
WITH "olap cube" AS (
select * from sales
) SELECT * FROM "olap cube"
UNION SELECT '=SUM=', kind, SUM(sales), min(calif)
FROM "olap cube"
GROUP BY kind
*/.............................