Использование ссылок на коллекции переменных отчета и групповых переменных в выражениях (построитель отчетов 2.0)
Для сложного вычисления, которое используется больше одного раза в выражениях отчета, можно создать переменную. Можно создать переменную отчета или переменную группы. Переменная отчета задается один раз и может использоваться во всех выражениях отчета. Групповая переменная задается один раз для каждого уникального значения группы и может использоваться в выражениях текущего уровня или ниже в иерархии группы.
Переменные отчета
Переменная отчета используется для хранения значения зависимых от времени вычислений, например курсов валют или временных меток, либо для сложного вычисления, выполняемого один раз. Вследствие того, что выражения в текстовых полях вычисляются по требованию при просмотре отчета пользователем, динамические значения (например, выражение, включающее функцию Now(), возвращающую время суток) могут возвращать различные значения при просмотре страницы, просмотре следующей страницы и возврате к первой странице при помощи кнопки Назад. Путем задания значения переменной отчета для выражения =Now() и добавления переменной в выражение гарантируется использование одного и того же значения при обработке отчета. На переменную отчета можно сослаться в любом выражении отчета.
Чтобы добавить переменную отчета, следует открыть диалоговое окно Свойстваотчета, выбрать пункт Переменные и ввести имя и значение. Значение переменной отчета задается один раз и остается неизменным в процессе обработки отчета.
Для ссылки на переменную в выражении используется синтаксис глобальной коллекции, например =Variables!CustomTimeStamp.Value. В области конструктора значение появляется в текстовом поле в виде <<Expr>>.
Групповые переменные
Групповые переменные используются для вычисления значения в области группы. Групповая переменная действительна только в области группы и ее дочерних групп.
Например, предположим, что область данных отображает складские запасы элементов, находящихся в различных налоговых категориях, и требуется установить налоговые ставки для каждой категории. Следует сгруппировать данные по категориям Category и определить переменную Tax в родительской группе. Потом необходимо определить групповую переменную для параметра ItemTax для каждой налоговой категории и назначить для каждой из отдельных подгрупп категории Category требуемую групповую переменную. Например:
Для родительской группы, основанной на [Category], следует определить переменную Tax со значением [Tax]. Предположим, что значениями категории являются пищевые продукты и одежда.
Для дочерней группы, основанной на [Subcategory], следует определить переменную ItemsTax как =Variables!Tax.Value * Sum(Fields!Price.Value). Предположим, что значениями подкатегории для категории «Пищевые продукты» являются напитки и хлеб. Предположим, что значениями подкатегории «Одежда» являются рубашки и шляпы.
В текстовом поле в строке дочерней группы следует добавить выражение =Variables!ItemsTax.Value.
В текстовом поле отображается полная сумма налога для напитков и хлеба при помощи налога «Пищевые продукты» и для рубашек и шляп — при помощи налога «Одежда».
Чтобы добавить групповую переменную, следует открыть диалоговое окно Свойства группы табликса, выбрать пункт Переменные и ввести имя и значение. Групповая переменная вычисляется один раз для уникального значения группы.
Для ссылки на переменную в выражении используется синтаксис глобальной коллекции, например =Variables!GroupDescription.Value. В области конструктора значение появляется в текстовом поле в виде <<Expr>>.
См. также