Использование выражений (построитель отчетов 2.0)
В службах Reporting Services выражения используются в определении отчета повсеместно для указания или вычисления значений параметров, запросов, свойств элементов отчета, определений групп и сортировки, свойств текстовых полей, закладок, схем документов, динамического содержимого заголовков и нижних колонтитулов страниц, изображений и динамических определений источников данных. В данном разделе приводится множество примеров использования выражений для внесения разнообразия в содержимое или внешний вид отчета. Этот список не является исчерпывающим. Выражение можно задать для любого свойства с помощью диалогового окна, в котором присутствует кнопка выражения (fx) или раскрывающийся список с пунктом <Выражение...>.
Выражения бывают простыми и составными. Простое выражение содержит ссылку на одно поле набора данных, параметр или встроенное поле. Сложные выражения могут содержать несколько встроенных ссылок, операторов и вызовов функций. Например, сложное выражение может включать функцию Sum, применяемую к полю Sales.
Выражения создаются на языке MicrosoftVisual Basic. Выражение начинается со знака равенства (=), за которым следует сочетание ссылок на встроенные коллекции, например: поля набора данных, параметры, константы, операторы и функции.
Использование простых выражений
Простые выражения в области конструктора и в диалоговых окнах заключены в скобки; например, поле набора данных имеет вид [ProductID]. Простые выражения создаются системой автоматически, при перетаскивании поля из набора данных в текстовое поле. Создается местозаполнитель, и выражение определяет содержащееся в нем значение. Выражения можно также вводить непосредственно в текстовое поле или ячейку области данных, в области конструктора или диалоговом окне (например, [ProductID]).
В следующей таблице приведены примеры использования простых выражений. В таблице описана функциональность, задаваемое свойство, диалоговое окно, в котором оно обычно задается, и значение свойства. Простые выражения можно вводить непосредственно в области конструктора, в диалоговом окне или на панели свойств, а также, как любые другие выражения, изменять в диалоговом окне «Выражение».
Функциональность |
Свойство, контекст и диалоговое окно |
Значение свойства |
---|---|---|
Задать поле набора данных для отображения в текстовом поле. |
Свойство Value для местозаполнителя в текстовом поле. Используйте Диалоговое окно «Свойства местозаполнителя» — «Общие» (построитель отчетов 2.0). |
[Sales] |
Статистические значения для группы. |
Свойство Value для местозаполнителя в строке, связанной с группой табликса. Используйте Диалоговое окно «Свойства текстового поля» — «Общие» (построитель отчетов 2.0). |
[Sum(Sales)] |
Включить номер страницы. |
Свойство Value для местозаполнителя в текстовом поле, помещаемом в верхний колонтитул страницы. Используйте Диалоговое окно «Свойства текстового поля» — «Общие» (построитель отчетов 2.0). |
[&PageNumber] |
Отобразить значение выбранного параметра. |
Свойство Value для местозаполнителя в текстовом поле в области конструктора. Используйте Диалоговое окно «Свойства текстового поля» — «Общие» (построитель отчетов 2.0). |
[@SalesThreshold] |
Указать определение группы для области данных. |
Выражение группы для группы табликса. С помощью Диалоговое окно «Свойства группы табликса» — «Общие» (построитель отчетов 2.0). |
[Category] |
Исключить из таблицы значение конкретного поля. |
Уравнение фильтра для табликса. С помощью Диалоговое окно «Свойства табликса» — «Фильтры» (построитель отчетов 2.0). |
Выберите тип данных Integer. [Quantity] > 100 |
Включить только конкретное значение для фильтра группирования. |
Уравнение фильтра для группы табликса. С помощью Диалоговое окно «Свойства группы табликса» — «Фильтры» (построитель отчетов 2.0). |
[Category] = Clothing |
Исключить из набора данных конкретные значения нескольких полей. |
Уравнение фильтра для группы в табликсе. С помощью Диалоговое окно «Свойства табликса» — «Фильтры» (построитель отчетов 2.0). |
=[Color] <> Red =[Color] <> Blue |
Указать порядок сортировки по существующему полю таблицы. |
Выражение сортировки для табликса. С помощью Диалоговое окно «Свойства табликса» — «Сортировка» (построитель отчетов 2.0). |
[SizeSortOrder] |
Связать параметр запроса с параметром отчета. |
Коллекция параметров набора данных. С помощью Диалоговое окно «Свойства набора данных» — «Параметры» (построитель отчетов 2.0). |
[@Category] [@Category] |
Передать параметр из родительского отчета во вложенный. |
Коллекция параметров вложенного отчета. С помощью Диалоговое окно «Свойства вложенного отчета» — «Параметры» (построитель отчетов 2.0). |
[@Category] [@Category] |
Дополнительные примеры см. в разделе Примеры выражений (построитель отчетов 2.0).
Использование сложных выражений
Сложные выражения содержат несколько ссылок на встроенные объекты, операторов и вызовов функций. Они выводятся в области конструктора в следующем виде: <<Expr>>. Чтобы просмотреть или изменить текст выражения, нужно открыть диалоговое окно Выражение или ввести выражение непосредственно в области свойств. В приведенной ниже таблице описаны типичные примеры применения сложных выражений для вывода или организации данных и для изменения внешнего вида отчета. Указаны задаваемое свойство, диалоговое окно, в котором оно обычно задается, и значение свойства. Выражение можно ввести непосредственно в диалоговом окне, в области конструктора или в области свойств.
Функциональность |
Свойство, контекст и диалоговое окно |
Значение свойства |
---|---|---|
Статистические вычисления значений в наборе данных. |
Свойство Value для местозаполнителя в текстовом поле. Используйте Диалоговое окно «Свойства местозаполнителя» — «Общие» (построитель отчетов 2.0). |
=First(Fields!Sales.Value,"DataSet1") |
Объединить текст и выражения в одном текстовом поле. |
Свойство Value для местозаполнителя в текстовом поле, помещаемом в верхний или нижний колонтитул страницы. Используйте Диалоговое окно «Свойства табликса» — «Фильтры» (построитель отчетов 2.0). |
="This report began processing at " & Globals!ExecutionTime |
Вычислить статистические значения в наборе данных для другой области. |
Свойство Value для местозаполнителя в текстовом поле, помещаемом в группу табликса. Используйте Диалоговое окно «Свойства табликса» — «Фильтры» (построитель отчетов 2.0). |
=Max(Fields!Total.Value,"DataSet2) |
Форматировать данные в текстовом поле в зависимости от значения. |
Свойство Color для местозаполнителя в текстовом поле, помещаемом в строку детализации для табликса. Используйте Диалоговое окно «Свойства текстового поля» — «Шрифт» (построитель отчетов 2.0). |
=IIF(Fields!TotalDue.Value < 10000,"Red","Black") |
Вычислить значение один раз для использования в любом месте отчета. |
Свойство Value для переменной отчета. Используйте Диалоговое окно «Свойства отчета» — «Переменные» (построитель отчетов 2.0). Дополнительные сведения о переменных см. в разделе Использование ссылок на коллекции переменных отчета и групповых переменных в выражениях (построитель отчетов 2.0). |
=Variables!MyCalculation.Value |
Включить конкретные значения нескольких полей из набора данных. |
Уравнение фильтра для группы в табликсе. Используйте Диалоговое окно «Свойства табликса» — «Фильтры» (построитель отчетов 2.0). |
Выберите тип данных Boolean. =IIF(InStr(Fields!Subcat.Value,"Shorts")=0 AND (Fields!Size.Value="M" OR Fields!Size.Value="S"),TRUE, FALSE) = TRUE |
Скрыть текстовое поле в области конструктора, переключая его видимость с помощью параметра логического типа с именем Show. |
Hidden, свойство текстового поля. Используйте Диалоговое окно «Свойства текстового поля» — «Видимость» (построитель отчетов 2.0). |
=Not Parameters!Show<boolean parameter>.Value |
Динамически задать содержимое верхнего или нижнего колонтитулов страницы. |
Свойство Value для местозаполнителя в текстовом поле, помещаемом в верхний или нижний колонтитул страницы. Используйте Диалоговое окно «Свойства табликса» — «Фильтры» (построитель отчетов 2.0). |
="Page " & Globals!PageNumber & " of " & Globals!TotalPages |
Динамически задать источник данных с помощью параметра. |
Строка соединения источника данных. Используйте Диалоговое окно «Свойства источника данных» — «Общие» (построитель отчетов 2.0). |
="Data Source=" & Parameters!ServerName.Value & ";initial catalog=AdventureWorks" |
Задать все значения для многозначного параметра, выбранного пользователем. |
Свойство Value для местозаполнителя в текстовом поле. Используйте Диалоговое окно «Свойства табликса» — «Фильтры» (построитель отчетов 2.0). |
=Join(Parameters!MyMultivalueParameter.Value,", ") |
Укажите разрывы страниц через каждые 20 строк в табликсе, не содержащем других групп. |
Выражение группы для группы в табликсе. Используйте Диалоговое окно «Свойства группы табликса» — «Общие» (построитель отчетов 2.0). Свойство PageBreak для группы в табликсе. Используйте Диалоговое окно «Свойства группы табликса» — «Разрывы страниц» (построитель отчетов 2.0). Установите флажок Между всеми экземплярами группы. |
=Ceiling(RowNumber(Nothing)/20) |
Указать условную видимость в зависимости от значения параметра. |
Свойство Hidden для табликса. Используйте Диалоговое окно «Свойства табликса» — «Видимость» (построитель отчетов 2.0). |
=Not Parameters!<boolean parameter>.Value |
Указать форматирование данных для определенной культуры. |
Свойство Value для местозаполнителя в текстовом поле, которое находится в области данных. Используйте Диалоговое окно «Свойства текстового поля» — «Общие» (построитель отчетов 2.0). |
=Fields!OrderDate.Value.ToString(System.Globalization.CultureInfo.CreateSpecificCulture("de-DE")) |
Объединяет строку с числом в формате процента с двумя десятичными разрядами. |
Свойство Value для местозаполнителя в текстовом поле, которое находится в области данных. Используйте Диалоговое окно «Свойства текстового поля» — «Общие» (построитель отчетов 2.0). |
="Growth Percent: " & Format(Fields!Growth.Value,"p2") |
Дополнительные примеры см. в разделе Примеры выражений (построитель отчетов 2.0).
См. также