new DataSetTransformer()
Classe auxiliar utilizada para realizar transformações nos dados do DataSet.
Members
-
<static> PIVOT_NULL_VALUE_LABEL :string
-
Nome utilizado na coluna gerada pelo pivot para os registros que não possuem valor na coluna pivoteada.
Type:
- string
-
<static> PIVOT_TOTAL_LABEL :string
-
Nome utilizado na coluna total gerado pelo pivot, quando a opção totalizePivot é habilitada.
Type:
- string
Methods
-
aggregate(ds, groupColumns, aggregateColumns)
-
Agrega colunas de um dataSet e retorna o DataSet agregado, sem alterar o DataSet original.
Parameters:
Name Type Description ds
DataSet DataSet original que será usado para gerar o DataSet agregado.
groupColumns
Array Vetor com os nomes dos campo que serão usado para agregar os resultados da funções de agregação.
aggregateColumns
Object Objeto com as propriedades 'functions' e 'distinct' (optional).
A propriedade 'functions' é um objeto que deve possuir as propriedades 'sum', 'count', 'min', 'max' e 'avg'. Cada uma destas propriedades, por sua vez, deve ser um Array de nomes de campos que sofrerão agregação.
A propriedade 'distinct' deve possuir as propriedades 'columns' e 'ignoredColumns', que devem, por sua vez, serem Arrays de nomes de campos do dataset 'ds'. A propriedade 'distinct' é opcional. O Array 'columns' deve conter nomes de campos a serem agregados considerando apenas resultados distintos. O Array 'ignoredColumns' deve conter nomes de campos que serão ignorados durante a avaliação de distinção entre os registros.Returns:
DataSet agregado.
- Type
- DataSet
Example
var dst = new DataSetTransformer(); var ds = new DataSet(); ds.createField('NOME', 'string', 10); ds.createField('TAMANHO', 'number'); ds.create(); ds.append(); ds.nome = 'X'; ds.tamanho = 10; ds.post(); ds.append(); ds.nome = 'Y'; ds.tamanho = 20; ds.post(); ds.append(); ds.nome = 'Z'; ds.tamanho = 5; ds.post(); ds.append(); ds.nome = 'X'; ds.tamanho = 15; ds.post(); ds.append(); ds.nome = 'Y'; ds.tamanho = 15; ds.post(); ds.append(); ds.nome = 'Z'; ds.tamanho = 1; ds.post(); dst.aggregate(ds, ['NOME'], {functions: {avg: ['TAMANHO']}});
-
calculate(ds, exprs [, hiddenFields])
-
Cria uma coluna calculada no DataSet. O cálculo é realizado com base da expressão especificada em expr.
Parameters:
Name Type Argument Description ds
DataSet DataSet que contém os campos de parâmetros para o cálculo dos campos calculados.
exprs
Array Vetor com a expressão de cada campo calculado.
hiddenFields
Array <optional>
Array com a lista de campos que deve ser ocultados no DataSet de resultado.
Returns:
DataSet com os campos calculados.
- Type
- DataSet
-
pivot(ds, pivotFieldName, totalFieldsNames [, options])
-
Executa a operação de pivot no DataSet e retorna as informações da operação de pivot, dentre elas os dados pivoteados. Ex.: Dado o DataSet
ano estabelecimento mes valor qtde 2003 Estab 01 Fevereiro 10 5 2003 Estab 01 Janeiro 20 20 2003 Estab 02 Fevereiro 1 4 2003 Estab 03 Março 20 10 2003 Estab 01 Fevereiro 30 20 2003 Estab 01 Abril 30 20 2004 Estab 02 Janeiro 40 30 2004 Estab 03 Fevereiro 50 10 2004 Estab 01 Março 60 4 2004 Estab 02 Abril 70 20 2005 Estab 03 Janeiro 80 30 2005 Estab 03 Janeiro 20 20 2005 Estab 03 Janeiro 20 20
Ao executar:
var dst = new DataSetTransformer()
var pivotInfo = dst.pivot(ds, 'mes', ['valor', 'qtde'])
pivotInfo.pivotDS
será retornado:
ano estabelecimento valor_mes_Abril qtde_mes_Abril valor_mes_Fevereiro qtde_mes_Fevereiro valor_mes_Janeiro qtde_mes_Janeiro valor_mes_Março qtde_mes_Março valor_mes_total qtde_mes_total 2003 30 20 40 25 20 20 90 65 2003 1 4 1 4 2003 20 10 20 10 2004 60 4 60 4 2004 70 20 40 30 110 50 2004 50 10 50 10 2005 120 70 120 70
Parameters:
Name Type Argument Description ds
DataSet DataSet que será usando na operação de geração do DataSet pivoteado.
pivotFieldName
string Nome do campo pivot.
totalFieldsNames
string | Array Lista de nomes de campos totalizadores. A lista pode ser uma string com os nomes dos campos separados por ;(ponto-e-vírgula) ou um Array com os nomes
options
Object <optional>
Opções da operação de pivot.
Properties
Name Type Argument Description noGroupingColumns
Array.<string> <optional>
Vetor com os nomes da colunas que não devem ser incluídas na expressão de agrupamento de colunas da operação de pivot.
totalizePivot
boolean <optional>
Valor booleano que se for true, a operação de pivot irá criar um coluna adicional com o total pivoteado.
defaultNumeric
number <optional>
Informa o valor que será exibido em colunas pivoteadas numéricas que não tenham dados a serem agregados. Caso não seja informado, será considerado null.
defaultDate
number <optional>
Informa o valor que será exibido em colunas pivoteadas do tipo data que não tenham dados a serem agregados. Caso não seja informado, será considerado null.
defaultString
number <optional>
Informa o valor que será exibido em colunas pivoteadas textuais que não tenham dados a serem agregados. Caso não seja informado, será considerado null.
pivotFormatter
function Função opcional que formatará o valor da coluna pivoteada. A função receberá o valor da coluna pivot e deverá retornar uma string com o valor que deve ser exibido. Caso não seja informada, apenas as colunas pivot do tipo data por padrão serão formatadas no padrão DD/MM/YYYY.
Returns:
Objeto literal com as informações geradas pela operação de pivot.
- Type
- PivotResult