Comando JOIN

Combina campos de duas tabelas do Analytics em uma única tabela nova do Analytics.

Nota

Para usar correspondência parcial na associação de tabelas, consulte Comando FUZZYJOIN.

Sintaxe

JOIN {PKEY campos_chave_primários|PKEY ALL} {FIELDS campos_primários|FIELDS ALL} {SKEY campos_chave_secundários|SKEY ALL} <WITH campos_secundários|WITH ALL> {sem_palavra_chave|MANY|UNMATCHED|PRIMARY|SECONDARY|PRIMARY SECONDARY} <IF teste> TO nome_tabela <LOCAL> <OPEN> <WHILE teste> <FIRST intervalo|NEXT intervalo> <APPEND> <PRESORT> <SECSORT> <ISOLOCALE código_local>

Parâmetros

Nome Descrição
PKEY campos_chave_primários | PKEY ALL

Um ou mais campos-chave ou uma expressão na tabela primária.

  • campos_chave_primários use o campo ou os campos especificados
  • ALL usar todos os campos da tabela
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.

  • campos_primários inclua o campo ou os campos especificados
  • ALL inclua todos os campos da tabela

Nota

Você deve especificar de forma explícita o campo-chave ou os campos-chave primários se desejar inclui-los na tabela associada. A especificação de ALL também inclui esses campos.

SKEY campos_chave_secundários | SKEY ALL

Um ou mais campos-chave ou uma expressão na tabela secundária.

  • campos_chave_secundários use o campo ou os campos especificados
  • ALL usar todos os campos da tabela

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.

  • campos_secundários inclua o campo ou os campos especificados
  • ALL inclua todos os campos da tabela

Nota

Você deve especificar de forma explícita o campo-chave ou os campos-chave primários e secundários se desejar inclui-los na tabela associada. A especificação de ALL também inclui esses campos.

Não será possível especificar WITH se você estiver usando o tipo de associação UNMATCHED.

sem_palavra_chave | MANY | UNMATCHED | PRIMARY | SECONDARY | PRIMARY SECONDARY

O tipo de associação a executar.

sem_palavra_chave (omitir todas as palavras-chave de tipo de associação)

A tabela de saída associada contém: Opção correspondente na caixa de diálogo Associar
  • todos os registros primários correspondentes e o primeiro registro secundário correspondente

Primários e secundários correspondentes

(primeiro secundário correspondente)

MANY

A tabela de saída associada contém: Opção correspondente na caixa de diálogo Associar
  • todos os registros primários correspondentes e todos os registros secundários correspondentes
  • um registro para cada correspondência entre a tabela primária e a secundária

Primários e secundários correspondentes

(todos os secundários correspondentes)

UNMATCHED

A tabela de saída associada contém: Opção correspondente na caixa de diálogo Associar
  • registros primários não correspondentes

Primários não correspondentes

 

PRIMARY

A tabela de saída associada contém: Opção correspondente na caixa de diálogo Associar
  • todos os registros primários (correspondentes e não correspondentes) e o primeiro registro secundário correspondente

Todos os primários e os secundários correspondentes

Nota

A palavra-chave BOTH é o mesmo que especificar PRIMARY.

SECONDARY

A tabela de saída associada contém: Opção correspondente na caixa de diálogo Associar
  • todos os registros secundários (correspondentes e não correspondentes) e os registros primários correspondentes

    Somente a primeira ocorrência de quaisquer registros secundários duplicados é associada a um registro primário.

Todos os secundários e os primários correspondentes

PRIMARY SECONDARY

A tabela de saída associada contém: Opção correspondente na caixa de diálogo Associar
  • todos os registros primários e secundários (correspondentes e não correspondentes)

    Somente a primeira ocorrência de quaisquer registros secundários duplicados é associada a um registro primário.

Todos os primários e secundários

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

Para a maioria dos tipos de associação, uma condição IF se aplica somente à tabela primária.

A única exceção é uma associação de muitos para muitos, na qual a condição IF também pode fazer referência à tabela secundária.

TO nome_tabela

A localização para onde enviar os resultados do comando:

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

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.

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.

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.

PRESORT

opcional

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

Nota

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

Indexação em vez de ordenação

A tabela primária pode ser indexada em vez de ordenada. Com tabelas grandes, o uso da indexação em vez da ordenação pode reduzir o tempo necessário para associar as tabelas.

Se você estiver associando duas tabelas usando um campo-chave comum indexado, omita PRESORT e SECSORT.

SECSORT

opcional

Ordena a tabela secundária pelo campo da chave secundária antes executar o comando.

Nota

Não é possível usar SECSORT dentro do comando GROUP.

Indexação em vez de ordenação

A tabela secundária pode ser indexada em vez de ordenada. Com tabelas grandes, o uso da indexação em vez da ordenação pode reduzir o tempo necessário para associar as tabelas.

Se você estiver associando duas tabelas usando um campo-chave comum indexado, omita PRESORT e SECSORT.

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.

Exemplos

Associe 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 JOIN cria uma nova tabela com registros primários e secundários correspondidos, o que resulta em uma lista com todos os funcionários e fornecedores com o mesmo endereço.

OPEN MestreFunc PRIMARY
OPEN Fornecedor SECONDARY
JOIN PKEY Endereço FIELDS NumFunc Nome Sobrenome Endereço SKEY Rua_Fornecedor WITH Num_Fornecedor Nome_Fornecedor Rua_Fornecedor TO "Funcionários_Fornecedores_Correspondentes" OPEN PRESORT SECSORT

Esta versão do comando JOIN inclui todos os campos das tabelas primária e secundária na tabela de saída associada.

OPEN MestreFunc PRIMARY
OPEN Fornecedor SECONDARY
JOIN PKEY Endereço FIELDS ALL SKEY Rua_Fornecedor WITH ALL TO "Funcionários_Fornecedores_Correspondentes" OPEN PRESORT SECSORT

Associar duas tabelas como forma de descobrir registros de contas a receber sem cliente correspondente

O exemplo a seguir associa as tabelas Ar e Cliente usando o Número do cliente (Númclien) como o campo-chave comum.

O comando JOIN usa o tipo de associação UNMATCHED para criar uma nova tabela com registros primários não correspondentes, o que resulta em uma lista de registros de Ar que não são associados a qualquer registro de Cliente.

OPEN Ar PRIMARY
OPEN Cliente SECONDARY
JOIN PKEY Númclien FIELDS Númclien Vencimento Valor SKEY Númclien UNMATCHED TO "ClienteNãoEncontrado.fil" OPEN PRESORT SECSORT

Observações

Nota

Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do Analytics.

Guia de scripting do ACL 14.1