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

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

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

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

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

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

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

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

Использование сложных выражений

См. также

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

Простые выражения в области конструктора и в диалоговых окнах заключены в скобки; например, поле набора данных имеет вид [ProductID]. Простые выражения создаются системой автоматически, при перетаскивании поля из набора данных в текстовое поле. Создается заполнитель, и выражение определяет содержащееся в нем значение. Выражения можно также вводить непосредственно в текстовое поле или ячейку области данных, в области конструктора или диалоговом окне (например, [ProductID]).

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

Функциональность

Свойство, контекст и диалоговое окно

Значение свойства

Задать поле набора данных для отображения в текстовом поле.

Свойство Value для заполнителя в текстовом поле. Используйте диалоговое окно Свойства заполнителя — Общие.

[Sales]

Агрегатные значения для группы.

Свойство Value для заполнителя в строке, связанной с группой табликса. Используйте диалоговое окно Свойства текстового поля.

[Sum(Sales)]

Включить номер страницы.

Свойство Value для заполнителя в текстовом поле, расположенном в верхнем колонтитуле страницы. Используйте диалоговое окно Свойства текстового поля — Общие.

[&PageNumber]

Отобразить значение выбранного параметра.

Свойство Value для заполнителя в текстовом поле в области конструктора. Используйте диалоговое окно Свойства текстового поля — Общие.

[@SalesThreshold]

Задать определение группы для области данных.

Выражение группы для группы табликса. Используйте диалоговое окно Свойства группы табликса — Общие.

[Category]

Исключить из таблицы значение конкретного поля.

Уравнение фильтра для табликса. Используйте диалоговое окно Свойства табликса — Фильтры.

В качестве типа данных выберите Integer.

[Quantity]

>

100

Включить только конкретное значение для фильтра группирования.

Уравнение фильтра для группы табликса. Используйте диалоговое окно Свойства группы табликса — Фильтры.

[Category]

=

Clothing

Исключить из набора данных конкретные значения нескольких полей.

Уравнение фильтра для группы в табликсе. Используйте диалоговое окно Свойства табликса — фильтры.

=[Color]

<>

Red

=[Color]

<>

Blue

Задать порядок сортировки по существующему полю таблицы.

Выражение сортировки для табликса. Используйте диалоговое окно Свойства табликса — Сортировка.

[SizeSortOrder]

Связать параметр запроса с параметром отчета.

Коллекция параметров набора данных. Используйте диалоговое окно Свойства набора данных — Параметры.

[@Category]

[@Category]

Передать параметр из родительского отчета во вложенный.

Коллекция параметров вложенного отчета. Используйте диалоговое окно Свойства вложенного отчета — Параметры.

[@Category]

[@Category]

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

Использование сложных выражений

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

Функциональность

Свойство, контекст и диалоговое окно

Значение свойства

Агрегатные вычисления значений в наборе данных.

Свойство Value для заполнителя в текстовом поле. Используйте диалоговое окно Свойства заполнителя — Общие.

=First(Fields!Sales.Value,"DataSet1")

Объединить текст и выражения в одном текстовом поле.

Свойство Value для заполнителя в текстовом поле, расположенном в верхнем или нижнем колонтитуле страницы. Используйте диалоговое окно Свойства заполнителя — Общие.

="This report began processing at " & Globals!ExecutionTime

Агрегатные вычисления значений в наборе данных для другой области действия.

Свойство Value для заполнителя в текстовом поле, помещаемом в группу табликса. Используйте диалоговое окно Свойства заполнителя — Общие.

=Max(Fields!Total.Value,"DataSet2)

Форматировать данные в текстовом поле в зависимости от их значения.

Свойство Color для заполнителя в текстовом поле, помещаемом в строку детализации для табликса. Используйте диалоговое окно Свойства текстового поля — Шрифт.

=IIF(Fields!TotalDue.Value < 10000,"Red","Black")

Вычислить значение один раз для использования в любом месте отчета.

Свойство Value для переменной отчета. Используйте диалоговое окно Свойства отчета — Переменные.

=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.

Hidden , свойство текстового поля. Используйте диалоговое окно Свойства текстового поля — Видимость.

=Not Parameters!Show<boolean parameter>.Value

Динамически задать содержимое верхнего или нижнего колонтитулов страницы.

Свойство Value для заполнителя в текстовом поле, расположенном в верхнем или нижнем колонтитуле страницы.

="Page " & Globals!PageNumber & " of " & Globals!TotalPages

Динамически задать источник данных с помощью параметра.

Строка соединения источника данных. Используйте диалоговое окно Свойства источника данных — Общие.

="Data Source=" & Parameters!ServerName.Value & ";initial catalog=AdventureWorks2008R2"

Задать все значения для многозначного параметра, выбранного пользователем.

Свойство Value для заполнителя в текстовом поле. Используйте диалоговое окно Свойства табликса — Фильтры.

=Join(Parameters!MyMultivalueParameter.Value,", ")

Указать разрывы страниц через каждые 20 строк в табликсе, не содержащем других групп.

Выражение группы для группы в табликсе. Используйте диалоговое окно Свойства группы табликса — Разрывы страниц. Установите параметр Между всеми экземплярами группы.

=Ceiling(RowNumber(Nothing)/20)

Задать условную видимость в зависимости от значения параметра.

Свойство Hidden для табликса. Используйте диалоговое окно Свойства табликса — Видимость.

=Not Parameters!<boolean parameter>.Value

Задать форматирование данных для определенной культуры.

Свойство Value для заполнителя в текстовом поле, расположенном в области данных. Используйте диалоговое окно Свойства текстового поля — Общие.

=Fields!OrderDate.Value.ToString(System.Globalization.CultureInfo.CreateSpecificCulture("de-DE"))

Объединить строку с числом в формате процента с двумя десятичными разрядами.

Свойство Value для заполнителя в текстовом поле, расположенном в области данных. Используйте диалоговое окно Свойства текстового поля — общие.

="Growth Percent: " & Format(Fields!Growth.Value,"p2")

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

См. также

Задания

Справочник

Основные понятия