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

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

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

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

Представление конструктора: данные отчета и макет; панель просмотра

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

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

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

Для разработки сложных выражений или выражений, использующих пользовательский код или пользовательские сборки, рекомендуется использовать конструктор отчетов среды Business Intelligence Development Studio. Дополнительные сведения см. в разделе Ссылки на пользовательский код и сборки в выражениях в конструкторе отчетов (службы SSRS).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Отображение формата по умолчанию в области конструктора отчетов

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

Отображение формата образцов значений в области конструктора отчетов

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

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

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

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

Дополнительные сведения см. в разделе Использование формул в запросах моделей отчетов (построитель отчетов версии 3.0 и службы 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 Business Intelligence Development Studio. Дополнительные сведения см. в разделе Ссылки на пользовательский код и сборки в выражениях в конструкторе отчетов (службы 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] вычисляет сумму данных, находящихся в области в момент вычисления выражения. Для табличной ячейки область зависит от членства групп строк и столбцов. Дополнительные сведения см. в разделе Общие сведения об области выражений для суммирования, агрегатных функций и встроенных коллекций (построитель отчетов версии 3.0 и службы SSRS).

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

  • Синтаксис выражения проверяется во время разработки. При публикации отчета происходит проверка области выражения. При проверке, зависящей от фактических данных, ошибки могут быть выявлены только в ходе выполнения. Некоторые из этих выражений выдают #Error в качестве сообщения об ошибке в подготовленном отчете. Чтобы определить причины для этого типа ошибки, необходимо воспользоваться конструктором отчетов в среде Business Intelligence Development Studio. В конструкторе отчетов отображается окно вывода, содержащее дополнительные сведения об этих ошибках.

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

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