4D v14.3

DISTINCT VALUES

Página Inicial

 
4D v14.3
DISTINCT VALUES

DISTINCT VALUES 


 

DISTINCT VALUES ( campo ; array ) 
Parâmetro Tipo   Descrição
campo  Campo in Campo ou subcampo indexável a utilizar para dados
array  Array in Array a receber os dados do campo

O comando DISTINCT VALUES cria e preenche o array array com valores não-repetidos (únicos) do campo campo para a seleção atual da tabela que pertence ao campo ou subcampo.

Você pode passar a DISTINCT VALUES qualquer campo indexável, ou seja, cujo tipo suporte indexável, sem que necessariamente esteja indexado.

Entretanto, executar este comando com campos não indexáveis será um processo mais lento. Também note que neste caso, o comando perde o registro atual.

DISTINCT VALUES analisa e extrai os valores não repetidos nos registros selecionados.

Nota: quando o comando DISTINCT VALUES é utilizado durante a transação que não tenha terminado ainda, o comando leva em consideração os registros criados durante a transação.

A tabela utilizada por DISTINCT VALUES deve ser do mesmo tipo que o campo passado como primeiro parâmetro, do contrário el array é digite novamente. Há uma exceção a essa regra: se o campo é do tipo Imagem (e está associado com um índex de palavras-chave), o array correspondente deve ser do tipo Texto.

Depois de acionado, o tamanho do array é igual ao número de valores distintos encontrados na seleção. O comando não muda a seleção atual nem o registro atual. O comando DISTINCT VALUES usa o index do campo, então os elementos no array são devolvidos ordenados em ordem ascendente. Se este é o comando que necessitam não é preciso acionar SORT ARRAY depois de utilizar DISTINCT VALUES.

Nota: quando DISTINCT VALUES é executado com um campo de texto associado com um índice de palavras chave, o comando preenche o array com as palavras chave do índice. Diferente de outros tipos de dados, os valores devolvidos diferem de acordo com a existência do índex. No caso de um campo de texto, o índex de palavras-chave é sempre tido em conta, mesmo quando o campo também é associado com um índice padrão. Se o campo texto ou imagem não está associado com um índice de palavras-chave, o array é retornado vazio.

Advertência: DISTINCT VALUES pode criar arrays grandes, dependendo do tamanho da seleção atual e do tipo e tamanho de dados para carregar. Os arrays residem na memória, portanto é uma boa idéia testar o resultado depois que o comando esteja completo. Para fazer isso, teste o tamanho do array resultante ou cubra o chamado do comando, usando um método projeto de interceptação de erro instalado pelo comando ON ERR CALL.

4D Server: o comando é otimizado para 4D Server. O array é criado e os valores são calculados na maquina do servidor. O array é então enviado, em sua integridade, ao cliente.

O exemplo a seguir cria uma lista de cidades a partir da seleção atual e indica ao usuário o número de cidades nas quais a empresa tem filiais:

 ALL RECORDS([Filiais]` Criar uma seleção de registros
 DISTINCT VALUES([Filiais]Cidade;asCidades)
 ALERT("A empresa tem filiais em "+String(Size of array(asCidades))+" cidades.")

Você deseja obter uma lista completa de palavras-chaves contidas no índice de palavras-chave do campo "Pictures":

 ALL RECORDS([PICTURES])
 ARRAY TEXT(<>_MyKeywords;10)
 DISTINCT VALUES([PICTURES]Photos;<>_MyKeywords)

 
PROPRIEDADES 

Produto: 4D
Tema: Arrays
Número 339

Comportamento diferente em modo remoto

 
HISTÓRIA 

Modificado: 4D v11 SQL

 
VER TAMBÉM 

ON ERR CALL
SELECTION RANGE TO ARRAY
SELECTION TO ARRAY

 
PALAVRAS CHAVES 

index mots-clés, mots-clés

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v14.3)

Inherited from : DISTINCT VALUES ( 4D v14 R2)