<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Luke Hayler - SQL Server Developer &#187; report layout</title>
	<atom:link href="http://lukehayler.com/tag/report-layout/feed/" rel="self" type="application/rss+xml" />
	<link>http://lukehayler.com</link>
	<description>A blog about Business Intelligence and other personal interests</description>
	<lastBuildDate>Tue, 13 Dec 2011 11:42:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Custom Visibility Toggling SSRS 2008</title>
		<link>http://lukehayler.com/2010/02/custom-visibility-toggling-ssrs-2008/</link>
		<comments>http://lukehayler.com/2010/02/custom-visibility-toggling-ssrs-2008/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 11:00:00 +0000</pubDate>
		<dc:creator>Luke Hayler</dc:creator>
				<category><![CDATA[Luke Hayler]]></category>
		<category><![CDATA[Reporting Services]]></category>
		<category><![CDATA[report design]]></category>
		<category><![CDATA[report formatting]]></category>
		<category><![CDATA[report layout]]></category>
		<category><![CDATA[sql server 2008]]></category>
		<category><![CDATA[SSRS]]></category>
		<category><![CDATA[SSRS 2008]]></category>

		<guid isPermaLink="false">http://www.lukehayler.com/2010/02/custom-visibility-toggling-ssrs-2008/</guid>
		<description><![CDATA[A while back I wrote a post about how to toggle the visibility of rows/columns in tables/matrices for SSRS 2005. In the comments of that article someone asked how this was done in SSRS 2008. The short answer was that &#8230; <a href="http://lukehayler.com/2010/02/custom-visibility-toggling-ssrs-2008/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A while back I wrote <a href="http://www.lukehayler.com/2009/07/custom-visibility-toggling-in-ssrs/" target="_blank">a post about how to toggle the visibility of rows/columns in tables/matrices for SSRS 2005</a>. In the comments of that article someone asked how this was done in SSRS 2008. The short answer was that the method is the same. However, setting all the properties can be confusing as their whereabouts is a little different. Hopefully this post will clear things up.</p>
<p>Let’s do this by way of example:</p>
<p>I created a project with a single report. The Data source is AdventureWorks2008 and we are looking at Total Sales figures by Year &amp; Month (keep it simple right?). I have set up a matrix object and added the required fields and set subtotals for Month &amp; Year. See Fig 1. below:</p>
<div id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:a1c7e7a5-d745-4bd8-aaec-d4842b51d68e" class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: none; padding: 0px;"><a title="Fig 1. The design surface with a Matrix Object" rel="thumbnail" href="http://lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_DesignSurface8x6.png"><img src="http://lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_DesignSurface.png" border="0" alt="" width="600" height="392" /></a></div>
<h6>Objective: Enable Toggling of the Month group, using the Year Group as the Toggle Item</h6>
<p>At this point I want to point out two key areas, as this is where we will be concentrating our efforts:</p>
<ol>
<li>The Row/Column Groups section at the bottom of the designer</li>
<li>The Visibility Properties at the bottom right corner (Last item in the Properties list &#8211; <em>but only when an object is selected</em>)</li>
</ol>
<p>Now, select the drop-down arrow for the <strong>Month</strong> Row group (See Fig 2.), choose <strong>Properties</strong> and then select the <strong>Visibility</strong> tab.</p>
<div id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:35a4a701-2301-498f-a113-dd12cc705a53" class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: none; padding: 0px;"><a title="Fig 2. Accessing the Row Group Properties" rel="thumbnail" href="http://lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_RowGroupProperties8x6.png"><img src="http://lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_RowGroupProperties.png" border="0" alt="" width="425" height="413" /></a></div>
<p>The objective is to enable toggling of the <strong>Month</strong> rows in the Matrix. We could choose to Show or Hide the <strong>Month</strong> rows when the report is initially run, or to make this decision based on an expression. Using an expression will determine which rows are expanded and which are collapsed when the report is run initially. I have chosen to use an expression:</p>
<blockquote><p>=IIF(Fields!YEAR.value=2001, False, True)</p></blockquote>
<p>This says that if the Year group value is ‘2001’ then show the Month Sales Total values (‘Expanded’), else Hide the Month Sales Total values (‘Collapsed’). See Fig 3. below:</p>
<div id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:15396b28-610f-4a51-a7d1-b7a0a1e9e5bc" class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: none; padding: 0px;"><a title="Fig. 3 The Month Group Visibility Properties" rel="thumbnail" href="http://lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_RowGroupProperties_VisibilityExpression8x6.png"><img src="http://lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_RowGroupProperties_VisibilityExpression.png" border="0" alt="" width="600" height="318" /></a></div>
<p>Also note (in Fig 3. above) that I have set the <strong>YEAR</strong> cell as the Toggle Item. We’ll configure this next.</p>
<p>Once you have set the above properties go back to the designer and highlight the <strong>YEAR</strong> cell in order to view its properties. These should be on the bottom right, otherwise right-click the cell to bring up the properties window. Find the <strong>Visibility</strong> &gt; <strong>InitialToggleState</strong> property and set it using the following Expression:</p>
<blockquote><p>=IIF(Fields!YEAR.Value = 2001, True, False)</p></blockquote>
<p>This says that if the Year group value is ‘2001’ then show the toggle icon as ‘Expanded’ (True), else show it as ‘Collapsed’ (False). This allows us to ensure that we are in sync with the expression we used to set the initial visibility of the Month rows. Fig 4. shows the end result of all this hard work:</p>
<div id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:755fb2c3-916d-4a9b-875a-5e2b327ddc2e" class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: none; padding: 0px;"><a title="Fig 4. Result!" rel="thumbnail" href="http://lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_result8x6.png"><img src="http://lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_result.png" border="0" alt="" width="381" height="424" /></a></div>
<div id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:ce9f2350-42e3-446e-a2b8-56356e803cb0" class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: right; padding: 0px;">
</div>
<h4></h4>
<h4>The Visibility Properties</h4>
<p><a title="TextBox Visibility Properties" rel="thumbnail" href="http://lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_VisibilityProperties8x6.png"><img class="alignright" style="border: 0px initial initial;" src="http://lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_VisibilityProperties.png" border="0" alt="" width="300" height="311" /></a></p>
<p>Understanding what each of the three visibility properties does will help to use them effectively.</p>
<p><strong>Hidden &#8211; </strong>Can be set to either ‘True’ or ‘False’. This can be done by selecting True or False from the drop down, or by using an expression to set either of those values after evaluating a condition. True equates to the object being hidden and False to the object being shown (tricky eh?).</p>
<p><strong>InitialToggleState</strong> &#8211; This is only applicable if the object that you have selected can toggle the visibility of other objects. It refers to the state of the toggle icon and can either be ‘Collapsed’ (‘+’) or ‘Expanded’ (‘-‘). As explained by way of example above, setting this to &#8216;’True’ sets the icon to the ‘Expanded’ state, and False to the ‘Collapsed’ state.</p>
<p><strong>ToggleItem</strong> &#8211; Use this property to set the object that will enable the user to toggle the visibility of another item. In the example above, I have chosen <strong>YEAR</strong> as my toggle item for the <strong>Month Group</strong>.</p>
<div id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:4d34549f-83cb-4e47-af5f-7f400f868789" class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: right; padding: 0px;"><a title="Fig 4. Oops" rel="thumbnail" href="http://lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_Oops8x6.png"><img src="http://lukehayler.com/wp-content/uploads/2010/02/InitialToggleState_SSRS2008_Oops.png" border="0" alt="" width="342" height="524" /></a></div>
<h4>Beware the Gremlins</h4>
<p>You need to be aware of setting properties for the right objects or groups, or you may find that your report does not display correctly:</p>
<p>Fig 4. shows what happens when you set the Visibility properties for the <strong>Month &amp; Data CELLS</strong> in the report instead of the <strong>Month Group</strong> properties. Setting the Month Group visibility properties means that you won’t get that nasty white space, and there’s no need to set the visibility of the cells (in this instance).</p>
<p>I have placed the example project in <a href="http://lukehayler.com/wp-content/uploads/2010/02/VisibilityTogglingSSRS2008.zip" target="_blank">a nice little zip file</a> for all you folks that might want such a thing.</p>
]]></content:encoded>
			<wfw:commentRss>http://lukehayler.com/2010/02/custom-visibility-toggling-ssrs-2008/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Designing SSRS Reports that are Optimized for Printing</title>
		<link>http://lukehayler.com/2009/07/designing-ssrs-reports-that-are-optimized-for-printing/</link>
		<comments>http://lukehayler.com/2009/07/designing-ssrs-reports-that-are-optimized-for-printing/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 14:30:23 +0000</pubDate>
		<dc:creator>Luke Hayler</dc:creator>
				<category><![CDATA[Luke Hayler]]></category>
		<category><![CDATA[Reporting Services]]></category>
		<category><![CDATA[formatting]]></category>
		<category><![CDATA[page breaks]]></category>
		<category><![CDATA[report layout]]></category>

		<guid isPermaLink="false">http://www.lukehayler.com/?p=63</guid>
		<description><![CDATA[Designing a report so that, when printed, is not spread across multiple pages is a matter of setting your page properties and laying out the report within the ‘page’ boundaries. Follow these simple steps to ensure that your runtime report &#8230; <a href="http://lukehayler.com/2009/07/designing-ssrs-reports-that-are-optimized-for-printing/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Designing a report so that, when printed, is not spread across multiple pages is a matter of setting your page properties and laying out the report within the ‘page’ boundaries. Follow these simple steps to ensure that your runtime report is always just right for printing. <em>Note – the examples below are settings for A4 printing</em>.</p>
<ol>
<li>With the design tab open, right-click the white space outside of the design area. This is raise the menu in Fig 1.
<p><div id="attachment_64" class="wp-caption aligncenter" style="width: 196px"><img class="size-full wp-image-64 " title="Fig 1. Selecting Page Properties" src="http://lukehayler.com/wp-content/uploads/2009/07/SSRS-Page-Layout-Fig-1.jpg" alt="Fig 1. Selecting Page Properties" width="186" height="116" /><p class="wp-caption-text">Fig 1. Selecting Page Properties</p></div></li>
<li>Choose <em>Properties</em></li>
<li>This will open the Report Properties dialog box. Choose <em>Layout</em> (Fig 2.)
<p><div id="attachment_65" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-65 " title="Fig 2. The Page Properties Dialog box" src="http://www.lukehayler.com/wp-content/uploads/2009/07/SSRS-Page-Layout-Fig-2-300x249.jpg" alt="Fig 2. The Page Properties Dialog box" width="300" height="249" /><p class="wp-caption-text">Fig 2. The Page Properties Dialog box</p></div></li>
<li>Default layout is portrait. Switch the Page Width &amp; Page Height values for Landscape mode.</li>
<li>If you want more real estate to work with on the page I suggest decreasing the margins to 0.5cm</li>
<li>Click OK.</li>
<li>Now resize the design area to the limits you have set in the properties dialog box. I.e. Pull the right edge of the ‘page’ to the <strong>20</strong> (Fig 3) tick mark and the bottom edge to the <strong>28 </strong>tick mark. Note – if you are including a Header/Footer, then you will need to cater for these by decreasing the bottom edge to about <strong>25 </strong>(Fig 4). These settings are for Portrait mode, switch the height and width for Landscape.
<div id="attachment_66" class="wp-caption aligncenter" style="width: 226px"><img class="size-full wp-image-66" title="Fig 3. Setting the design surface width" src="http://lukehayler.com/wp-content/uploads/2009/07/SSRS-Page-Layout-Fig-3.jpg" alt="Fig 3. Setting the design surface width" width="216" height="112" /><p class="wp-caption-text">Fig 3. Setting the design surface width</p></div>
<p><div id="attachment_67" class="wp-caption aligncenter" style="width: 206px"><img class="size-full wp-image-67" title="Fig 4. Setting the design surface height" src="http://lukehayler.com/wp-content/uploads/2009/07/SSRS-Page-Layout-Fig-4.jpg" alt="Fig 4. Setting the design surface height" width="196" height="107" /><p class="wp-caption-text">Fig 4. Setting the design surface height</p></div></li>
</ol>
<p><strong> Inserting Page-breaks</strong></p>
<p>To create a page break manually in a report:</p>
<ol>
<li>Place a rectangle item onto the design area at the place where you would like to insert a break.</li>
<li>Right click on the rectangle item and choose P<em>roperties</em>.</li>
<li>Check the appropriate box on the <em>General Tab</em> for the <strong>Page Break </strong>settings (Fig 5)
<p><div id="attachment_68" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-68" title="Fig 5. Setting the page break property" src="http://www.lukehayler.com/wp-content/uploads/2009/07/SSRS-Page-Layout-Fig-5-300x228.jpg" alt="Fig 5. Setting the page break property" width="300" height="228" /><p class="wp-caption-text">Fig 5. Setting the page break property</p></div></li>
</ol>
<p>This will create a page break in the report at the point you specify. If you do not want to see the rectangle in you report, set the border properties to <strong>None</strong>.</p>
<p>.</p>
]]></content:encoded>
			<wfw:commentRss>http://lukehayler.com/2009/07/designing-ssrs-reports-that-are-optimized-for-printing/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Managing Reporting Services Layouts using the Rectangle in SSRS</title>
		<link>http://lukehayler.com/2009/07/managing-reporting-services-layouts-using-the-rectangle-in-ssrs/</link>
		<comments>http://lukehayler.com/2009/07/managing-reporting-services-layouts-using-the-rectangle-in-ssrs/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 12:30:07 +0000</pubDate>
		<dc:creator>Luke Hayler</dc:creator>
				<category><![CDATA[Luke Hayler]]></category>
		<category><![CDATA[Reporting Services]]></category>
		<category><![CDATA[formatting]]></category>
		<category><![CDATA[report items]]></category>
		<category><![CDATA[report layout]]></category>

		<guid isPermaLink="false">http://www.lukehayler.com/?p=29</guid>
		<description><![CDATA[Left a bit, right a bit When it comes to designing one page summary dashboards for print (A4), you need to be able to ensure that the layout of your report is constant. Even with fluctuating columns &#38; rows – &#8230; <a href="http://lukehayler.com/2009/07/managing-reporting-services-layouts-using-the-rectangle-in-ssrs/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Left a bit, right a bit</strong></p>
<p>When it comes to designing one page summary dashboards for print (A4), you need to be able to ensure that the layout of your report is constant. Even with fluctuating columns &amp; rows – care of Tables &amp; Matrices. Initially this sounds fairly simple, add the report items, lay them out according to the design requirement and off you go. Preview. Whoa. WTH!</p>
<p>The problem arises when position of items on the report is affected by the growth of either a table or a matrix, either on the horizontal or vertical axis. Specifically, if the top one of your report items (the chart in Fig 1.) is below the bottom of another item (that can grow vertically), then it will be pushed out at run time. See fig 2.</p>
<div id="attachment_52" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-52 " title="SSRS Report Layouts - Fig 1" src="http://www.lukehayler.com/wp-content/uploads/2009/07/SSRS-Report-Layouts-Fig-1-300x224.jpg" alt="Fig 1. The Design time Layout" width="300" height="224" /><p class="wp-caption-text">Fig 1. The design time layout</p></div>
<div id="attachment_53" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-53 " title="SSRS Report Layouts - Fig 2." src="http://www.lukehayler.com/wp-content/uploads/2009/07/SSRS-Report-Layouts-Fig-2.-300x268.jpg" alt="Fig 2. The Runtime Layout" width="300" height="268" /><p class="wp-caption-text">Fig 2. The run time layout</p></div>
<p><strong>Have no fear, the rectangle is here!</strong></p>
<p>Enter the simple rectangle report item. By using rectangles to layout your report and group certain items, you can retain the layout you worked so hard to achieve. How does it does this? The rectangle groups report items within itself, i.e. the growth of tables &amp; matrices are relative to the rectangle and not the page itself. By adding two rectangles to the report I have grouped the Pie chart title and the pie chart, and have isolated the table. The table&#8217;s rectangle is also extended to the approximate depth of table at run time, thus ensuring that the planes of the report items relative to the design surface (the two rectangles) are the same.</p>
<p>Let’s have a look at the difference from Fig 1. &amp; 2. In the Figs. below.</p>
<div id="attachment_54" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-54" title="SSRS Report Layouts - Fig 3" src="http://www.lukehayler.com/wp-content/uploads/2009/07/SSRS-Report-Layouts-Fig-3-300x220.jpg" alt="Fig 3. The design time layout using the rectangle report item" width="300" height="220" /><p class="wp-caption-text">Fig 3. The design time layout using the rectangle report item</p></div>
<div id="attachment_55" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-55" title="SSRS Report Layouts - Fig 4" src="http://www.lukehayler.com/wp-content/uploads/2009/07/SSRS-Report-Layouts-Fig-4-300x202.jpg" alt="Fig 4. The runtime layout using the rectangle report item" width="300" height="202" /><p class="wp-caption-text">Fig 4. The run time layout using the rectangle report item</p></div>
<p><strong>But beware&#8230;</strong></p>
<p>One important bit of information. You must ensure that the report items you wish to control are placed ‘<em>into</em>’ the rectangle. What I mean here, is that you cannot simply place a rectangle object over the report items you wish to constrain – this will give rise to overlapping objects and may result in error. The trick is to either place the rectangle on the design surface first and then drag-and-drop report items ‘<em>into</em>’ it, or for existing report items, place the rectangle onto the design surface and then cut the report items you wish to constrain, select the rectangle, and then paste the report items ‘into’ it. You can test that the report items are ‘inside’ the rectangle by selecting it (the rectangle) and moving it. If the report items (inside the rectangle) all move together, you have constrained them correctly.</p>
<p>Another note. The rectangle will not stop the growth of the tables &amp; matrices, what it does is ensure that the layout of the rest of the report items are not thrown out at run time.</p>
<p><em>The data in the report is from the AdventureWorks database and is for illustration purposes only.</em></p>
<p><em><span style="font-style: normal;">.</span></em></p>
]]></content:encoded>
			<wfw:commentRss>http://lukehayler.com/2009/07/managing-reporting-services-layouts-using-the-rectangle-in-ssrs/feed/</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
	</channel>
</rss>

