Comando APPEND
Combina registros de duas ou mais tabelas do Analytics anexando-os em uma nova tabela do Analytics.
Sintaxe
APPEND tabela_1; tabela_2; <...n> TO nome_tabela <COMMONFIELDS> <OPEN> <ASCHAR> <ALLCHAR> <SOURCETABLE>
Parâmetros
Nome | Descrição |
---|---|
tabela_1; tabela_2; <...n> |
As tabelas a serem anexadas. Os registros de cada tabela são anexados na ordem na qual você especifica as tabelas. A tabela de saída contém os registros da tabela_1, seguidos dos registros da tabela_2, e assim por diante. As tabelas de origem podem ter estruturas de registro diferentes ou idênticas e podem ser ordenadas ou não ordenadas. |
TO nome_tabela |
A localização para onde enviar os resultados do comando:
|
COMMONFIELDS opcional |
Somente os campos comuns a todas as tabelas sendo anexadas são incluídos na tabela de saída. Se você omitir COMMONFIELDS, todos os campos de todas as tabelas serão incluídos na tabela de saída. Valores em branco são exibidos na tabela de saída quando não existir nenhum campo nas tabelas de origem. Dica Para ver diagramas e capturas de tela ilustrando as duas opções, consulte Anexando tabelas. Nota O comando APPEND não é compatível com a anexação de campos calculados. Para obter mais informações, consulte Campos calculados não são compatíveis. O que torna os campos comuns?Para campos serem considerados comuns, eles precisam:
Nome idêntico, categoria de dados diferenteSe dois campos tiverem um nome idêntico, mas pertencerem a diferentes categorias de dados, uma mensagem de erro será exibida e o comando APPEND não será executado. A mensagem de erro contém todos os conflitos de categoria de dados no conjunto de tabelas especificado por APPEND. A mensagem é salva no log de comando. Nota Você pode evitar essa situação usando ASCHAR ou ALLCHAR para harmonizar categorias de dados. |
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. |
opcional |
Harmoniza campos com nomes idênticos, mas categorias de dados diferentes, convertendo campos não caractere para a categoria de dados de caractere. Por exemplo, você anexa duas tabelas em que o campo ID_Funcionário é definido como dados de caractere em uma tabela e dados numéricos na outra tabela. O campo numérico ID_Funcionário é convertido em dados de caractere e os dois campos são anexados sem causar erro. ASCHAR é ignorado se ALLCHAR também é especificado. |
opcional |
Converte todos os campos não caractere para a categoria de dados de caractere em todas as tabelas sendo anexadas. Essa conversão global para dados de caractere garante que todos os campos com nomes idênticos serão anexados sem causar erro. Nota Após a anexação, você pode alterar a categoria de dados de todo um campo anexado, caso necessário para os dados contidos no campo. |
SOURCETABLE opcional |
Inclua o campo Tabela de origem (Source_Table) na tabela de saída. Para cada registro na tabela de saída, o campo Tabela de origem identifica a tabela de origem do registro. Dica A inclusão dos nomes das tabelas de origem sendo anexadas pode fornecer informações úteis para a análise dos dados da tabela de saída. |
Exemplos
Anexar três tabelas de transações mensais
O exemplo a seguir anexa três tabelas de transações mensais e gera uma tabela de transações trimestrais que inclui todos os campos das três tabelas de origem:
APPEND Trans_Jan; Trans_Fev; Trans_Mar TO Trans_T1
Anexar três tabelas de funcionários e incluir apenas os campos comuns
O exemplo a seguir anexa três tabelas de divisão de funcionários e gera uma tabela mestre de funcionários que inclui apenas campos comuns às três tabelas de origem:
APPEND Funcionários_central; Funcionários_leste; Funcionários_oeste TO Funcionários_mestre COMMONFIELDS
Anexar três tabelas de funcionários e harmonizar os campos com categorias de dados diferentes
Os exemplos abaixo anexam três tabelas de funcionários de divisões diferentes em que alguns campos com o mesmo nome usam categorias de dados diferentes.
O primeiro exemplo converte campos não caractere para a categoria de dados de caractere apenas quando necessário para a harmonização:
APPEND Funcionários_central; Funcionários_leste; Funcionários_oeste TO Funcionários_mestre ASCHAR
O segundo exemplo converte campos não caractere para a categoria de dados de caractere, independentemente de a conversão ser necessária para a harmonização ou não:
APPEND Funcionários_central; Funcionários_leste; Funcionários_oeste TO Funcionários_mestre ALLCHAR
Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do Analytics.
Como funciona?
O comando APPEND combina registros de duas ou mais tabelas anexando-os e criando uma nova tabela. Anexar significa adicionar um grupo de registros na parte inferior de outro grupo de registros.
Campos da tabela de origem com nomes físicos idênticos e categorias de dados idênticas são diretamente anexados uns aos outros.
Campos com nomes físicos únicos em todas as tabelas de origem são adicionados à tabela de saída, mas não são diretamente anexados a nenhum outro campo.
Dica
Se quiser anexar diretamente campos com nomes inconsistentes, padronize os nomes físicos dos campos nos layouts das respectivas tabelas antes de anexar. (Supondo que os campos pertencem à mesma categoria de dados ou que você usa ASCHAR ou ALLCHAR para harmonizar a categoria de dados dos campos.)
Quando usar APPEND
Use APPEND quando quiser combinar dados de várias tabelas com uma estrutura idêntica ou similar. Por exemplo, APPEND é uma boa escolha para combinar tabelas mensais ou trimestrais em uma tabela anual.
Dica
Uma única execução do comando APPEND pode substituir várias execuções do comando EXTRACT com a opção APPEND.
Não é um substituto para JOIN ou DEFINE RELATION
APPEND geralmente não é substituto do comando JOIN ou DEFINE RELATION, pois não permite que você inclua ou exclua registros com base em valores correspondentes ou não correspondentes em um campo-chave comum. Com APPEND, todos os registros de cada tabela de origem são incluídos na tabela de saída.
Anexação de tabelas totalmente diferentes
Você pode anexar tabelas totalmente diferentes, isso é, duas ou mais tabelas que não tenham nenhum campo em comum. Embora não seja o uso principal pretendido para o comando APPEND, pode haver situações em que anexar tabelas diferentes serve para uma finalidade analítica.
Anexação de campos de datahora
Para dois ou mais campos de datahora serem anexados, as seguintes condições devem ser atendidas:
- nomes físicos idênticos
- categoria de dados idêntica (datahora)
- subtipos de dados idênticos (data, datahora ou hora)
- uso idêntico do indicador de fuso horário, usado ou não usado, por todos os campos a serem anexados
Se dois campos de datahora tiverem nome idêntico, mas não atenderem a uma das outras condições, uma mensagem de erro é exibida e o comando APPEND não é executado.
A mensagem de erro contém todas as condições de falha no conjunto de tabelas especificado por APPEND. A mensagem é salva no log de comando.
Nota
Você pode harmonizar campos datahora diferentes convertendo-os para a categoria de dados de caractere para depois anexá-los. Essa abordagem permite combinar os dados em uma única tabela. No entanto, dependendo da natureza dos dados de origem, pode não ser possível converter os dados combinados em dados datahora.
Harmonização automática
Em algumas situações, o comando APPEND harmoniza automaticamente os campos para anexá-los:
Categorias de dados de campos | Harmonização executada |
---|---|
Caractere |
|
Numérico |
|
Datahora |
|
Quando a harmonização automática não é realizada
O Analytics não harmoniza automaticamente os campos nas seguintes situações. Uma mensagem de erro é exibida e a operação anexar não é executada.
- Dois campos com um nome idêntico pertencem a diferentes categorias de dados.
- Dois campos datahora com um nome idêntico pertencem a diferentes subtipos de datahora (data, datahora ou hora).
- Dois campos datahora com um nome idêntico são inconsistentes na maneira que usam o indicador de fuso horário.
Campos calculados não são compatíveis
O comando APPEND não é compatível com a anexação de campos calculados. Ao anexar tabelas, todos os campos calculados nas tabelas são automaticamente excluídos da tabela de saída.
Se um campo calculado em uma tabela de origem tiver o mesmo nome que um campo físico em outra tabela de origem, uma mensagem de erro será exibida e o comando APPEND não será executado.
Dica
Você pode anexar um campo calculado primeiro extraindo-o para converter o campo em um campo físico. (Para obter mais informações, consulte Comando EXTRACT.) Use, então, a tabela extraída na operação de anexação.
Outra abordagem é recriar o campo calculado na tabela de saída anexada.
Campos de nota de registro não são compatíveis
O comando APPEND não é compatível com a anexação de campos de notas de registros. Ao anexar tabelas, todos os campos de nota de registro nas tabelas de origem são automaticamente excluídos da tabela de saída.
Se um campo de nota de registro em uma tabela de origem tiver o mesmo nome que um campo físico em outra tabela de origem, uma mensagem de erro será exibida e o comando APPEND não será executado.
Um campo de nota de registro é automaticamente gerado pelo Analytics ao anexar uma nota a um registro.
Comprimento de registro
Se incluir todos os campos de todas as tabelas de origem ao anexar, o comprimento de registro na tabela de saída poderá ser maior que o registro mais longo nas tabelas de origem.
Uma mensagem de erro é exibida se o comprimento de registro de saída ultrapassar o máximo de 32 KB do Analytics.
Anexação e casas decimais
Comportamento específico rege a anexação de campos numéricos que incluem casas decimais.
Configuração decimal
O comando APPEND usa o número de casas decimais definido na configuração Dec na definição de campo no layout da tabela.
Nota
A configuração Dec pode não ser a mesma que o número real de casas decimais nos dados de origem. Casas decimais que ultrapassem a configuração Dec são não definidas e arredondadas nos cálculos.
Configurações decimais inconsistentes
Se os campos numéricos anexados tiverem configurações Dec inconsistentes, os campos serão convertidos para o tipo de dados ACL e automaticamente harmonizados na configuração mais longa de Dec.
Qualquer casa decimal nos arquivos de dados de origem que ultrapasse a configuração Dec mais longa é excluída da tabela de saída gerada por APPEND.
Configuração decimal consistente
Se os campos numéricos anexados tiverem uma configuração Dec consistente, nenhuma conversão de tipo de dados ou harmonização ocorrerá.
Qualquer casa decimal nos arquivos de dados de origem que ultrapasse a configuração Dec é incluída da tabela de saída gerada por APPEND.
Ordenação
Qualquer critério de ordenação existente nas tabelas de origem é mantida separadamente nos respectivos conjuntos de registros na tabela de saída.
Mesmo se todos os registros em todas as tabelas de origem forem ordenados, a tabela de saída é considerada não ordenada, pois os registros de origem são anexados como grupos, sem considerar nenhum critério de ordenação existente nas tabelas de origem.
Por exemplo, se você anexar tabelas mensalmente ou trimestralmente para criar uma tabela anual, toda a ordenação interna dos dados mensais ou trimestrais é mantida. Se necessário, é possível ordenar a tabela de saída depois de realizar a operação de anexação.
Como funciona a ordem do campo
Campos comuns
Campos comuns em tabelas de origem não têm de estar na mesma ordem para ser anexados.
Por exemplo, esses campos são corretamente anexados, mesmo se estiverem em uma ordem diferente:
Tabela | Campos |
---|---|
tabela_1 | Sobrenome | Nome | Nome_do_meio |
tabela_2 | Nome | Nome_do_meio | Sobrenome |
A primeira tabela especificada no comando APPEND dita a ordem dos campos na tabela de saída. Portanto, no exemplo acima, a ordem na tabela de saída é:
- Sobrenome | Nome | Nome_do_meio
Campos não comuns
Campos não comuns nas tabelas de origem aparecem na tabela de saída na ordem em que aparecem no grupo selecionado de tabelas de origem.
Por exemplo, ao anexar essas duas tabelas:
Tabela | Campos |
---|---|
tabela_1 | Título | Sobrenome | Nome | Nome_do_meio |
tabela_2 | Nome | Nome_do_meio | Sobrenome | Data_de_nascimento |
a ordem da tabela de saída é:
- Título | Sobrenome | Nome | Nome_do_meio | Data_de_nascimento
Título de coluna alternativo
Títulos de coluna alternados nas tabelas de origem aparecem na tabela de saída. Se mais de uma tabela de origem tiver um título alternativo da coluna para o mesmo campo, o título da primeira tabela selecionada tem precedência.