1.1.7 • Published 3 years ago

@antv/dw-transform v1.1.7

Weekly downloads
66
License
MIT
Repository
-
Last release
3 years ago

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:

renameOptionas
'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