Compartilhar via


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.

Sintaxe

LISTDISTINCT (list, selector)

Argumentos

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

Valores de retorno

Lista de registros

A lista de registros resultante.

Notas de uso

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.

Exemplo

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.

  1. 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.

  2. 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.

  3. Configura a fonte de dados AllInvoices do tipo Calculated field que contém a expressão LISTJOIN(SalesInvoice, ProjectInvoice).

    Essa fonte de dados retorna a lista unida de faturas de venda e de projeto.

  4. Configure a fonte de dados InvoicedCustomer do tipo Record list que contém a expressão LISTDISTINCT(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.

Recursos adicionais

Funções de listagem