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


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

ОБЛАСТЬ ПРИМЕНЕНИЯ: Power BI построитель отчетов Power BI Desktop

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

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

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

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

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