Como utilizar a propriedade aggregate do Field

Essa propriedade serve para agregar campos que tenham um campo correspondente no DataSet.

A documentação encontra-se em: Documentação da propriedade Aggregate

Ela permite o uso de funções de:

    • Soma

    • Média

    • Máximo

    • Mínimo

    • Quantidade

O exemplo abaixo irá mostrar como realizamos cada totalização nos campos, é simples:

this.interaction("main", function () {

this.ds = new DataSet();

this.ds.createField('soma','number');

this.ds.createField('media','number');

this.ds.createField('maximo','number');

this.ds.createField('minimo','number');

this.ds.createField('quantidade','number');

this.ds.create();

this.ds.append([1,1,1,1,1]);

this.ds.append([2,2,2,2,2]);

this.ds.append([3,3,3,3,3]);

this.ds.append([0,0,0,0,0]);

this.ds.append([0,0,0,0,0]);

this.ds.append([0,0,0,0,0]);

// 6,1,3,0,6

this.ds.post();

var gr = this.grid("Agregacao", this.ds);

gr.onDefineFields.set(function (grid) {

var fld = grid.field("soma", "number");

fld.label = "Soma";

fld.aggregate = new SumDataSetAggregate();

var fld = grid.field("media", "number");

fld.aggregate = new AvgDataSetAggregate();

fld.label = "Média";

var fld = grid.field("maximo", "number");

fld.label = "Máximo";

fld.aggregate = new MaxDataSetAggregate();

var fld = grid.field("minimo", "number");

fld.label = "Mínimo";

fld.aggregate = new MinDataSetAggregate();

var fld = grid.field("quantidade", "number");

fld.label = "Quantidade";

fld.aggregate = new CountDataSetAggregate();

});

gr.write();

});

Interaction principal.

Criação do DataSet.

Adição de registros no DataSet.

Definição da Grade.

Definição dos fields e agregações de cada um.

Escrita da Grade

Ao executarmos esse código, obteremos esse resultado: