Specifications
Layout Control CHAPTER 9 173
Last, consider how you can use the PageName property. As one example, instead of using
page numbers in an Excel workbook, you can assign a unique name to each sheet in the
workbook. You might, for example, use the group expression that denes the page break as
the PageName property. When the report renders as an Excel workbook, Reporting Services
uses the page break denition to separate the CalendarYear groups into different sheets of
the same workbook and uses the PageName expression to assign the group instance’s value
to the applicable sheet.
As another example, you can assign an expression to the PageName property of a rect-
angle, data region, group, or map. You can then reference the current value of this prop-
erty in the page header or footer by using Globals!PageName in the expression. The value
of Globals!PageName is rst set to the value of the InitialPageName report property when
report processing begins and then resets as each report item processes if you have assigned
an expression to the report item’s PageName property.
Data Synchronization
One of the great features of Reporting Services is its ability to create groups of groups by
nesting one type of report item inside another type of report item. In Figure 9-8, a list that
groups by category and year contains a matrix that groups by month. Notice that the months
in each list group do not line up properly because data does not exist for the rst six months
of the year for the Accessories 2005 group. Each monthly group displays independently of
other monthly groups in the report.
FIGURE 9-8 Unsynchronized groups
A new property, DomainScope, is available in SQL Server 2008 R2 Reporting Services to x
this problem. This property applies to a group and can be used within the tablix data region,
as shown in Figure 9-9, or in charts and other data visualizations whenever you need to ll gaps
in data across multiple instances of the same grouping. You simply set the property value to
the name of the data region that contains the group. In this example, the MonthName group’s
DomainScope property is set to Tablix1, which is the name assigned to the list. Each instance of
the list’s group—category and year—renders an identical set of values for MonthName.