1.1.7 • Published 3 years ago
@antv/dw-transform v1.1.7
Transform
Install
npm
npm install @antv/dw-transform
yarn
yarn add @antv/dw-transform
Schema
{
"groupBy": [...],
"actions": [
{
"type": ...,
"field": ...,
"as": ...,
"options": {
...,
}
}
]
}
Usage
autoTransform
The autoTransform
function generates transform schemas to aggregate data fields in a default way.
const data = [
{ gender: 'Male', height: 180 },
{ gender: 'Female', height: 165 },
{ gender: 'Male', height: 170 },
];
const { result, schemas } = autoTransform(data);
console.log(schemas);
// [
// {
// groupBy: ['gender'],
// actions: [
// {
// type: 'sum',
// field: 'height',
// as: 'SUM(height)',
// },
// ],
// },
// ]
console.log(result);
// [
// { gender: 'Male', 'SUM(height)': 350 },
// { gender: 'Female', 'SUM(height)': 165 },
// ]
renameOption
The renameOption
parameter of the autoTransform
function defines how the created aggregation field would be named.
Say, field title is field1
and aggregation type is sum
:
renameOption | as |
---|---|
'brackets' (default) true | 'SUM(field1)' |
'underline' | 'SUM_field1' |
'origin' false | 'field1' |
function f(a,b) | f('field1', 'sum') |
const data = [
{ gender: 'Male', height: 180 },
{ gender: 'Female', height: 165 },
{ gender: 'Male', height: 170 },
];
const { result, schemas } = autoTransform(data, false);
console.log(schemas);
// [
// {
// groupBy: ['gender'],
// actions: [
// {
// type: 'sum',
// field: 'height',
// as: 'height', // as origin
// },
// ],
// },
// ]
console.log(result);
// [
// { gender: 'Male', 'height': 350 }, // as origin
// { gender: 'Female', 'height': 165 }, // as origin
// ]
parse
If you already have a dataset and a transform schema for it, you can use the function parse
to get the result.
const data = [
{ id: '1', height: 10.5, weight: 60 },
{ id: '2', height: null, weight: 40 },
{ id: '3', height: 9.5, weight: null },
{ id: '', height: 9.5, weight: 80 },
{ id: '5', height: 9.5 },
];
const schema = {
actions: [
{
type: 'removeNull',
field: 'id',
as: null,
},
],
}
const result = parse(data, schema);
// [
// { id: '1', height: 10.5, weight: 60 },
// { id: '2', height: null, weight: 40 },
// { id: '3', height: 9.5, weight: null },
// { id: '5', height: 9.5 },
// ]
1.1.7
3 years ago
1.1.5
3 years ago
1.1.4
3 years ago
1.1.4-alpha.1
3 years ago
1.1.4-alhpa.2
3 years ago
1.1.4-alpha.0
3 years ago
1.1.3
3 years ago
1.1.0
3 years ago
1.0.0
3 years ago
0.1.3-beta.7
4 years ago
0.1.3-beta.5
4 years ago
0.1.3-beta.4
4 years ago
0.1.3-beta.2
4 years ago
0.1.3-beta.3
4 years ago
0.1.3-alpha.31
4 years ago
0.1.3-alpha.30
4 years ago
0.1.3-alpha.29
4 years ago
0.1.3-alpha.28
4 years ago