Ordenação ou indexação usando um campo-chave calculado
Se o formato dos dados em um campo-chave físico impedir a ordenação ou indexação precisa de uma tabela, pode ser possível conseguir resultados precisos criando um campo-chave calculado. Os exemplos de formatação de dados que impedem a ordenação ou indexação incluem número que contém prefixos não numéricos ou brancos à esquerda de forma inconsistente e nomes com uso inconsistente de maiúsculas e minúsculas. Você pode criar um campo-chave calculado para tornar os dados consistentes e depois ordenar ou indexar usando o campo-chave calculado.
Você também pode ordenar ou indexar usando um campo-chave calculado para ordenar tabelas por critérios diferentes que a ordenação estritamente sequencial dos valores dos campos-chave. Por exemplo, você pode usar um campo-chave calculado para inverter a ordem física dos registros em uma tabela, agrupar valores pares de dólar ou agrupar nomes que contêm uma determinada cadeia.
Tornar os valores do campo-chave calculado visíveis
Uma prática recomendada na indexação usando um campo-chave calculado é adicionar o campo calculado à exibição para que você possa ver exatamente como os valores calculados estão sendo usados para indexar a tabela. Quando você ordena usando um campo-chave calculado, ele é incluído automaticamente na nova tabela ordenada.
É possível incorporar diretamente expressões nas operações de ordenação e indexação e conseguir os mesmos resultados sem criar um campo-chave calculado. No entanto, não recomendamos essa abordagem porque ela oculta os valores reais usados para ordenar a tabela.
Exemplos de ordenação ou indexação usando um campo-chave calculado
Veja a seguir vários exemplos de ordenação ou indexação usando um campo-chave calculado. Para comparação, a ordem sequencial e não calculada do campo-chave físico também está incluída.
|
Descrição/Expressão do campo-chave calculado |
Função do Analytics |
Campo-chave (ordem física) |
Campo-chave (ordem sequencial, edição não Unicode do Analytics) |
Campo-chave calculado (ordem sequencial) |
Campo-chave (ordem baseada na ordem do campo-chave calculado) |
|---|---|---|---|---|---|
|
Ignorar caracteres não numéricos e brancos, ordenar/indexar somente caracteres numéricos INCLUDE(ID_dept; "1234567890") |
INCLUDE( ) |
92 12 T-38 20 #85 |
20 #85 12 92 T-38 |
12 20 38 85 92 |
12 20 T-38 #85 92 |
|
Evite discrepâncias de classificação/indexação causadas por diferenças de maiúsculas e minúsculas UPPER(Sobrenome) |
UPPER( ) |
Smythe JONES Smith JOHNSON SMYTHE Jones SMITH Johnson |
JOHNSON JONES Johnson Jones SMITH SMYTHE Smith Smythe |
JOHNSON JOHNSON JONES JONES SMITH SMITH SMYTHE SMYTHE |
JOHNSON Johnson JONES Jones Smith SMITH Smythe SMYTHE |
|
Inverter a ordem física dos registros em uma tabela Nota Exige um campo-chave calculado em ordem decrescente. Os números de registro sempre serão exibidos em ordem crescente, mesmo se uma ordem decrescente for aplicada. RECNO( ) |
RECNO( ) |
82,12 87,00 62,79 97,47 43,00 |
43,00 62,79 82,12 87,00 97,47 |
1 2 3 4 5 |
43,00 97,47 62,79 87,00 82,12 |
|
Agrupar valores pares de dólares, ordenar sequencialmente valores dentro do grupo Nota Exige uma ordenação/indexação aninhada do campo-chave dentro do campo calculado. MOD(valor_de_trans; 1,00) |
MOD( ) |
82,12 87,00 62,79 97,47 43,00 |
43,00 62,79 82,12 87,00 97,47 |
0,00 0,00 0,12 0,47 0,79 |
43,00 87,00 82,12 97,47 62,79 |
|
Agrupar valores contendo uma determinada cadeia, ordenar sequencialmente valores dentro do grupo Nota Exige um campo-chave calculado em ordem decrescente. Exige uma ordenação/indexação aninhada do campo-chave dentro do campo calculado. FIND("Hardware"; nome_fornecedor) |
FIND( ) |
Lilydale Hardware |
Binford Tools |
T |
Global Trade Hardware |
|
Triathalon Group |
Bolton Distribution |
T |
Lilydale Hardware |
||
|
Wholesome Hardware |
Global Trade Hardware |
T |
Wholesome Hardware |
||
|
Steel Case Manufacturing |
Industrial Equipment Co-Op |
F |
Binford Tools |
||
|
Industrial Equipment Co-Op |
Lilydale Hardware |
F |
Bolton Distribution |
||
|
Global Trade Hardware |
Steel Case Manufacturing |
F |
Industrial Equipment Co-Op |
||
|
Binford Tools |
Triathalon Group |
F |
Steel Case Manufacturing |
||
|
Bolton Distribution |
Wholesome Hardware |
F |
Triathalon Group |
Etapas
As etapas para ordenar ou indexar uma tabela usando campos-chave calculados é explicada em termos gerais a seguir.
Para obter informações detalhadas sobre a criação de campos calculados e a execução de ordenação ou indexação, consulte as seções relevantes deste guia.
- Usando uma expressão adequada, crie um campo-chave calculado com base no campo-chave físico da ordenação ou indexação.
- Se você pretende executar uma operação de indexação, adicione o campo-chave calculado à exibição.
- Usando o campo calculado como campo-chave, execute o procedimento normal de ordenação ou indexação.
- Se necessário, especifique uma ordem decrescente para o campo-chave calculado. Algumas expressões exigem ordem decrescente para posicionar resultados na parte superior da tabela.
- Se você quiser ordenar resultados sequencialmente dentro dos grupos criados pela expressão do campo-chave calculado, selecione o campo calculado e o campo-chave físico para ordenação ou indexação. Selecione o campo-chave calculado antes, para que tenha precedência sobre o campo-chave físico.