@antv/dw-transform
## Install
Last updated 3 months ago by neoddish .
MIT · Original npm · Tarball · package.json
$ cnpm install @antv/dw-transform 
SYNC missed versions from official npm registry.

Transform

Install

npm

npm install @antv/dw-transform

yarn

yarn add @antv/dw-analyzer

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 },
// ]

Current Tags

  • 0.1.3-beta.7                                ...           latest (3 months ago)

9 Versions

  • 0.1.3-beta.7                                ...           3 months ago
  • 0.1.3-beta.5                                ...           3 months ago
  • 0.1.3-beta.4                                ...           4 months ago
  • 0.1.3-beta.3                                ...           4 months ago
  • 0.1.3-beta.2                                ...           4 months ago
  • 0.1.3-alpha.31                                ...           5 months ago
  • 0.1.3-alpha.30                                ...           5 months ago
  • 0.1.3-alpha.29                                ...           5 months ago
  • 0.1.3-alpha.28                                ...           5 months ago

Copyright 2014 - 2016 © taobao.org |