Comando FUZZYJOIN
Usa correspondências parciais para combinar campos de duas tabelas do Analytics em uma única tabela nova do Analytics.
Nota
Para detectar valores quase idênticos (duplicidades parciais) em um único campo de caracteres, consulte Comando FUZZYDUP.
Para ver as diversas opções de associação de tabelas usando valores de campos-chave com correspondência exata, consulte Comando JOIN.
Sintaxe
FUZZYJOIN {DICE PERCENT porcentagem NGRAM comprimento_ngrama|LEVDISTANCE DISTANCE valor} PKEY campo_chave_primária SKEY campo_chave_secundária {FIELDS campos_primários|FIELDS ALL} <WITH campos_secundários|WITH ALL> <IF teste> <OPEN> <FIRSTMATCH> TO nome_tabela <WHILE teste> <FIRST intervalo|NEXT intervalo> <APPEND>
Nota
Não é possível executar o comando FUZZYJOIN localmente em uma tabela de servidor.
Você deve especificar o nome do comando FUZZYJOIN com todas as letras. Esse comando não deve ser abreviado.
Parâmetros
| Nome | Descrição |
|---|---|
| DICE PERCENT porcentagem NGRAM comprimento_ngrama | LEVDISTANCE DISTANCE valor |
O algoritmo de correspondência parcial a ser usado. DICE usar o algoritmo do coeficiente de Dice
LEVDISTANCE usar o algoritmo de distância de Levenshtein
|
| PKEY campo_chave_primário |
O campo-chave de caracteres ou uma expressão na tabela primária. Você pode especificar apenas um campo-chave primário. |
| SKEY campo_chave_secundário |
O campo-chave de caracteres ou uma expressão na tabela secundária. Você pode especificar apenas um campo-chave secundário. |
| FIELDS campos_primários | FIELDS ALL |
Os campos ou expressões da tabela primária a serem incluídos na tabela de saída associada.
Nota Você deve especificar de forma explícita o campo-chave primário se desejar incluí-lo na tabela associada. A especificação de ALL também inclui esse campo. |
|
WITH campos_secundários | WITH ALL opcional |
Os campos ou expressões da tabela secundária a serem incluídos na tabela de saída associada.
Nota Você deve especificar de forma explícita o campo-chave secundário se desejar incluí-lo na tabela associada. A especificação de ALL também inclui esse campo. |
|
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). Nota A condição IF pode referenciar a tabela primária, a tabela secundária ou as duas tabelas. |
|
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. |
|
FIRSTMATCH opcional |
Especifica que cada valor de chave primária é associado unicamente à primeira ocorrência de qualquer chave secundária correspondente. Se a primeira ocorrência for uma correspondência exata, nenhum das correspondências parciais subsequentes para o valor de chave primária será incluída na tabela de saída associada. Se você omitir FIRSTMATCH, o comportamento padrão de FUZZYJOIN será associar cada valor de chave primária a todas as ocorrências de todas as chaves secundárias correspondentes. FIRSTMATCH é útil se você quiser apenas saber se existem correspondências, exatas ou parciais, entre as duas tabelas e desejar reduzir o tempo de processamento necessário para identificar todas as correspondências. Você também pode usar FIRSTMATCH se tiver certeza de que existe no máximo apenas uma correspondência na tabela secundária para cada valor de chave primária. Nota FIRSTMATCH está disponível apenas como um parâmetro do ACLScript. Essa opção não está disponível na interface do usuário do Analytics. |
| TO nome_tabela |
A localização para onde enviar os resultados do comando:
|
|
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. |
|
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:
Se você não usar ISOLOCALE, a localidade do sistema padrão será usada. |
Exemplos
Use a correspondência parcial para associar duas tabelas como forma de descobrir empregados que também podem ser fornecedores
O exemplo a seguir associa as tabelas MestreFunc e Fornecedor usando o endereço como campo-chave comum (os campos Endereço e Rua_Fornecedor).
O comando FUZZYJOIN cria uma nova tabela que contém registros primários e secundários com correspondência exata ou registros primários e secundários com correspondência parcial. O resultado é uma lista de funcionários e fornecedores com endereços idênticos ou com endereços similares.
FUZZYJOIN com o algoritmo do coeficiente de Dice
OPEN MestreFunc PRIMARY OPEN Fornecedor SECONDARY FUZZYJOIN DICE PERCENT 0,8000 NGRAM 2 PKEY Endereço SKEY Rua_Fornecedor FIELDS Número_Funcionário Nome Sobrenome Endereço WITH Número_Fornecedor Nome_Fornecedor Rua_Fornecedor OPEN TO "Funcionários_Fornecedores_Correspondentes"
FUZZYJOIN com o algoritmo de distância de Levenshtein
OPEN MestreFunc PRIMARY OPEN Fornecedor SECONDARY FUZZYJOIN LEVDISTANCE DISTANCE 5 PKEY Endereço SKEY Rua_Fornecedor FIELDS Número_Funcionário Nome Sobrenome Endereço WITH Número_Fornecedor Nome_Fornecedor Rua_Fornecedor OPEN TO "Funcionários_Fornecedores_Correspondentes"
Incluir todos os campos
Esta versão do comando FUZZYJOIN inclui todos os campos das tabelas primária e secundária na tabela de saída associada.
OPEN MestreFunc PRIMARY OPEN Fornecedor SECONDARY FUZZYJOIN LEVDISTANCE DISTANCE 5 PKEY Endereço SKEY Rua_Fornecedor FIELDS ALL WITH ALL OPEN TO "Funcionários_Fornecedores_Correspondentes"
Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do Analytics.
Diferenciação de maiúsculas e minúsculas
O comando FUZZYJOIN não diferencia maiúsculas de minúsculas, independentemente do algoritmo de correspondência parcial utilizado. Portanto, "SMITH" é equivalente a "smith."
Brancos à direita e à esquerda
O comando FUZZYJOIN remove automaticamente brancos à esquerda e à direita em campos, independentemente do algoritmo de correspondência parcial utilizado. Não é necessário usar as funções TRIM( ) ou ALLTRIM( ) na especificação de campos-chave primários e secundários.