Использование выражений в отчетах с разбивкой на страницы (построитель отчетов)
Область применения: Построитель отчетов (SSRS) Power BI конструктор отчетов построитель отчетов в SQL Server Data Tools
В отчетах с разбивкой на страницы выражения используются в определении отчета для указания или вычисления значений параметров, запросов, фильтров, свойств элементов отчета, группирования и сортировки определений, свойств текстовых полей, закладок, схем документов, динамического содержимого верхних и нижних колонтитулов страницы, изображений и динамических определений источников данных. В данном разделе приводится множество примеров использования выражений для внесения разнообразия в содержимое или внешний вид отчета. Этот список не является исчерпывающим. Выражение для любого свойства можно задать в диалоговом окне, содержащем кнопку выражения (fx), или в раскрывающемся списке, содержащем <выражение...>.
Выражения бывают простыми и сложными. Простое выражение содержит ссылку на одно поле набора данных, параметр или встроенное поле. Сложные выражения могут содержать несколько встроенных ссылок, операторов и вызовов функций. Например, сложное выражение может включать функцию Sum, применяемую к полю Sales.
Выражения должны быть написан на языке Microsoft Visual Basic. Выражение начинается со знака равенства (=), за которым следует сочетание ссылок на встроенные коллекции, например поля набора данных, параметры, константы, операторы и функции.
Примечание.
Создать и изменить определение для отчета на страницу (RDL-файл) можно с помощью построителя отчетов (Майкрософт), построителя отчетов Power BI и конструктора отчетов в SQL Server Data Tools.
Использование простых выражений
Простые выражения в области конструктора и в диалоговых окнах заключены в скобки; например, поле набора данных имеет вид [ProductID]
. Простые выражения создаются системой автоматически, при перетаскивании поля из набора данных в текстовое поле. Создается заполнитель, и выражение определяет содержащееся в нем значение. Выражения можно также вводить непосредственно в текстовое поле или ячейку области данных, в области конструктора или диалоговом окне (например, [ProductID]
).
В следующей таблице приведены примеры использования простых выражений. В таблице описана функциональность, задаваемое свойство, диалоговое окно, в котором оно обычно задается, и значение свойства. Простые выражения можно вводить непосредственно в области конструктора, в диалоговом окне или на панели свойств, а также, как любые другие выражения, изменять в диалоговом окне «Выражение».
Функция | Свойство, контекст и диалоговое окно | Значение свойства |
---|---|---|
Задать поле набора данных для отображения в текстовом поле. | Значение свойства для заполнителя в текстовом поле. Используйте диалоговое окно Свойства заполнителя — Общие. | [Sales] |
Агрегатные значения для группы. | Значение свойства для заполнителя в строке, связанной с группой табликса. Используйте диалоговое окно Свойства текстового поля. | [Sum(Sales)] |
Включить номер страницы. | Значение свойства для заполнителя в текстовом поле, расположенном в верхнем колонтитуле страницы. Используйте диалоговое окно Свойства текстового поля — Общие. | [&PageNumber] |
Отобразить значение выбранного параметра. | Значение свойства для заполнителя в текстовом поле в области конструктора. Используйте диалоговое окно Свойства текстового поля — Общие. | [@SalesThreshold] |
Задать определение группы для области данных. | Выражение группы для группы табликса. Используйте диалоговое окно Свойства группы табликса — Общие. | [Category] |
Исключить из таблицы значение конкретного поля. | Уравнение фильтра для табликса. Используйте диалоговое окно Свойства табликса — Фильтры. | В качестве типа данных выберите Integer.[Quantity] > 100 |
Включить только конкретное значение для фильтра группирования. | Уравнение фильтра для группы табликса. Используйте диалоговое окно Свойства группы табликса — Фильтры. | [Category] = Clothing |
Исключить из набора данных конкретные значения нескольких полей. | Уравнение фильтра для группы в табликсе. Используйте диалоговое окно Свойства табликса — Фильтры. | =[Color] <> Red =[Color] <> Blue |
Задать порядок сортировки по существующему полю таблицы. | Выражение сортировки для табликса. Используйте диалоговое окно Свойства табликса — Сортировка. | [SizeSortOrder] |
Связать параметр запроса с параметром отчета. | Коллекция параметров набора данных. Используйте диалоговое окно Свойства набора данных — Параметры. | [@Category] [@Category] |
Передать параметр из родительского отчета во вложенный. | Коллекция параметров вложенного отчета. Используйте диалоговое окно Свойства вложенного отчета — Параметры. | [@Category] [@Category] |
Использование сложных выражений
Сложные выражения содержат несколько ссылок на встроенные объекты, операторов и вызовов функций. Они выводятся в области конструктора в следующем виде: <<Expr>>
. Чтобы просмотреть или изменить текст выражения, нужно открыть диалоговое окно Выражение или ввести выражение непосредственно в панели свойств. В приведенной ниже таблице описаны типичные примеры применения сложных выражений для вывода или организации данных и для изменения внешнего вида отчета. Указаны задаваемое свойство, диалоговое окно, в котором оно обычно задается, и значение свойства. Выражение можно ввести непосредственно в диалоговом окне, в области конструктора или в панели свойств.
Функция | Свойство, контекст и диалоговое окно | Значение свойства |
---|---|---|
Агрегатные вычисления значений в наборе данных. | Значение свойства для заполнителя в текстовом поле. Используйте диалоговое окно Свойства заполнителя — Общие. | =First(Fields!Sales.Value,"DataSet1") |
Объединить текст и выражения в одном текстовом поле. | Значение для заполнителя в текстовом поле, расположенном в верхнем или нижнем колонтитуле страницы. Используйте диалоговое окно Свойства заполнителя — Общие. | ="This report began processing at " & Globals!ExecutionTime |
Агрегатные вычисления значений в наборе данных для другой области действия. | Значение для заполнителя в текстовом поле, помещаемом в группу табликса. Используйте диалоговое окно Свойства заполнителя — Общие. | =Max(Fields!Total.Value,"DataSet2") |
Форматировать данные в текстовом поле в зависимости от их значения. | Цвет для заполнителя в текстовом поле, помещаемом в строку детализации для табликса. Используйте диалоговое окно Свойства текстового поля — Шрифт. | =IIF(Fields!TotalDue.Value < 10000,"Red","Black") |
Вычислить значение один раз для использования в любом месте отчета. | Значение для переменной отчета. Используйте диалоговое окно Свойства отчета — Переменные. | =Variables!MyCalculation.Value |
Включить в набор данных конкретные значения нескольких полей. | Уравнение фильтра для группы в табликсе. Используйте диалоговое окно Свойства табликса — Фильтры. | В качестве типа данных выберите Boolean.=IIF(InStr(Fields!Subcat.Value,"Shorts")=0 AND (Fields!Size.Value="M" OR Fields!Size.Value="S"),TRUE, FALSE) = TRUE |
Спрятать текстовое поле в области конструктора, переключая его видимость с помощью параметра логического типа с именем Show. | Hiddenproperty для текстового поля. Используйте диалоговое окно Свойства текстового поля — Видимость. | =Not Parameters! Показать<логический параметр> .Value |
Динамически задать содержимое верхнего или нижнего колонтитулов страницы. | Значение для заполнителя в текстовом поле, расположенном в верхнем или нижнем колонтитуле страницы. | ="Page " & Globals!PageNumber & " of " & Globals!TotalPages |
Динамически задать источник данных с помощью параметра. | Строка подключения источника данных. Используйте диалоговое окно Свойства источника данных — Общие. | ="Data Source=" & Parameters!ServerName.Value & ";initial catalog=AdventureWorks2022" |
Задать все значения для многозначного параметра, выбранного пользователем. | Значение для заполнителя в текстовом поле. Используйте диалоговое окно Свойства табликса — Фильтры. | =Join(Parameters!MyMultivalueParameter.Value,", ") |
Указать разрывы страниц через каждые 20 строк в табликсе, не содержащем других групп. | Выражение группы для группы в табликсе. Используйте диалоговое окно Свойства группы табликса — Разрывы страниц. Установите параметр Между всеми экземплярами группы. | =Ceiling(RowNumber(Nothing)/20) |
Задать условную видимость в зависимости от значения параметра. | Скрытое свойство для табликса. Используйте диалоговое окно Свойства табликса — Видимость. | =Not Parameters!< логический параметр >.Value |
Задать форматирование данных для определенной культуры. | Значение для заполнителя в текстовом поле, расположенном в области данных. Используйте диалоговое окно Свойства текстового поля — Общие. | =Fields!OrderDate.Value.ToString(System.Globalization.CultureInfo.CreateSpecificCulture("de-DE")) |
Объединить строку с числом в формате процента с двумя десятичными разрядами. | Значение для заполнителя в текстовом поле, расположенном в области данных. Используйте диалоговое окно Свойства текстового поля — Общие. | ="Growth Percent: " & Format(Fields!Growth.Value,"p2") |
Связанный контент
- Выражения (построитель отчетов и службы SSRS)
- Примеры выражений (построитель отчетов и службы SSRS)
- Параметры отчета (построитель отчетов и конструктор отчетов)
- Примеры уравнений фильтра (построитель отчетов и службы SSRS)
- Фильтрация, группировка и сортировка данных (построитель отчетов и службы SSRS)
- Верхние и нижние колонтитулы страниц (построитель отчетов и службы SSRS)
- Форматирование текста и заполнителей (построитель отчетов и службы SSRS)
- Скрытие элемента (построитель отчетов и службы SSRS)