Функции построителя отчетов — функция CountDistinct в отчете с разбивкой на страницы (построитель отчетов)

Применимо: Microsoft построитель отчетов (SSRS) Power BI построитель отчетов конструктор отчетов в SQL Server Data Tools

Возвращает количество уникальных значений, отличных от NULL, определяемое в отчете с разбивкой на страницы выражением, вычисляемым в контексте данной области.

Примечание.

Создать и изменить определение для отчета на страницу (RDL-файл) можно с помощью построителя отчетов (Майкрософт), построителя отчетов Power BI и конструктора отчетов в SQL Server Data Tools.

Синтаксис

  
CountDistinct(expression, scope, recursive)  

Параметры

выражение
(Variant) Выражение, к которому применяется статистическая обработка.

область
(String) необязательно. Имя набора данных, группы или области данных, содержащих элементы отчета, к которым применяется агрегатная функция. Если аргумент scope не задан, используется текущая область.

рекурсивные
(Перечислимый тип) Необязательно. Simple (по умолчанию) или RdlRecursive. Указывает, нужно ли выполнять статистическую обработку рекурсивно.

Тип возвращаемых данных

Возвращает значение типа Integer.

Замечания

Значение scope должно быть строковой константой и не может быть выражением. Для внешних агрегатов и агрегатов, в которых не задаются другие агрегаты, параметр scope должен ссылаться не текущую область или включающую область. Для агрегатов, содержащих агрегаты, во вложенных агрегатах может указываться дочерняя область.

Expression может содержать вызовы вложенных агрегатных функций со следующими условиями и исключениями.

  • ПараметрScope для вложенных агрегатов должен совпадать с областью внешнего агрегата или входить в нее. Одна область из всех уникальных областей в выражении должна быть дочерней относительно всех других областей.

  • ПараметрScope для вложенных агрегатов не может быть именем набора данных.

  • Expression не может содержать функции First, Last, Previousи RunningValue .

  • Expression не может содержать вложенные агрегаты, в которых указан параметр recursive.

Дополнительные сведения см. в разделах Справочник по агрегатным функциям (построитель отчетов и SSRS) и Область выражения для суммирования, агрегатных функций и встроенных коллекций (построитель отчетов и SSRS).

Дополнительные сведения о рекурсивных статистических выражениях см. в разделе Создание групп рекурсивной иерархии (построитель отчетов и SSRS).

Пример

В приведенном ниже примере кода показано выражение, вычисляющее количество уникальных значений Size , отличных от NULL, для области по умолчанию и области родительской группы. Выражение добавляется в ячейку строки, относящуюся к дочерней группе GroupbySubcategory. Родительской группой является GroupbyCategory. Выражение отображает результаты для группы GroupbySubcategory (область по умолчанию) и затем для группы GroupbyCategory (область родительской группы).

Примечание.

Выражения не должны содержать действительные возвраты каретки и разрывы строк; они включаются в пример кода для поддержки модулей подготовки отчетов. При копировании следующего примера удалите возвраты каретки изо всех строк.

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

См. также

Использование выражений в отчетах (построитель отчетов и SSRS)
Примеры выражений (построитель отчетов и службы SSRS)
Типы данных в выражениях (построитель отчетов и службы SSRS)
Область выражений для итогов, агрегатов и встроенных коллекций (построитель отчетов и SSRS)