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


Использование выражений (службы Reporting Services)

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

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

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

Простое выражение содержит ссылку на одно поле набора данных, параметр или встроенное поле. Простые выражения в области конструктора и в диалоговых окнах заключены в скобки; например, поле набора данных имеет вид [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]

Дополнительные примеры см. в разделе Примеры выражений (службы Reporting Services).

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

Сложные выражения содержат несколько ссылок на встроенные объекты, операторы и вызовы функций. Они выводятся в области конструктора в следующем виде: <<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 для переменной отчета. Используйте Диалоговое окно «Свойства отчета» — «Переменные».

Дополнительные сведения о переменных см. в разделе Использование ссылок на коллекции переменных отчета и групповых переменных в выражениях (службы Reporting Services).

=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=AdventureWorks"

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

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

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

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

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

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

=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")

Дополнительные примеры см. в разделе Примеры выражений (службы Reporting Services).