Compartilhar via


Funções do Construtor de Relatórios – função CountDistinct em um relatório paginado (Construtor de Relatórios)

Aplica-se a: SSRS (Construtor de Relatórios da Microsoft) Power BI Report Builder Report Designer no SQL Server Data Tools

Retorna uma contagem de todos os valores não nulos distintos especificados pela expressão em um relatório paginado, avaliados no contexto do escopo fornecido.

Observação

Você pode criar e modificar arquivos de definição de relatório paginado (.rdl) no Construtor de Relatórios da Microsoft, Construtor de Relatórios do Power BI e no Designer de Relatórios no SQL Server Data Tools.

Sintaxe

  
CountDistinct(expression, scope, recursive)  

Parâmetros

expressão
(Variant) A expressão na qual executar a agregação.

escopo
(String) Opcional. O nome de um conjunto de dados, um grupo ou uma região de dados que contém os itens de relatório aos quais a função de agregação deve ser aplicada. Se scope não estiver especificado, será usado o escopo atual.

recursivos
(Enumerated Type) Opcional. Simple (padrão) ou RdlRecursive. Especifica se a agregação deve ser executada recursivamente.

Tipo de retorno

Retorna um Integer.

Comentários

O valor de scope deve ser uma constante de cadeia de caracteres e não pode ser uma expressão. Para agregações externas ou que não especificam outras agregações, scope deve se referir ao escopo atual ou a um escopo contentor. Para agregações de agregações, as agregações aninhadas podem especificar um escopo filho.

Expression pode conter chamadas para funções de agregação aninhadas com as seguintes exceções e condições:

  • Scope para agregações aninhadas deve ser igual ao escopo da agregação externa ou deve estar contido nela. Para todos os escopos distintos na expressão, um escopo deve estar em uma relação filho com todos os outros escopos.

  • Scope para agregações aninhadas não pode ser o nome de um conjunto de dados.

  • Expression não deve conter a função First, Last, Previousou RunningValue .

  • Expression não deve conter agregações aninhadas que especifiquem recursive.

Para obter mais informações, confira Referência de funções de agregação (Construtor de Relatórios e SSRS) e Escopo das expressões para totais, agregações e coleções internas (Construtor de Relatórios e SSRS).

Para obter mais informações sobre agregações recursivas, confira Criando grupos de hierarquias recursivas (Construtor de Relatórios e SSRS).

Exemplo

O seguinte exemplo de código mostra uma expressão que calcula o número de valores não nulos exclusivos de Size para o escopo padrão e para um escopo do grupo pai. A expressão é adicionada a uma célula em uma linha que pertence ao GroupbySubcategorydo grupo filho. O grupo pai é GroupbyCategory. A expressão exibe os resultados de GroupbySubcategory (o escopo padrão) e de GroupbyCategory (o escopo do grupo pai).

Observação

As expressões não devem conter retornos de carro reais e quebras de linha. Eles estão incluídos no código de exemplo para oferecer suporte a processadores de documentação. Se você copiar o seguinte exemplo, remova os retornos de carro de cada linha.

="Distinct count (Subcategory): " & CountDistinct(Fields!Size.Value) &   
"Distinct count (Category): " & CountDistinct(Fields!Size.Value,"GroupbyCategory")