Comando DUPLICATES

Informações do conceito

Verificar duplicidades

Detecta quando valores duplicados ou registros inteiros duplicados existem em uma tabela do Analytics.

Sintaxe

DUPLICATES <ON> {campo_chave <D> <...n>|<ON> ALL <EXCLUDE nome_campo <...n>>} <OTHER campo <...n>|OTHER ALL <EXCLUDE nome_campo <...n>>> <UNFORMATTED> <ADDGROUP> <PRESORT> <IF teste> <WHILE teste> <FIRST intervalo|NEXT intervalo> <APPEND> <OPEN> <TO {SCREEN|nome_tabela|nome_arquivo|PRINT}> <LOCAL> <HEADER texto_cabeçalho> <FOOTER texto_rodapé> <ISOLOCALE código_localidade>

Parâmetros

Nome Descrição
ON campo_chave D <...n> | ON ALL

O campo ou campos-chave, ou a expressão, onde será verificada a existência de duplicidades.

  • ON campo_chave use o campo ou os campos especificados

    Se você testar em mais de um campo, os registros identificados como duplicidades exigem valores idênticos em todos os campos especificados.

    Os campos são incluídos nos resultados de saída na ordem em que são listados.

    Inclua D para ordenar um campo-chave em ordem decrescente. O critério de ordenação-padrão é crescente.

  • ON ALL use todos os campos na tabela

    Se você testar em todos os campos de uma tabela, os registros identificados como duplicidades devem ser inteiramente idênticos.

    Os campos são incluídos nos resultados de na ordem em que aparecem no layout da tabela.

    Um critério de ordenação crescente é a única opção para ON ALL.

    Nota

    As partes indefinidas dos registros não são testadas.

EXCLUDE nome_campo

opcional

Válido apenas ao testar duplicidades usando 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
OTHER campo <...n> | OTHER ALL

opcional

Um ou mais campos adicionais a serem incluídos na saída.

  • OTHER campo <...n> inclua o campo ou os campos especificados
  • OTHER ALL inclua todos os campos da tabela que não são especificados como campos-chave
EXCLUDE nome_campo

opcional

Válido apenas ao usar OTHER ALL.

O campo ou os campos a serem excluídos do comando. O EXCLUDE permite ajustar o OTHER ALL excluindo os campos especificados.

O EXCLUDE deve estar logo após do OTHER ALL. Por exemplo:

OTHER ALL EXCLUDE campo_1 campo_2

UNFORMATTED

opcional

Suprime os cabeçalhos e as quebras de página quando os resultados são enviados a um arquivo.

ADDGROUP

opcional

Inclua o campo Número do grupo (GROUP_NUM) na tabela de saída.

O campo Número do grupo atribui um número incrementado sequencialmente a cada grupo único de duplicidades.

Dica

A capacidade de fazer referência a grupos de duplicidades por número pode ser útil quando você analisa dados na tabela de saída.

PRESORT

opcional

Ordena a tabela pelo campo-chave antes de executar o comando.

Nota

Você não pode usar PRESORT dentro do comando GROUP.

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.

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.

TO SCREEN | nome_tabela | nome_arquivo | PRINT

opcional

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"
  • 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.

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.

ISOLOCALE código_local

opcional

Nota

Aplicável apenas à edição Unicode do Analytics.

A localidade do sistema no formato idioma_país. Por exemplo, para usar francês canadense, insira fr_ca.

Use os códigos a seguir:

  • idioma código de idioma padrão ISO 639
  • país código de país padrão ISO 3166

    Se você não especificar um código de país, será usado o país padrão do idioma.

Se você não usar ISOLOCALE, a localidade do sistema padrão será usada.

Variáveis de saída do Analytics

Nome Contém
GAPDUPn

O número total de grupos de falhas, duplicidades ou duplicidades parciais identificados pelo comando.

Exemplos

Testar se há valores duplicados em um campo

O exemplo a seguir:

  • testa se há valores duplicados no campo Número_Fatura
  • exibe qualquer registro que contenha números de faturas duplicados em uma nova tabela do Analytics
DUPLICATES ON Número_Fatura OTHER Número_Fornecedor Data_Fatura Valor_Fatura PRESORT TO "Duplicate_Invoices.FIL"

Testar se há valores duplicados em dois ou mais campos em combinação

O exemplo a seguir:

  • testa se há combinações de valores duplicadas nos campos Número_Fatura e Número_Fornecedor
  • exibe qualquer registro que contenha o mesmo número de fatura e o mesmo número de fornecedor em uma nova tabela do Analytics

A diferença entre esse teste e o teste anterior é que um número de fatura idêntico de dois fornecedores diferentes não é reportado como um falso positivo.

DUPLICATES ON Número_Fatura Número_Fornecedor OTHER Data_Fatura Valor_Fatura PRESORT TO "Duplicate_Invoices.FIL"

Testar se há registros duplicados

Os exemplos a seguir:

  • testam se há valores duplicados em todos os campos de uma tabela Inventário
  • gravam todos os registros inteiramente idênticos em uma nova tabela do Analytics
DUPLICATES ON NumProd ClassProd Local DescProd StatusProd CustoUnidade DataCusto PreçoVenda DataPreço PRESORT TO "Itens_inventário_duplicados.FIL"

Você pode simplificar a sintaxe usando ALL:

DUPLICATES ON ALL PRESORT TO "Itens_inventário_duplicados.FIL"

Filtrar a tabela de saída de duplicidades por número de grupo

Você usa vários campos-chave combinados para testar a existência de registros duplicados em uma tabela de contas a pagar:

  • número do fornecedor
  • número da fatura
  • data da fatura
  • valor da fatura

Você quer filtrar a tabela de saída de duplicidades resultante para que apenas alguns dos grupos de duplicidades passem por processamento adicional.

Criar um filtro usando a combinação de campos-chave seria trabalhoso. Por exemplo:

SET FILTER TO ((Num_Fornecedor = "11475") AND (Num_Fatura = "8752512") AND (Data_Fatura = `20191021`) AND (Valor_Fatura = 7125,80)) OR ((Num_Fornecedor = "12130") AND (Num_Fatura = "589134") AND (Data_Fatura = `20191117`) AND (Valor_Fatura = 10531,71)) OR ((Num_Fornecedor = "13440") AND (Num_Fatura = "5518912") AND (Data_Fatura = `20191015`) AND (Valor_Fatura = 11068,20))

Em vez disso, você pode obter o mesmo resultado criando um filtro baseado no número do grupo:

SET FILTER TO MATCH(GROUP_NUM; 3 ;8; 11)

Observações

Para obter mais informações sobre o funcionamento desse comando, consulte Verificar duplicidades.

Ordenar e duplicidades

Normalmente, você somente deve executar o comando de duplicidades usando um ou mais campos-chave ordenados. Os valores duplicados em um campo-chave só serão encontrados se estiverem imediatamente adjacentes.

Se você executar o comando de duplicidades em um campo-chave não ordenado, os valores duplicados não adjacentes não serão relatados como duplicidades. Se existirem dois ou mais clusters do mesmo valor duplicado, eles são relatados como duplicidades, mas em grupos separados.

Dependendo do objetivo da análise, pode fazer sentido executar um comando de duplicidades usando um campo-chave não ordenado. Por exemplo, pode ser necessário encontrar apenas os valores duplicados imediatamente adjacentes na tabela de origem, e ignorar os valores duplicados não adjacentes.