Comando SORT
Informações do conceito
Ordena registros em uma tabela do Analytics em ordem sequencial crescente ou decrescente de acordo com um ou mais campos-chave especificados. Os resultados são enviados a uma tabela nova e fisicamente reordenada do Analytics.
Sintaxe
SORT {<ON> campo_chave <D> <...n>|<ON> ALL <EXCLUDE nome_campo <...n>>} <FIELDS nome_campo <AS novo_nome_campo> <...n>|FIELDS ALL> <nome_tabela_relacionada.ALL <...n>> <EXCLUDE nome_campo <...n>> TO nome_tabela <LOCAL> <IF teste> <WHILE teste> <FIRST intervalo|NEXT intervalo> <APPEND> <OPEN> <ISOLOCALE código_local>
Parâmetros
| Nome | Descrição |
|---|---|
| ON campo_chave D <...n> | ON ALL |
O campo ou campos-chave, ou a expressão, que devem ser utilizados para a ordenação. Você pode ordenar por qualquer tipo de campo, incluindo campos calculados e expressões ad hoc, independentemente do tipo de dados.
|
| EXCLUDE nome_campo opcional |
Válido apenas ao ordenar 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 |
|
FIELDS nome_campo <...n> | FIELDS ALL opcional |
Nota Os campos-chave são incluídos automaticamente na tabela de saída e não precisam ser especificados usando FIELDS. Os campos a serem incluídos na saída:
Dica Se você precisar apenas de uma parte dos dados contidos em um registro, não inclua todos os campos ou o registro inteiro na tabela de saída ordenada. Selecione somente os campos de que precisa, o que, na maioria dos casos, acelera o processo de ordenação. |
|
AS novo_nome_campo opcional |
Válido apenas ao usar FIELDS. 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. Nota O parâmetro AS funciona apenas na geração de uma nova tabela. Se você estiver adicionando a uma tabela existente, os nomes de campo físicos e os nomes de exibição nessa tabela terão prioridade. |
| nome_tabela_relacionada.ALL opcional |
Use todos os campos na tabela relacionada especificada. |
| EXCLUDE nome_campo opcional |
Válido apenas ao usar FIELDS ALL ou nome_tabela_relacionada.ALL. O campo ou os campos a serem excluídos do comando. EXCLUDE permite ajustar a palavra-chave ALL, excluindo os campos especificados. EXCLUDE deve seguir FIELDS ALL imediatamente ou a última ocorrência da palavra-chave ALL se você estiver incluindo campos de uma ou mais tabelas relacionadas. Por exemplo: FIELDS ALL EXCLUDE campo_1 campo_2 FIELDS ALL nome_tabela_relacionada.ALL EXCLUDE campo_1 campo_2 |
| TO nome_tabela |
A localização para onde enviar os resultados do comando:
|
| 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. |
| 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:
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. |
|
OPEN opcional |
Abre a tabela e aplica o índice à tabela. |
|
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
Ordenar por um único campo, saída de registros inteiros
Você quer ordenar os registros na tabela de amostra Inventário por número de produto. Os resultados ordenados são extraídos para uma nova tabela do Analytics, chamada Número_Produto_Inventário.
Registros inteiros são incluídos na tabela de saída:
SORT ON NoProd TO "Número_Produto_Inventário"
Para alternar do critério de ordenação crescente padrão para um critério de ordenação decrescente, adicione D após o nome do campo-chave:
SORT ON NoProd D TO "Número_Produto_Inventário"
Ordenar por um único campo, saída de um subconjunto de campos
Você quer ordenar os registros na tabela de amostra Inventário por número de produto. Somente o campo-chave e os campos não chave especificados são extraídos para uma nova tabela do Analytics chamada Quantidade_Disponível_Inventário.
O terceiro campo não chave, QtdDisp, recebe o nome de exibição Qtd Disponível e o nome de campo físico Qtd_disponível na tabela de saída:
SORT ON NoProd FIELDS DescProd EstatProd QtdDisp AS "Qtd Disponível" TO "Quantidade_Disponível_Inventário"
Ordenar por um único campo, saída de todos os campos
Você quer ordenar os registros na tabela de amostra Inventário por número de produto. Todos os campos são extraídos para uma nova tabela do Analytics, chamada Número_Produto_Inventário.
A diferença entre o uso de FIELDS ALL e a geração do registro inteiro é que FIELDS ALL converte todos os campos calculados da tabela de origem em campos físicos na tabela de saída e preenche os campos com os valores calculados atuais:
SORT ON NoProd FIELDS ALL TO "Número_Produto_Inventário"
Ordenar por vários campos (ordem aninhada)
Você quer ordenar os registros na tabela de amostra Inventário por local, em seguida por classe de produto e, por último, por número de produto. Os resultados ordenados são extraídos para uma nova tabela do Analytics, chamada Número_Classe_Local_Inventário.
SORT ON Local ClasseProd NoProd TO "Número_Classe_Local_Inventário"
Ordenar usando campos relacionados
Você quer ordenar os registros na tabela de amostra Trans_Cp pelos seguintes campos:
- estado do fornecedor (tabela Fornecedor relacionada)
- cidade do fornecedor (tabela Fornecedor relacionada)
- número do fornecedor (tabela Trans_Cp)
Todos os três campos-chave e os campos não chave especificados, incluindo o campo relacionado Fornecedor.Nome_Fornecedor, são extraídos para uma nova tabela do Analytics chamada Trans_Cp_Estado_Cidade:
SORT ON Fornecedor.Estado_Fornecedor Fornecedor.Cidade_Fornecedor No_Fornecedor FIELDS Fornecedor.Nome_Fornecedor No_Fatura Data_Fatura Valor_Fatura No_Prod Quantidade Custo_Unidade TO "Trans_Cp_Estado_Cidade"
Observações
Para obter mais informações sobre o funcionamento desse comando, consulte Ordenando registros.
A sequência de ordenação usada pelo comando SORT
O comando SORT usa a sequência de ordenação especificada na opção Critério de ordenação (Ferramentas > Opções > Tabelas). As sequências de ordenação padrão são mostradas abaixo.
Para obter informações detalhadas, consulte A opção Critério de Ordenação e as sequências de ordenação.
|
Edição do Analytics |
Padrão do Critério de Ordenação |
Sequência de ordenação associada |
|---|---|---|
|
não unicode |
Padrão do Sistema (ASCII) |
Números, maiúscula e minúscula: 0, 1, 2... A, B, C... a, b, c... Por exemplo, ordenações de "Z" antes de "a". |
|
Unicode |
Combinar linguagens (UCA) (Algoritmo de colação Unicode) |
Números, minúsculas e maiúsculas combinadas: 0, 1, 2... a, A, b, B, c, C... Por exemplo, ordenações de "a" antes de "Z". |
Diferenciação de maiúsculas e minúsculas
SORT diferencia maiúsculas e minúsculas. Dependendo da edição do Analytics que você está usando (não Unicode ou Unicode), o uso de maiúsculas e minúsculas em cadeias pode afetar a ordenação.
Você pode usar a função UPPER( ) com SORT se não quiser que o uso de maiúsculas e minúsculas afete a ordenação:
SORT ON UPPER(campo_chave) TO "Tabela_Ordenada"
Ordenação por campos relacionados
Você pode ordenar por campos relacionados e incluí-los como campos não chave em uma tabela de saída ordenada. Para fazer referência a um campo relacionado no comando SORT, especifique nome da tabela filha.nome do campo.
Arquivos de dados de comprimento fixo vs. comprimento variável
O comando SORT funciona em arquivos de dados de comprimento fixo e variável.