Funcionalidades
PIVOT TABLE - Operação de consulta com agrupamento de dados em colunas
ADS.CAD_TELA.FAQ-14533
A funcionalidade de PIVOT TABLE permite que se faça uma consulta de forma que diferentes valores encontrados em uma consulta se tornem colunas no resultado da consulta.
Um exemplo poderia, por exemplo, apresentar as entregas de pedidos programadas por cliente (linhas) nos próximos dias (colunas).
Itens KEY
Os itens marcados como "key" são utilizados como quebra vertical, ou seja, cada novo valor é apresentado em uma nova linha.
Itens COL
Os itens marcados como "col" são utilizados como quebra horizontal, ou seja, cada novo valor é apresentado em uma nova coluna.
Itens SUM, AVG, MAX, MIN
Os itens marcados com algum operador de agregação são apresentados nas células de intersecção que formam a matriz entre as chaves da linha e da coluna.
Itens HIDDEN
Os itens marcados com a usage "hidden" são utilizados como chave mas não são apresentados no resultado final.
Ordem de apresentação
Por padrão, os registros serão ordenados pelos valores dos itens do tipo "key" definidos. Caso se deseja definir uma ordenação diferente, é necessário programar uma regra em um evento de PRE-DISPLAY contendo uma chamado ao método setFeatureOrderBy(String) da feature de PIVOT:
getCurrentFeature().setFeatureOrderBy("COL1, COL2 desc, COL3");
IMPORTANTE: Apenas podem ser utilizados itens que participam da pivot como KEY ou HIDDEN. Se for utilizado um item diferente, ocorrerá um erro de execução.
Labels customizados
Para alterar dinamicamente um label, basta incluir uma regra que seja disparada no evento de pre-display.
Colunas com totais da linha
Por padrão, a funcionalidade de PIVOT inclui uma coluna com os totais da combinação de chaves (linha).
Para evitar que esta coluna seja criada, o respectivo item deve ter uma propriedade de formato:
display-column-summary:N;
Note que se existir uma máscara numérica, o formato do item terá de ser algo tipo:
mask:###,###,##0.00; display-column-summary:N;
Ver também: