Выражения в отчете с разбивкой на страницы (построитель отчетов)

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

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

Многие свойства элементов отчета могут быть заданы в виде выражений. С помощью выражений можно управлять содержимым, внешним видом и интерактивными возможностями отчета. Выражения записываются в Microsoft Visual Basic, сохраняются в определении отчета и оцениваются обработчиком отчетов при запуске отчета.

В отличие от приложений, таких как Microsoft Office Excel, где вы работаете с данными непосредственно на листе, в отчете вы работаете с выражениями, которые являются заполнителями для данных. Чтобы просмотреть фактические данные из вычисленных выражений, необходимо просмотреть отчет. При запуске отчета обработчик отчета вычисляет каждое выражение, объединяя данные отчета и элементы макета отчета, такие как таблицы и диаграммы.

При конструировании отчета многие выражения для элементов отчета будут уже заданы. Например, если перетащить поле с панели данных в ячейку таблицы в области конструктора отчета, в качестве значения текстового поля будет задано простое выражение для поля. На следующем рисунке область данных отчета отображает такие поля наборов данных, как ID, Name, SalesTerritory, Code и Sales. В таблицу добавлено три поля: [Name], [Code] и [Sales]. Обозначение [Name] в области конструктора представляет базовое выражение =Fields!Name.Value.

rs_DataDesignandPreview

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

Чтобы ввести выражения вручную, выберите элемент в области конструктора и с помощью контекстных меню и диалоговых окон задайте свойства этого элемента. Если присутствует кнопка (fx) или значение <Expression> в раскрывающемся списке, то для свойства можно задать выражение. Дополнительные сведения см. в разделе Добавление выражения (построитель отчетов и службы SSRS).

Для разработки сложных выражений или выражений, использующих пользовательский код или пользовательские сборки, рекомендуется использовать конструктор отчетов среды SQL Server Data Tools (SSDT). Дополнительные сведения см. в разделе Пользовательский код и ссылки на сборки в выражениях в конструкторе отчетов (службы SSRS).

Примечание.

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

Основные сведения о простых и сложных выражениях

Выражения начинаются с знака равенства (=) и записываются в Microsoft Visual Basic. Они могут включать сочетание констант, операторов и ссылок на встроенные значения (поля, коллекции и функции), а также на внешний и пользовательский код.

Выражения можно использовать, чтобы задавать значения различных свойств элементов отчета. Самыми распространенными свойствами являются значения для текстовых полей и текста заполнителя. Как правило, если текстовое поле содержит только одно выражение, это выражение является значением для свойства текстового поля. Если текстовое поле содержит несколько выражений, каждое выражение является значением текста заполнителя в текстовом поле.

По умолчанию выражения отображаются в области конструктора отчетов в виде простых или сложных выражений.

  • Простое. Простое выражение содержит ссылку на единственный элемент во встроенной коллекции, например поле набора данных, параметр или встроенное поле. В области конструктора простое выражение отображается в скобках. Например, [FieldName] соответствует базовому выражению =Fields!FieldName.Value. Простые выражения создаются автоматически по мере создания макета отчета и перетаскивания элементов из панели данных отчета на панель конструктора. Дополнительные сведения о символах, представляющих различные встроенные коллекции, см. в разделе Основные сведения о символах префиксов в простых выражениях.

  • Сложные. Сложные выражения содержат ссылки на несколько встроенных ссылок, операторов и вызовов функций. Сложное выражение отображается как <<Выраж>>, если значение выражения включает больше, чем простую ссылку. Для просмотра выражения наведите на него курсор и воспользуйтесь подсказкой. Чтобы изменить выражение, откройте его в диалоговом окне Выражение .

На следующем рисунке показаны типичные простые и сложные выражения как для текстовых полей, так и для текста заполнителя.

rs_ExpressionDefaultFormat

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

rs_ExpressionSampleValuesFormat

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

Основные сведения о символах префиксов в простых выражениях

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

Товар Пример отображаемого текста Пример текста выражения
Поля набора данных [Sales]

[SUM(Sales)]

[FIRST(Store)]
=Fields!Sales.Value

=Sum(Fields!Sales.Value)

=First(Fields!Store.Value)
Параметры отчета [@Param]

[@Param.Label]
=Parameters!Param.Value

=Parameters!Param.Label
Встроенные поля [&ReportName] =Globals!ReportName.Value
Литеральные символы для отображения текста \[Sales\] [Sales]

Написание сложных выражений

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

Примечание.

Для разработки сложных выражений или выражений, использующих пользовательский код или пользовательские сборки, рекомендуется использовать конструктор отчетов в SQL Server SQL Server Data Tools (SSDT). Дополнительные сведения см. в разделе Пользовательский код и ссылки на сборки в выражениях в конструкторе отчетов (службы SSRS).

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

Ссылки Description Пример
Константы Описывает константы для свойств, требующих постоянных значений, таких как цвет шрифта; к этим константам можно получить доступ в диалоговом режиме. ="Blue"
Операторы Описывает операторы, которые можно использовать для объединения ссылок в выражении. Например, оператор & используется для объединения строк. ="The report ran at: " & Globals!ExecutionTime & "."
Встроенные коллекции Описывает встроенные коллекции, которые можно включить в выражение, например Fields, Parametersи Variables. =Fields!Sales.Value

=Parameters!Store.Value

=Variables!MyCalculation.Value
Встроенные функции отчета и агрегатные функции Описывает встроенные функции, такие как Sum и Previous, к которым можно получить доступ из выражения. =Previous(Sum(Fields!Sales.Value))
Пользовательские ссылки на код и сборки в выражениях в конструктор отчетов (SSRS) Описывает, как получить доступ к встроенным классам CLR и Convertдругим классам Math СРЕДЫ CLR, функциям библиотеки времени выполнения Visual Basic или методам из внешней сборки.

Описывает, как получить доступ к пользовательскому коду, внедренному в отчет или скомпилированному и установленному в виде пользовательской сборки на клиент отчета и сервер отчетов.
=Sum(Fields!Sales.Value)

=CDate(Fields!SalesDate.Value)

=DateAdd("d",3,Fields!BirthDate.Value)

=Code.ToUSD(Fields!StandardCost.Value)

Проверка выражений

При создании выражения для определенного свойства элемента отчета типы ссылок, которые могут быть включены в выражение, зависят от значений, которые может принимать свойство элемента отчета, и от области, в которой это свойство вычисляется. Например:

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

  • Применительно к значению свойства Font это значение должно представлять название шрифта.

  • Синтаксис выражения проверяется во время разработки. При публикации отчета происходит проверка области выражения. При проверке, зависящей от фактических данных, ошибки могут быть выявлены только в ходе выполнения. Некоторые из этих выражений выдают #Error в качестве сообщения об ошибке в подготовленном отчете. Чтобы определить причины для этого типа ошибки, необходимо воспользоваться конструктором отчетов в среде SQL Server Data Tools (SSDT). В конструкторе отчетов отображается окно вывода, содержащее дополнительные сведения об этих ошибках.

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

В этом разделе

Добавление выражения (построитель отчетов и SSRS)

Использование выражений в отчетах (построитель отчетов и SSRS)

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

Справочник по выражению (построитель отчетов и службы SSRS)

См. также

Дополнительные сведения и примеры см. в следующих разделах: