Comando SPLITVALUES

Informações do conceito

Divisão de tabelas

Divide uma tabela em duas ou mais com base em valores únicos em um campo-chave. As tabelas de saída usam o valor único como nome da tabela, com um prefixo em texto opcional.

Nota

O número máximo de valores únicos do campo-chave ao dividir uma tabela é 450.

Sintaxe

SPLITVALUES ON campo_chave <PREFIX texto_prefixo> {FIELDS nome_campo <AS novo_nome_campo> <...n>|FIELDS ALL} <nome_tabela_relacionada.ALL <...n>> <IF teste> <TO nome_pasta> <WHILE teste> <FIRST intervalo|NEXT intervalo>

Parâmetros

Nome Descrição

ON campo_chave

O campo chave que será usado para dividir a tabela.

O campo chave pode ser de caracteres, números, datahora ou lógico.

Para usar vários campos chave, crie um campo calculado que concatene os campos chave e use o campo calculado como o campo chave.

Nota

O campo chave é incluído automaticamente na tabela de saída e não precisa ser especificado usando FIELDS.

PREFIX texto_prefixo

opcional

Uma cadeia alfanumérica usada como prefixo para todos os nomes de tabelas de saída.

Se você omitir PREFIX, as tabelas de saída usarão somente o valor único de campo chave como o nome de tabela.

O prefixo de nome de tabela é limitado a 32 caracteres alfanuméricos. Em geral, os nomes de tabela são limitados a 64 caracteres alfanuméricos. Se a combinação de prefixo de nome de tabela e o valor do campo chave excederem 64 caracteres, o nome de tabela ficará truncado no lado direito.

O prefixo de nome de tabela pode incluir o caractere de sublinhado ( _ ), mas nenhum outro caractere especial ou espaço. O prefixo não pode começar com um número.

Dica

Se você tiver um campo-chave numérico ou de datahora, use um prefixo como D_ ou N_ para garantir que o primeiro número nos valores-chave seja mantido nos nomes das tabelas de saída.

FIELDS nome_campo | FIELDS ALL

Os campos a serem incluídos na saída:

  • RECORD use todos os campos no arquivo de dados de origem: todos os campos da tabela e todas as porções indefinidas do registro

    Os campos são usados na ordem em que aparecem no layout da tabela.

    Preserva campos calculados.

  • FIELDS nomes_campos usar os campos especificados

    Os campos são usados na ordem em que são listados.

    Para usar um campo de uma tabela relacionada, especifique nome_tabela_relacionada.nome_campo.

    Converte campos calculados em campos físicos com o tipo de dados apropriado na tabela destino – ASCII ou Unicode (dependendo da edição do Analytics), ACL (o tipo de dados numérico nativo), datahora ou lógico. Preenche os campos físicos com os valores calculados reais.

  • FIELDS ALL usar todos os campos da tabela

    Os campos são usados na ordem em que aparecem no layout da tabela.

    Converte campos calculados em campos físicos com o tipo de dados apropriado na tabela destino – ASCII ou Unicode (dependendo da edição do Analytics), ACL (o tipo de dados numérico nativo), datahora ou lógico. Preenche os campos físicos com os valores calculados reais.

AS novo_nome_campo

opcional

Válido apenas ao usar FIELDS nome_campo.

O novo nome físico e o nome de exibição (título alternativo da coluna) para o campo na tabela de saída.

Qualquer caractere especial ou espaço especificado é mantido no nome de exibição e convertido automaticamente para sublinhados ( _ ) no nome de campo físico no layout da tabela.

Especifique novo_nome_campo como uma cadeia entre aspas. Use um ponto e vírgula (;) entre as palavras se quiser uma quebra de linha no nome de exibição.

nome_tabela_relacionada.ALL

opcional

Use todos os campos na tabela relacionada especificada.

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

TO nome_pasta

opcional

A pasta de destino das tabelas de saída.

Se você omitir TO, as tabelas serão salvas na pasta que contém o projeto do Analytics.

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.

Exemplos

Dividir uma tabela com base em um campo chave

Gere várias tabelas de saída com base em valores únicos no campo Nome_Fornecedor na tabela Ap_Trans:

OPEN Trans_Cp
SPLITVALUES ON Nome_Fornecedor PREFIX Fornecedor_ FIELDS No_Fornecedor Cidade_Fornecedor No_Fatura Data_Fatura Valor_Fatura No_Prod Quantidade Custo_Unidade TO "tabelas_Fornecedor"

Cada tabela de saída contém todos os registros que compartilham o valor-chave único. O nome das tabelas será Fornecedor_nome_fornecedor. Por exemplo, uma tabela chamada Fornecedor_Koro_International contém todos os registros em que Koro International é o valor de Nome_Fornecedor.

As tabelas são salvas na pasta tabelas_Fornecedor no diretório de trabalho do Analytics.

Dividir uma tabela com base em vários campos chave

Gere várias tabelas de saída com base em combinações únicas de valores nos campos Nome_Fornecedor e Data_Fatura na tabela Ap_Trans.

A função ALLTRIM( ) remove os espaços desnecessários à esquerda e à direita dos valores de nome de fornecedor. Se você não remover os espaços, eles serão convertidos em vários caracteres sublinhados ( _ ), desperdiçando espaço limitado nos nomes de tabela de saída.

A função DATE( ) converte o campo Data_Fatura no tipo de dado de caractere, que é necessário para a concatenação.

OPEN Trans_Cp
SPLITVALUES ON ALLTRIM(Nome_Fornecedor)+"_"+DATE(Data_Fatura; "MM/DD/AA") FIELDS No_Fornecedor Nome_Fornecedor No_Fatura Data_Fatura Valor_Fatura No_Prod Quantidade Custo_Unidade TO "tabelas_Fornecedor_Data"

Cada tabela de saída contém todos os registros que compartilham uma combinação única de valores-chave. O nome das tabelas será nome_fornecedor_data_fatura. Por exemplo, uma tabela chamada Koro_International_06_15_23 contém todos os registros em que Koro International é o valor de Nome_Fornecedor e 06_15_23 é o valor de Data_Fatura.

As tabelas são salvas na pasta tabelas_Fornecedor_Data no diretório de trabalho do Analytics.