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

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

Переменные отчета

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

Чтобы добавить переменную отчета, следует открыть диалоговое окно Свойства отчета, выбрать пункт Переменные и ввести имя и значение. Значение переменной отчета задается один раз и остается неизменным в процессе обработки отчета.

Для ссылки на переменную в выражении используется синтаксис глобальной коллекции, например =Variables!CustomTimeStamp.Value. В области конструктора значение появляется в текстовом поле в виде <<Expr>>.

Групповые переменные

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

Например, предположим, что область данных отображает складские запасы элементов, находящихся в различных налоговых категориях, и требуется установить налоговые ставки для каждой категории. Затем следует сгруппировать данные в категории и определить переменную Tax в родительской группе. Потом необходимо определить групповую переменную для параметра ItemTax для каждой налоговой категории и назначить для каждой из отдельных подгрупп категории требуемую групповую переменную. Далее следует пример.

  • Для родительской группы, основанной на [Category], следует определить переменную Tax со значением [Tax]. Предположим, что значениями категории являются пищевые продукты и одежда.

  • Для дочерней группы, основанной на [Subcategory], следует определить переменную ItemsTax как =Variables!Tax.Value * Sum(Fields!Price.Value). Предположим, что значениями подкатегории для категории «Пищевые продукты» являются напитки и хлеб. Предположим, что значениями подкатегории «Одежда» являются рубашки и шляпы.

  • В текстовом поле в строке дочерней группы следует добавить выражение =Variables!ItemsTax.Value.

    В текстовом поле отображается полная сумма налога для напитков и хлеба при помощи налога «Пищевые продукты» и для рубашек и шляп — при помощи налога «Одежда».

Чтобы добавить групповую переменную, следует открыть диалоговое окно Свойства группы табликса, выбрать пункт Переменные и ввести имя и значение. Групповая переменная вычисляется один раз для уникального значения группы.

Для ссылки на переменную в выражении используется синтаксис глобальной коллекции, например =Variables!GroupDescription.Value. В области конструктора значение появляется в текстовом поле в виде <<Expr>>.

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

См. также

Справочник

Применение встроенных коллекций в выражениях (службы Reporting Services)

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

Группирование данных в области данных