Comando CROSSTAB

Informações do conceito

Dados de tabulação cruzada

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.

  • ON campo_linha <...n> use o campo ou os campos especificados

    Se houver mais de um campo, eles devem ser separados por espaços e podem ser de tipos de dados diferentes.

    Se você usar mais de um campo, os campos são incluídos na ordem em que são listados.

  • ON ALL use todos os campos da tabela

    Se você usar todos os campos, os campos serão incluídos na ordem em que aparecem no layout da tabela.

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:

  • A TELA exibe os resultados na área de exibição do Analytics

    Dica

    Você pode clicar em qualquer valor de resultado vinculado na área de exibição para detalhar até o registro ou os registros associados na tabela de origem.

  • nome_tabela salva os resultados em uma tabela do Analytics

    Especifique nome_tabela como uma cadeia entre aspas com uma extensão de arquivo .FIL. For exemplo: TO "Saída.FIL"

    Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o projeto do Analytics.

    Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em uma pasta diferente já existente:

    • TO "C:\Saída.FIL"
    • TO "Resultados\Saída.FIL"

    Nota

    Os nomes de tabela são limitados a 64 caracteres alfanuméricos, sem contar a extensão .FIL. O nome pode incluir o caractere de sublinhado ( _ ) mas nenhum outro caractere especial e nenhum espaço. O nome não pode começar com um número.

  • nome_arquivo salva os resultados em um arquivo

    Especifique nome_arquivo como uma cadeia entre aspas com uma extensão de arquivo apropriada. Por exemplo: TO "Saída.TXT"

    Por padrão, o arquivo é salvo na pasta que contém o projeto do Analytics.

    Use um caminho de arquivo absoluto ou relativo para salvar o arquivo em uma pasta diferente já existente:

    • TO "C:\Saída.TXT"
    • TO "Resultados\Saída.TXT"
  • GRAPH exibe os resultados em um gráfico na área de exibição do Analytics
  • PRINT envia os resultados para a impressora padrão
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:

  • FIRST iniciar o processamento a partir do primeiro registro até alcançar o número de registros especificado
  • NEXT iniciar o processamento a partir do registro selecionado no momento até alcançar o número de registros especificado

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:

  • os mesmos campos
  • a mesma ordem de campos
  • os campos correspondentes têm o mesmo comprimento
  • os campos correspondentes têm o mesmo tipo de dados

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.