Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Importante
Some or all of the functionality noted in this article is available as part of a preview release. The content and the functionality are subject to change. For more information about preview releases, see Service update availability.
A função LISTDISTINCT calcula a expressão especificada como seletor para cada registo da lista especificada. Devolve um novo valor Lista de registos que contém um único registo para cada valor do seletor único.
Sintaxe
LISTDISTINCT (list, selector)
Argumentos
list: Lista de registos
O caminho válido de uma origem de dados do tipo de dados Lista de registos.
selector: Tipo de dados primitivos
Uma expressão válida utilizada para calcular um valor do seletor para cada registo na lista especificada.
Os seguintes tipos de dados são suportados para este parâmetro:
- Booleano
- Data
- DateTime
- GUID
- Número Inteiro
- Int64
- Real
- Cadeia
Valores de retorno
Lista de registos
A lista de registos resultante.
Notas de utilização
A estrutura da lista criada corresponde à estrutura da lista especificada.
O mesmo valor do seletor pode ser calculado para vários registos na lista especificada. Neste caso, os valores de campo do registo correspondente na lista criada são iguais aos valores do primeiro registo da lista especificada para a qual o valor do seletor é calculado.
A execução desta função é efetuada em qualquer origem de dados de Relatórios eletrónicos (ER) do tipo Lista de registos que esteja presente na memória.
A origem de dados GROUPBY também pode ser utilizada para gerar a lista de registos para a qual o seletor com valores distintos é calculado. Contudo, do ponto de vista do desempenho e do consumo de memória, é melhor utilizar a função LISTDISTINCT do que a origem de dados GROUPBY, porque a execução da função é efetuada na memória.
Exemplo
O exemplo seguinte mostra como pode obter a lista de números únicos de contas de clientes para os quais pelo menos uma fatura de venda ou uma fatura de projeto foi emitida durante um período específico.
Introduza a origem de dados SalesInvoice do tipo
Record listque se refere à tabela de aplicações CustInvoiceJour e filtra as faturas de venda para períodos específicos.O campo
InvoiceAccountdesta origem de dados devolve o número de conta de um cliente faturado.Introduza a origem de dados ProjectInvoice do tipo
Record listque se refere à tabela de aplicações ProjInvoiceJour e filtra as faturas de projeto para períodos específicos.O campo
InvoiceAccountdesta origem de dados devolve o número de conta de um cliente faturado.Configure a origem de dados AllInvoices do tipo
Calculated fieldque contém a expressãoLISTJOIN(SalesInvoice, ProjectInvoice).Esta origem de dados devolve a lista associada de faturas de venda e faturas de projeto.
Configure a origem de dados InvoicedCustomer do tipo
Record listque contém a expressãoLISTDISTINCT(AllInvoices, AllInvoices.InvoiceAccount).Esta origem de dados devolve uma nova lista que contém um único registo para cada cliente único que tenha sido faturado durante o período definido. O campo
InvoiceAccountdesta lista contém um número de conta de cliente.