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


Примеры выражений групп (службы Reporting Services)

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

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

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

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

Описание

Выражение

Группирование по полю 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

Дополнительные сведения о пользовательском коде см. в разделе Использование в выражениях ссылок на пользовательский код (службы Reporting Services).