olap for sql non-olap engines / and other tools
npm install sql-tools





language: !English
also available in:

``sh`
$ npm install sql-tools
Transfor a SQL sentence in a SQL with totals.
Uses a list of field definition with the form:
attribute | mandatory | use
----------|-----------|-------------------------------------
name | yes | name of the field in the database
place | yes | 'data' if must be added, 'left' or 'top' if it must apear in the GROUP BY clausule
aggLabel | for pivot | text to insert in the added rows
aggExp | no | the expression when is different to SUM(x)
`js
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
*/
``
[MIT
.............................