Visão Geral
O CrossTab é o componente estilo “Tabela Pivô” do Latromi, onde podemos agrupar valores na intersecção de eixos X (linhas) e Y (colunas).
Este recursos permite usar os campos de Colunas, Linhas e Valores para criar formatações condicionais ou cálculos personalizados de agregação.
Em alguns casos, pode ser necessário usar um campo oculto nas formações ou nos cálculos. Nestes casos, precisamos configurar estes campos como Colunas Auxiliares, que são valores perpendicularmente associados ao campo ao qual estão servindo.
Problema
Identificamos um caso onde uma Coluna Auxiliar é usada como condição em um cálculo de agregação personalizado, mas que está se comportando diferente quando o grupo ao qual faz parte possui apenas 1 item.
Simulação
Crie um Consulta com saída em CrossTab, seguindo as configurações baixo:
Comando SQL
Use o comando SQL abaixo (PostgreSQL):
SELECT
'Grupo com 2 Itens' AS agrupamento1
, 'Item 1' AS agrupamento2
, '11-Nov 2025' AS anomes
, 1 condicao
, null AS valor
UNION ALL
SELECT
'Grupo com 2 Itens' AS agrupamento1
, 'Item 2' AS agrupamento2
, '11-Nov 2025' AS anomes
, 1 condicao
, null AS valor
UNION ALL
SELECT
'Grupo com 1 Item' AS agrupamento1
, 'Item 1' AS agrupamento2
, '11-Nov 2025' AS anomes
, 1 condicao
, null AS valor
Configuração do CrossTab
Use essas Configurações par ao CrossTab:
Use a seguinte configuração para a disposição dos campos:
| Área | Colunas |
|---|---|
| Colunas | anomes |
| Linhas | agrupamento1, agrupamento2 |
| Dados | valor |
Configure a coluna condicao como campo auxiliar do campo de linha agrupamento2 (agrupamento nível 2)
Fórmula de Agregação Customizada
Por último, mude o “Modo de Agregação” do campo valor para “Customizado” e adicione a fórmula a seguir: if ([condicao]=1, 2, 1).
O Objetivo dessa fórmula é forçar um valor fixo para ser usado na área de dados (sobrescrevendo o valor original) com base no campo condicao: Quando for 1, mostra 2; senão, mostra 1.
Embora a coluna condicao retorne 1 para todas as linhas na QUERY, ela só está configurada como campo auxiliar no agrupamento2, portanto, quando o agrupamento1 estiver recolhido, o valor do campo auxiliar não estará disponível, o que deveria fazer com que a condição caísse no Else.
Resultado
Ao abrir o CrossTab no navegador, podemos perceber uma diferença no resultado do agrupamento com 1 item ou com mais itens:
Causa
Erro na plataforma
Solução
Pendente


