Поделиться через


Примеры выражений групп в отчетах с разбивкой на страницы (построитель отчетов)

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

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

Чтобы выполнить слияние двух или нескольких групп, основанных на простых выражениях поля, добавьте каждое поле к списку выражений группы в определении группы.

Примечание.

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

Примеры выражений группы

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

Description Expression
Группирование по полю Region . =Fields!Region.Value
Группирование по фамилии и имени. =Fields!LastName.Value

=Fields!FirstName.Value
Группирование по первой букве фамилии. =Fields!LastName.Value.Substring(0,1)
Группирование по параметру, основанному на выборе пользователя.

В этом примере параметр GroupBy должен быть основан на списке допустимых значений, которые предоставляет допустимый вариант выбора для группирования.
=Fields(Parameters!GroupBy.Value).Value
Группирование по трем отдельным возрастным диапазонам:

до 20, между 21 и 50, старше 50.
=IIF(First(Fields!Age.Value)<21,"Under 21",(IIF(First(Fields!Age.Value)>=21 AND First(Fields!Age.Value)<=50,"Between 21 and 50","Over 50")))
Группирование по многим возрастным диапазонам. В этом примере показан пользовательский код, написанный на Visual Basic .NET, который возвращает строку, относящуюся к одному из следующих диапазонов:

от 25 и младше,

от 26 до 50;

от 51 до 75;

старше 75.
=Code.GetRangeValueByAge(Fields!Age.Value)

Пользовательский код:

Function GetRangeValueByAge(ByVal age As Integer) As String

Select Case age

Case 0 To 25

GetRangeValueByByAge = "25 or Under"

Case 26 To 50

GetRangeValueByByAge = "26 to 50"

Case 51 to 75

GetRangeValueByByAge = "51 to 75"

Case Else

GetRangeValueByByAge = "Over 75"

End Select

Return GetRangeValueByByAge

End Function