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


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

Добавления: 17 июля 2006 г.

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

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

Параметры отчета могут относиться к одному из следующих типов: Boolean, DateTime, Integer, Float или String. Параметры отчета могут быть однозначными и многозначными. Свойство многозначности можно установить для всех типов, за исключением логического. Многозначный параметр представляет собой массив значений, отсчитываемых от нуля. Дополнительные сведения о настройке свойств отчетов см. в разделе Создание параметров отчета и настройка свойств параметров отчета.

Однозначные параметры

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

Использование однозначного параметра в выражении

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

Пример Описание

=Parameters!<ParameterName>.IsMultiValue

Возвращает False.

Проверяет, является ли параметр многозначным. Если возвращено значение True, то параметр является многозначным и представляет собой коллекцию объектов. Если возвращено значение False, то параметр является однозначным и представляет собой один объект.

=Parameters!<ParameterName>.Count

Возвращает целочисленное значение 1. Для однозначного параметра счетчик всегда равен 1.

=Parameters!<ParameterName>.Label

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

=Parameters!<ParameterName>.Value

Возвращает значение параметра. Если свойство «Метка» не было задано, это значение появляется в раскрывающемся списке допустимых значений.

=CStr(Parameters! <ParameterName>.Value)

Возвращает значение параметра в виде строки.

=Fields(Parameters!<ParameterName>.Value).Value

Возвращает значение поля с таким же именем, как и у параметра.

Настройка фильтра с помощью однозначного параметра

Фильтры настраиваются с помощью вкладки Фильтр на страницах свойств наборов данных, областей данных и группирований данных. Критерий фильтра определяется путем ввода значений в сетку фильтра на вкладке Фильтр. В следующей таблице представлена сетка фильтра. В приведенных примерах предполагается, что значения для Fields!EmployeeID.Value и Parameters!EmployeeID.Value относятся к одному типу данных.

Критерий (фильтра) Оператор Значение И/или

= Fields!<FieldName>.Value

Любой оператор, сравнивающий одно значение с другим. Например:

=

>=

<

=Parameters!<ParameterName>.Value

Заранее установленное значение, которое включается, когда вводится более одного выражения.

Многозначные параметры

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

Использование многозначного параметра в выражении

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

Пример Описание

=Parameters!<MultivalueParameterName>.IsMultiValue

Возвращает значение True или False.

Проверяет, является ли параметр многозначным. Если возвращено значение True, то параметр является многозначным и представляет собой коллекцию объектов. Если возвращено значение False, то параметр является однозначным и представляет собой один объект.

=Parameters!<MultivalueParameterName>.Count

Возвращает целочисленное значение.

Относится к количеству значений. Для однозначных параметров счетчик всегда равен 1. Для многозначных параметров счетчик равен 0 или большему числу.

=Parameters!<MultivalueParameterName>.Value(0)

Возвращает первое значение многозначного параметра.

=Parameters!<MultivalueParameterName>.Value(Parameters!<MultivalueParameterName>.Count-1)

Возвращает последнее значение многозначного параметра.

=Split("Value1,Value2,Value3",",")

Возвращает массив значений.

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

=Join(Parameters!<MultivalueParameterName>.Value,", ")

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

Настройка фильтра с помощью многозначного параметра

Фильтры настраиваются с помощью вкладки Фильтр на страницах свойств наборов данных, областей данных и группирований данных. В приведенных примерах предполагается, что значения для Fields!EmployeeID.Value и Parameters!EmployeeID.Value относятся к одному типу данных. Многозначные параметры могут появляться только в столбце «Значение».

Выражение Оператор Значение И/или

= Fields!<FieldName>.Value

Оператор, который проверяет вхождение во множество. Единственным допустимым вариантом является: IN

=Parameters!<MultivalueParameterName>.Value

Заранее установленное значение, которое задается, когда вводится более одного выражения.

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

Можно ссылаться на коллекции глобальных параметров через пользовательский код в блоке «Код» определения отчета или в предоставляемой пользовательской сборке. Коллекция параметров допускает только чтение, и у нее нет общих итераторов. Нельзя воспользоваться конструкцией Visual Basic For Each для пошагового просмотра коллекции. Прежде чем сослаться на параметр из своего кода, необходимо узнать его имя, заданное в определении отчета. Однако можно организовать итерацию по всем значениям многозначного параметра. Дополнительные сведения см. в разделе Использование в выражениях ссылок на пользовательский код (службы Reporting Services).

Описание Ссылки в выражении Определение пользовательского кода

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

=Code.DisplayAParameterValue(Parameters)

Public Function DisplayAParameterValue(

ByVal parameters as Parameters) as Object

Return parameters("MyParameter").Value

End Function

Передача отдельных параметров в пользовательский код. Этот пример возвращает значение переданного параметра. Если этот параметр является многозначным, возвращаемая строка представляет собой сцепление всех значений.

=Code.ShowParametersValues(Parameters!DayOfTheWeek)

Public Function ShowParameterValues(ByVal parameter as Parameter)
 as String
   Dim s as String 
   If parameter.IsMultiValue then
      s = "Multivalue: " 
      For i as integer = 0 to parameter.Count-1
         s = s + CStr(parameter.Value(i)) + " " 
      Next
   Else
      s = "Single value: " + CStr(parameter.Value)
   End If
   Return s
End Function

См. также

Задачи

Как добавить, редактировать или удалить параметр отчета (конструктор отчетов)

Справочник

Примеры выражений в службах Reporting Services

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

Использование однозначных и многозначных параметров

Другие ресурсы

Using Custom Assemblies with Reports
Учебник. Добавление параметров в простой табличный отчет
Учебник. Дополнительные возможности использования параметров

Справка и поддержка

Получение помощи по SQL Server 2005