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


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

Выражения часто используются в отчетах для получения, вычисления, отображения, группирования, сортировки, параметризации и форматирования данных. Многие свойства элементов отчета могут быть заданы в виде выражений. С помощью выражений можно управлять содержимым, внешним видом и интерактивными возможностями отчета. Выражения пишутся на языке MicrosoftVisual 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).

ПримечаниеПримечание

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

В данной статье

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

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

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

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

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

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

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

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

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

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

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

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

rs_ExpressionDefaultFormat

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

rs_ExpressionSampleValuesFormat

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

Значок стрелки, используемый со ссылкой «В начало»В начало

Формулы моделей отчетов

При создании запроса для получения набора данных, в котором в качестве источника данных используется модель отчета, можно создать формулы. Формулы — это вычисления, производимые над значениями в отчете, основанные на данных модели отчета.

Дополнительные сведения см. в разделе Формулы в запросах модели отчета (построитель отчетов и службы 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 ServerSQL Server Data Tools (SSDT). Дополнительные сведения см. в разделе Пользовательский код и ссылок на сборки в выражениях в конструкторе отчетов (службы SSRS).

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

Ссылки

Описание

Пример

Константы

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

="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 из пространства имен Math и Convert, другим классам среды 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)

Значок стрелки, используемый со ссылкой «В начало»В начало

См. также

Справочник

Диалоговое окно «Выражение»

Диалоговое окно «Выражение» (построитель отчетов)