Comando CROSSTAB
Informações do conceito
Agrupa registros com base em combinações idênticas de valores em dois ou mais campos de caracteres ou numéricos e exibe os grupos resultantes em uma grade de linhas e colunas. Conta os registros em cada grupo e subtotaliza os campos numéricos especificados em cada grupo.
Sintaxe
CROSSTAB {ON campo_linha <...n>|ON ALL <EXCLUDE nome_campo <...n>>} COLUMNS campo_coluna <SUBTOTAL campo_numérico <...n>|SUBTOTAL ALL <EXCLUDE campo_numérico <...n>>> TO {SCREEN|nome_tabela|nome_arquivo|GRAPH|PRINT} <LOCAL> <IF teste> <WHILE teste> <FIRST intervalo|NEXT intervalo> <APPEND> <COUNT> <OPEN> <HEADER texto_cabeçalho> <FOOTER texto_rodapé>
Parâmetros
| Nome | Descrição |
|---|---|
| ON campo_linha <...n> | ON ALL |
Um ou mais campos ou expressões numéricas ou de caracteres como linhas na matriz resultante de linhas e colunas.
|
| EXCLUDE nome_campo opcional |
Válido apenas ao usar ON ALL. O campo ou os campos a serem excluídos do comando. O EXCLUDE permite ajustar o ON ALL excluindo os campos especificados. O EXCLUDE deve estar logo após do ON ALL. Por exemplo: ON ALL EXCLUDE campo_1 campo_2 |
| COLUMNS campo_coluna |
O caractere, campo numérico ou expressão a ser usado para colunas na matriz resultante de linhas e colunas. Apenas uma expressão ou campo pode ser especificado para as colunas. |
| SUBTOTAL campo_numérico <...n> | SUBTOTAL ALL opcional |
Um ou mais campos numéricos ou expressões a serem subtotalizadas para cada grupo. Vários campos devem ser separados por espaço. Especifique ALL para subtotalizar todos os campos numéricos da tabela. |
| EXCLUDE campo_numérico opcional |
Válido apenas ao usar SUBTOTAL ALL. O campo ou os campos a serem excluídos do comando. O EXCLUDE permite ajustar o SUBTOTAL ALL excluindo os campos especificados. O EXCLUDE deve estar logo após do SUBTOTAL ALL. Por exemplo: SUBTOTAL ALL EXCLUDE campo_1 campo_2 |
| TO SCREEN nome_tabela | nome_arquivo | GRAPH | PRINT |
A localização para onde enviar os resultados do comando:
|
| LOCAL opcional |
Salva o arquivo de saída no mesmo local que o projeto do Analytics. Nota Aplicável apenas na execução de um comando em uma tabela de servidor com um campo de saída que é uma tabela do Analytics. O parâmetro LOCAL deve seguir imediatamente o parâmetro TO. |
| IF teste opcional |
Uma expressão condicional que deve ser verdadeira para processar cada registro. O comando é executado apenas nos registros que atendem à condição. Nota O parâmetro IF é avaliado apenas em relação aos registros restantes em uma tabela depois da aplicação dos parâmetros de escopo (WHILE, FIRST, NEXT). |
| WHILE teste opcional |
Uma expressão condicional que deve ser verdadeira para processar cada registro. O comando é executado até que a condição seja avaliada como falsa ou o fim da tabela seja alcançado. Nota Se você usar WHILE juntamente com FIRST ou NEXT, o processamento de registros será interrompido assim que um limite for alcançado. |
| FIRST intervalo | NEXT intervalo opcional |
O número de registros a ser processado:
Use intervalo para especificar o número de registros a serem processados. Se você omitir FIRST e NEXT, todos os registros serão processados por padrão. |
| APPEND opcional |
Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo. Nota Você deve garantir que a estrutura da saída do comando e o arquivo existente são idênticos:
O Analytics anexa a saída a um arquivo existente, seja qual for sua estrutura. Se a estrutura da saída e do arquivo existente não corresponderem, o resultado poderá ser dados misturados, ausentes ou incorretos. |
| COUNT opcional |
Inclui as contagens de registro como colunas. As contagens são úteis com o uso de SUBTOTAL. Se nenhum campo de subtotal for selecionado, as contagens serão incluídas automaticamente. |
| OPEN opcional |
Abre a tabela criada pelo comando após a execução do comando. Válido apenas se o comando criar uma tabela de saída. |
| HEADER texto_cabeçalho opcional |
O texto a ser inserido na parte superior de cada página de um relatório. texto_cabeçalho deve ser especificado como uma cadeia entre aspas. O valor substitui a variável de sistema HEADER do Analytics. |
| FOOTER texto_rodapé opcional |
O texto a ser inserido na parte inferior de cada página de um relatório. texto_rodapé deve ser especificado como uma cadeia entre aspas. O valor substitui a variável de sistema FOOTER do Analytics. |
Exemplos
Tabulação cruzada de uma tabela de contas a receber com SUBTOTAL
Você quer realizar uma tabulação cruzada de uma tabela de contas a receber com base nos campos Número do cliente e Tipo da transação. Você também quer calcular o subtotal do campo Valor da transação.
A saída é agrupada por cliente e, dentro de cada cliente, por tipo de transação. A saída inclui o valor total de transações para cada cliente para cada tipo de transação:
OPEN Ar
CROSSTAB ON Numero_Cliente COLUMNS Tipo_Trans SUBTOTAL Valor_Trans COUNT TO SCREEN
Tabulação cruzada de uma tabela de contas a receber para encontrar transações duplicadas
Você precisa encontrar evidência de transações duplicadas em uma tabela de contas a receber.
Para isso, você realiza uma tabulação cruzada de uma tabela de contas a receber com base nos campos Valor da transação e Tipo da transação. A saída agrupa e conta valores de transações idênticas para cada tipo de transação:
OPEN Ar
CROSSTAB ON Total_Transação COLUMNS Tipo_Trans TO SCREEN
Observações
Para obter mais informações sobre o funcionamento desse comando, consulte Dados de tabulação cruzada.
Como funciona?
O CROSSTAB agrupa registros que têm a mesma combinação de valores em dois ou mais campos de caracteres ou numéricos.
A saída contém uma grade de linhas e colunas, semelhante a uma tabela dinâmica. A saída inclui uma única intersecção linha/coluna para cada grupo, com uma contagem do número de registros na tabela de origem que pertencem ao grupo.
Ordenar e CROSSTAB
O CROSSTAB pode processar dados ordenados ou não ordenados. O campo_linha e o campo_coluna na saída são automaticamente ordenados em ordem crescente.
Se mais de um campo_linha for especificado, os campos utilizarão uma ordenação aninhada. A ordem do aninhamento segue a ordem dos campos especificada ou a ordem dos campos no layout da tabela se você usar ON ALL.