Função LISTDISTINCT ER
Importante
Algumas ou todas as funcionalidades observadas neste artigo estão disponíveis como parte de uma versão preliminar. O conteúdo e a funcionalidade estão sujeitos a alterações. Para obter informações sobre as versões prévias, consulte Disponibilidade das atualizações do serviço.
A função LISTDISTINCT
calcula a expressão especificada como um seletor para cada registro da lista especificada. Ela retorna um novo valor Lista de registros que contém um único registro para cada valor de seletor único.
LISTDISTINCT (list, selector)
list
: Lista de registros
O caminho válido de uma fonte de dados do tipo Lista de registros.
selector
: Tipo de dados primitivos
Uma expressão válida que é usada para calcular um valor de seletor para cada registro na lista especificada.
Os seguintes tipos de dados têm suporte para este parâmetro:
- Booleano
- Data
- Data e Hora
- Guid
- Inteiro
- Int64
- Real
- Sequência de caracteres
Lista de registros
A lista de registros resultante.
A estrutura da lista criada corresponde à estrutura da lista especificada.
O mesmo valor do seletor pode ser calculado para vários registros na lista especificada. Nesse caso, os valores de campo do registro correspondente na lista criada são iguais aos valores do primeiro registro da lista especificada para as quais o valor do seletor é calculado.
A execução dessa função é feita em qualquer fonte de dados de relatório eletrônico (ER) do tipo de Lista de registros presente na memória.
A fonte de dados GROUPBY também pode ser usada para gerar a lista de registros para a qual é calculado o seletor que tem valores distintos. No entanto, de uma perspectiva de desempenho e de consumo de memória, convém usar a função LISTDISTINCT
do que a fonte de de dados GROUPBY, pois a execução da função é realizada na memória.
O exemplo a seguir mostra como é possível obter a lista de números de conta de cliente únicos para os quais pelo menos uma fatura de venda ou de projeto foi emitida durante um período específico.
Insira a fonte de dados SalesInvoice do tipo
Record list
que se refere à tabela do aplicativo CustInvoiceJour e filtre as faturas de venda para períodos específicos.O campo
InvoiceAccount
dessa fonte de dados retorna o número da conta de um cliente faturado.Insira a fonte de dados ProjectInvoice do tipo
Record list
que se refere à tabela do aplicativo ProjInvoiceJour e filtre as faturas do projeto para períodos específicos.O campo
InvoiceAccount
dessa fonte de dados retorna o número da conta de um cliente faturado.Configura a fonte de dados AllInvoices do tipo
Calculated field
que contém a expressãoLISTJOIN(SalesInvoice, ProjectInvoice)
.Essa fonte de dados retorna a lista unida de faturas de venda e de projeto.
Configure a fonte de dados InvoicedCustomer do tipo
Record list
que contém a expressãoLISTDISTINCT(AllInvoices, AllInvoices.InvoiceAccount)
.Essa fonte de dados retorna uma nova lista que contém um único registro para cada cliente único que foi faturado durante o período definido. O campo
InvoiceAccount
desta lista contém um número de conta de cliente.