<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Robert Bruckner's Advanced Reporting Services Blog : RS 2005</title><link>http://blogs.msdn.com/robertbruckner/archive/tags/RS+2005/default.aspx</link><description>Tags: RS 2005</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>SharePoint Integrated Mode</title><link>http://blogs.msdn.com/robertbruckner/archive/2009/08/20/sharepoint-integrated-mode.aspx</link><pubDate>Fri, 21 Aug 2009 08:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9878167</guid><dc:creator>Robert M. Bruckner</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/robertbruckner/comments/9878167.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robertbruckner/commentrss.aspx?PostID=9878167</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://blogs.msdn.com/calton/" target=_blank mce_href="http://blogs.msdn.com/calton/"&gt;Chris Alton’s&lt;/A&gt; whitepaper on &lt;A href="http://msdn.microsoft.com/en-us/library/ee384252.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee384252.aspx"&gt;Reporting Services SharePoint Integration Troubleshooting&lt;/A&gt; is now available on MSDN.&amp;nbsp; It provides a great set of configuration tips, diagnosis, and troubleshooting instructions.&lt;/P&gt;
&lt;P&gt;The following two older Reporting Services 2005 SharePoint Integrated Mode related whitepapers are still available:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/bb969100(SQL.90).aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/bb969100(SQL.90).aspx"&gt;Reporting Services 2005 SP2 SharePoint Integration Overview&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/bb969101(SQL.90).aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/bb969101(SQL.90).aspx"&gt;Reporting Services 2005 SharePoint Integration Troubleshooting&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Enjoy!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9878167" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2008/default.aspx">RS 2008</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2005/default.aspx">RS 2005</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/Management/default.aspx">Management</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Tablix – Multiple Subtotals Are Easy (aka Goodbye InScope)!</title><link>http://blogs.msdn.com/robertbruckner/archive/2009/08/10/tablix-multiple-subtotals-are-easy-aka-goodbye-inscope.aspx</link><pubDate>Tue, 11 Aug 2009 08:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9439361</guid><dc:creator>Robert M. Bruckner</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/robertbruckner/comments/9439361.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robertbruckner/commentrss.aspx?PostID=9439361</wfw:commentRss><description>&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;Reporting Services 2005 with Matrix&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;In a matrix in Reporting Services 2005, accomplishing multiple or different subtotal calculations at the same grouping level was difficult, but possible.&amp;nbsp; If you wanted to accomplish custom subtotal calculations in RS 2005, you may have heard about using the &lt;A href="http://msdn.microsoft.com/en-us/library/ms156490(SQL.90).aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms156490(SQL.90).aspx"&gt;InScope function&lt;/A&gt; to dynamically determine the scope of a matrix cell at runtime.&amp;nbsp; Let’s take a closer look at the following example with red numbers highlighting four different zones of the matrix to better understand the usecase:&lt;/P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/robertbruckner/WindowsLiveWriter/TablixMultipleSubtotalsAreEasyakaGoodbye_13B70/MatrixInScope_2.png" mce_href="http://blogs.msdn.com/blogfiles/robertbruckner/WindowsLiveWriter/TablixMultipleSubtotalsAreEasyakaGoodbye_13B70/MatrixInScope_2.png"&gt;&lt;IMG title=MatrixInScope style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: block; FLOAT: none; MARGIN-LEFT: auto; BORDER-LEFT: 0px; MARGIN-RIGHT: auto; BORDER-BOTTOM: 0px" height=114 alt=MatrixInScope src="http://blogs.msdn.com/blogfiles/robertbruckner/WindowsLiveWriter/TablixMultipleSubtotalsAreEasyakaGoodbye_13B70/MatrixInScope_thumb.png" width=329 border=0 mce_src="http://blogs.msdn.com/blogfiles/robertbruckner/WindowsLiveWriter/TablixMultipleSubtotalsAreEasyakaGoodbye_13B70/MatrixInScope_thumb.png"&gt;&lt;/A&gt; 
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;: Product category sales by each year.&amp;nbsp; The matrix cell is within the scope of both, the ProdCat group as well as OrderYear group. &lt;BR&gt;&lt;FONT color=#ff0000&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/FONT&gt;: Product category sales aggregated across all years.&amp;nbsp; The subtotal cell is within the scope of the ProdCat group, but outside the scope of the OrderYear group because it aggregates all years. &lt;BR&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;3&lt;/FONT&gt;&lt;/STRONG&gt;: All product sales per each year.&amp;nbsp; The subtotal cell is outside the scope of the ProdCat group (aggregating all products), but within the scope of the OrderYear group. &lt;BR&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;4&lt;/FONT&gt;&lt;/STRONG&gt;: Overall grand total.&amp;nbsp; The subtotal cell is outside both grouping scopes.&lt;/P&gt;
&lt;P&gt;By default, the calculation defined in the matrix cell (1) in RS 2005 is performed the same way (but with different grouping scopes) in the subtotal cells (2, 3, 4). &lt;/P&gt;
&lt;P&gt;There are however situation where for example, you want to calculate a running total of all product sales for each year (i.e. subtotal cell 3), and you want the average product category sales per year (i.e. subtotal cell 2).&amp;nbsp; Or perhaps you only want drillthrough links to be active on individual matrix cells, but not on the subtotals.&lt;/P&gt;
&lt;P&gt;To accomplish this in RS 2005, you would have to define the expression in the matrix cell using the following general pattern:&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;=iif(InScope("RowGroup"),&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iif(InScope("ColumnGroup"), &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "In Matrix Cell (&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;)", &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "In Subtotal of RowGroup (&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;2&lt;/FONT&gt;&lt;/STRONG&gt;)"),&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iif(InScope("ColumnGroup"),&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "In Subtotal of ColumnGroup (&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;3&lt;/FONT&gt;&lt;/STRONG&gt;)", &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "In Subtotal of entire Matrix (&lt;FONT color=#ff0000&gt;4&lt;/FONT&gt;)"))&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Replace &lt;I&gt;"In Matrix Cell (&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;)"&lt;/I&gt;, &lt;I&gt;"In Subtotal of RowGroup (&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;2&lt;/FONT&gt;&lt;/STRONG&gt;)"&lt;/I&gt;, &lt;I&gt;"In Subtotal of ColumnGroup (&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;3&lt;/FONT&gt;&lt;/STRONG&gt;)"&lt;/I&gt; and/or&lt;I&gt;"In Subtotal of entire Matrix (&lt;FONT color=#ff0000&gt;4&lt;/FONT&gt;)"&lt;/I&gt; with the expressions or fields that you want.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;Reporting Services 2008 with Tablix&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;With tablix in Reporting Services 2008, this scenario is significantly easier to accomplish.&amp;nbsp; First, you get explicit cell definitions for each of those aggregation areas which removes the need for complex expressions and the usage of the InScope function:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/robertbruckner/WindowsLiveWriter/TablixMultipleSubtotalsAreEasyakaGoodbye_13B70/TablixSubtotals_2.png" mce_href="http://blogs.msdn.com/blogfiles/robertbruckner/WindowsLiveWriter/TablixMultipleSubtotalsAreEasyakaGoodbye_13B70/TablixSubtotals_2.png"&gt;&lt;IMG title=TablixSubtotals style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: block; FLOAT: none; MARGIN-LEFT: auto; BORDER-LEFT: 0px; MARGIN-RIGHT: auto; BORDER-BOTTOM: 0px" height=134 alt=TablixSubtotals src="http://blogs.msdn.com/blogfiles/robertbruckner/WindowsLiveWriter/TablixMultipleSubtotalsAreEasyakaGoodbye_13B70/TablixSubtotals_thumb.png" width=351 border=0 mce_src="http://blogs.msdn.com/blogfiles/robertbruckner/WindowsLiveWriter/TablixMultipleSubtotalsAreEasyakaGoodbye_13B70/TablixSubtotals_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;In addition, you can define as many subtotals at every tablix grouping level as you like.&amp;nbsp; For example, besides Sum(Sales), you could calculate a percentage of total revenue, or even year-over-year growth as shown in the following design surface screenshot.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/robertbruckner/WindowsLiveWriter/TablixMultipleSubtotalsAreEasyakaGoodbye_13B70/TablixSideBySide_2.png" mce_href="http://blogs.msdn.com/blogfiles/robertbruckner/WindowsLiveWriter/TablixMultipleSubtotalsAreEasyakaGoodbye_13B70/TablixSideBySide_2.png"&gt;&lt;IMG title=TablixSideBySide style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: block; FLOAT: none; MARGIN-LEFT: auto; BORDER-LEFT: 0px; MARGIN-RIGHT: auto; BORDER-BOTTOM: 0px" height=148 alt=TablixSideBySide src="http://blogs.msdn.com/blogfiles/robertbruckner/WindowsLiveWriter/TablixMultipleSubtotalsAreEasyakaGoodbye_13B70/TablixSideBySide_thumb.png" width=625 border=0 mce_src="http://blogs.msdn.com/blogfiles/robertbruckner/WindowsLiveWriter/TablixMultipleSubtotalsAreEasyakaGoodbye_13B70/TablixSideBySide_thumb.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The example above shows three different column subtotal calculations side-by-side under each OrderYear group instance: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Year Total&lt;/LI&gt;
&lt;LI&gt;Year-over-Year growth percentage*&lt;/LI&gt;
&lt;LI&gt;a KPI image that shows the growth trend (up/down/flat)*&amp;nbsp; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Subtotals can use different styles as well as layout height or width.&amp;nbsp; The example above also shows further aggregations such as the monthly trend shown as a nested sparkline chart*.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;* Stay tuned - the underlying report, including RDL source, will be explained in an upcoming posting.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9439361" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2008/default.aspx">RS 2008</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2005/default.aspx">RS 2005</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/Tablix/default.aspx">Tablix</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/Report+Design/default.aspx">Report Design</category></item><item><title>Subreport Usage</title><link>http://blogs.msdn.com/robertbruckner/archive/2009/03/03/subreport-usage.aspx</link><pubDate>Tue, 03 Mar 2009 17:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9456794</guid><dc:creator>Robert M. Bruckner</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/robertbruckner/comments/9456794.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robertbruckner/commentrss.aspx?PostID=9456794</wfw:commentRss><description>&lt;P&gt;In a &lt;A class="" href="http://blogs.msdn.com/robertbruckner/archive/2009/01/08/what-kind-of-reports-are-published.aspx" mce_href="http://blogs.msdn.com/robertbruckner/archive/2009/01/08/what-kind-of-reports-are-published.aspx"&gt;previous post&lt;/A&gt; I showed how to quickly find reports that use custom report items (CRIs).&amp;nbsp; The same idea can be applied to subreports as well.&amp;nbsp; As an administrator of a report server, you may access the catalog database directly. Keep in mind that any queries you execute directly against the report server’s catalog database may affect the performance of the overall system. Make sure that you never take any locks on objects in that database, as this is not supported and interferes with the function of the report server.&lt;/P&gt;
&lt;P&gt;The query below runs against the current version of the report server catalog database, and may not necessarily work for future RS versions.&amp;nbsp; It uses &lt;A href="http://msdn.microsoft.com/en-us/library/ms345122(SQL.90).aspx" target=_blank&gt;XQuery&lt;/A&gt; and checks for all three different RDL namespaces since the catalog database stores a copy of the original report in exactly the format it was originally uploaded, so that (maybe several years) later, you can still retrieve exactly the report you published as a 2003/10 or 2005/01 report, even if it is internally on-the-fly upgraded to the latest schema version of the report server it is running on.&lt;/P&gt;
&lt;P&gt;Use the following query to get a list of reports that reference subreports, including the path of those subreports:&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&lt;FONT face="courier new,courier"&gt;USE&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="courier new,courier" color=#000000&gt; ReportServer&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;/* declare and populate temp table */&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;DECLARE&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; @tab &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;TABLE &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Path&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;NVARCHAR&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;&lt;FONT color=#ff00ff size=2&gt;MAX&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;),&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; xmlColumn &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;XML&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;INSERT&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;&lt;FONT color=#000000 size=2&gt; @tab &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;SELECT&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;top&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; 1500 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Path&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;&lt;FONT color=#ff00ff size=2&gt;CONVERT&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;XML&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;&lt;FONT color=#ff00ff size=2&gt;CONVERT&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;VARBINARY&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;&lt;FONT color=#ff00ff size=2&gt;MAX&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;),&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; Content&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;))&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Catalog&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Type&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;2&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;/* find subreports in RS 2000-based main reports */&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;WITH&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; XMLNAMESPACES&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;'http://schemas.microsoft.com/sqlserver/reporting/2003/10/reportdefinition'&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;as&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; rdl&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;SELECT&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Path&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;as&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; ReportPath&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;&lt;FONT color=#000000 size=2&gt; &lt;BR&gt;n&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;x&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;value&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;'(//rdl:ReportName)[1]'&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;'nvarchar(256)'&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;as&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;&lt;FONT color=#000000 size=2&gt; ReferencedReport&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;&lt;FONT color=#000000 size=2&gt; @tab&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;CROSS&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;APPLY&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; xmlColumn&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;nodes&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;'//rdl:Subreport'&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; n&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;x&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;);&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;/* find subreports in RS 2005-based main reports */&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;WITH&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; XMLNAMESPACES&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;'http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition'&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;as&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; rdl&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;SELECT&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Path&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;as&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; ReportPath&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;&lt;FONT color=#000000 size=2&gt; &lt;BR&gt;n&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;x&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;value&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;'(//rdl:ReportName)[1]'&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;'nvarchar(256)'&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;as&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;&lt;FONT color=#000000 size=2&gt; ReferencedReport&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;&lt;FONT color=#000000 size=2&gt; @tab&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;CROSS&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;APPLY&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; xmlColumn&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;nodes&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;'//rdl:Subreport'&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; n&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;x&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;);&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;/* find subreports in RS 2008-based main reports */&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;WITH&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; XMLNAMESPACES&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;'http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition'&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;as&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; rdl&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;SELECT&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Path&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;as&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; ReportPath&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;&lt;FONT color=#000000 size=2&gt; &lt;BR&gt;n&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;x&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;value&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;'(//rdl:ReportName)[1]'&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;'nvarchar(256)'&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;as&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;&lt;FONT color=#000000 size=2&gt; ReferencedReport&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;&lt;FONT color=#000000 size=2&gt; @tab&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;CROSS&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;APPLY&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; xmlColumn&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;nodes&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;'//rdl:Subreport'&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; n&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;x&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="courier new,courier" color=#000000&gt; &lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9456794" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RDL/default.aspx">RDL</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2008/default.aspx">RS 2008</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2005/default.aspx">RS 2005</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/Management/default.aspx">Management</category></item><item><title>RS Tracer</title><link>http://blogs.msdn.com/robertbruckner/archive/2009/02/23/rs-tracer.aspx</link><pubDate>Tue, 24 Feb 2009 10:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9442271</guid><dc:creator>Robert M. Bruckner</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/robertbruckner/comments/9442271.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robertbruckner/commentrss.aspx?PostID=9442271</wfw:commentRss><description>&lt;p&gt;Have you ever wondered what API calls Report Manager or Management Studio are performing to accomplish certain operations?&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://prologika.com/CS/blogs/blog/default.aspx" target="_blank"&gt;Teo Lachev’s&lt;/a&gt; &lt;a href="http://www.codeplex.com/rstracer" target="_blank"&gt;RsTracer&lt;/a&gt; helps answer these questions.&amp;#160; The tool is available as a CodePlex project and shows the APIs that a Reporting Services client invokes and what arguments it passes to each interface. It also intercepts the server response. Armed with this information, you can easily reproduce the same feature in your custom management application.&amp;#160; RsTracer works with all versions of Reporting Services.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9442271" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2008/default.aspx">RS 2008</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2005/default.aspx">RS 2005</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/Utilities/default.aspx">Utilities</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/Management/default.aspx">Management</category></item><item><title>The Ultimate Guide to Color Scales / Conditional Formatting</title><link>http://blogs.msdn.com/robertbruckner/archive/2009/02/19/ultimate-guide-to-color-scales-and-conditional-formatting.aspx</link><pubDate>Fri, 20 Feb 2009 09:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9435503</guid><dc:creator>Robert M. Bruckner</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/robertbruckner/comments/9435503.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robertbruckner/commentrss.aspx?PostID=9435503</wfw:commentRss><description>&lt;P&gt;I recently provided a&amp;nbsp;tip to&amp;nbsp;my Australian colleague &lt;A class="" href="http://blogs.msdn.com/davidlean" target=_blank mce_href="http://blogs.msdn.com/davidlean"&gt;David Lean&lt;/A&gt;&amp;nbsp;to successfully solve&amp;nbsp;a small report design challenge with tables and charts that use conditional formatting.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;The specific goal was to dynamically calculate and assign a color shade so that the minimum value present in the data is shown red, the average value yellow, and the maximum value green, with automatically calculated red-yellow-green shades for numeric values in between.&lt;/P&gt;
&lt;P&gt;As it turns out, Dave integrated and expanded this&amp;nbsp;into a great&amp;nbsp;four part blog post series on using conditional formatting and color scales in Reporting Services (applicable to both, RS 2005 and RS 2008):&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A class="" href="http://blogs.msdn.com/davidlean/archive/2009/02/17/sql-reporting-how-to-conditional-color-1-4-the-basics-report-expressions-custom-code.aspx" target=_blank mce_href="http://blogs.msdn.com/davidlean/archive/2009/02/17/sql-reporting-how-to-conditional-color-1-4-the-basics-report-expressions-custom-code.aspx"&gt;Part 1: Conditional Color: The Basics. Report Expressions &amp;amp; Custom Code&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="http://blogs.msdn.com/davidlean/archive/2009/02/17/sql-reporting-how-to-conditional-color-2-4-functions-for-tables-charts.aspx" target=_blank mce_href="http://blogs.msdn.com/davidlean/archive/2009/02/17/sql-reporting-how-to-conditional-color-2-4-functions-for-tables-charts.aspx"&gt;Part 2: Creating Color Ranges and Shades in Tables and Charts&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="http://blogs.msdn.com/davidlean/archive/2009/02/17/sql-reporting-how-to-conditional-color-3-4-tint-shade-functions.aspx" target=_blank mce_href="http://blogs.msdn.com/davidlean/archive/2009/02/17/sql-reporting-how-to-conditional-color-3-4-tint-shade-functions.aspx"&gt;Part 3: Continuous Color Functions&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="http://blogs.msdn.com/davidlean/archive/2009/01/30/sql-reporting-how-to-color-coding-based-on-data-values-for-tables-charts-1-n.aspx" target=_blank mce_href="http://blogs.msdn.com/davidlean/archive/2009/01/30/sql-reporting-how-to-color-coding-based-on-data-values-for-tables-charts-1-n.aspx"&gt;Part 4: Effectively Using Color for Charts and Multi-Dimensional Analysis&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Enjoy!&lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 409px; HEIGHT: 599px" height=599 src="http://blogs.msdn.com/blogfiles/davidlean/WindowsLiveWriter/SQLReporting.ReportExpressionsCustomCode_BCFE/image13_thumb_2.png" width=409 mce_src="http://blogs.msdn.com/blogfiles/davidlean/WindowsLiveWriter/SQLReporting.ReportExpressionsCustomCode_BCFE/image13_thumb_2.png"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9435503" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2008/default.aspx">RS 2008</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2005/default.aspx">RS 2005</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/Data+Visualization/default.aspx">Data Visualization</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/Report+Design/default.aspx">Report Design</category></item><item><title>BIDS Helper, RS Scripter</title><link>http://blogs.msdn.com/robertbruckner/archive/2009/01/28/bids-helper-rs-scripter.aspx</link><pubDate>Wed, 28 Jan 2009 20:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9381364</guid><dc:creator>Robert M. Bruckner</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/robertbruckner/comments/9381364.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robertbruckner/commentrss.aspx?PostID=9381364</wfw:commentRss><description>&lt;P&gt;I wanted to point out two Reporting Services utilities built by our MVPs and user community&amp;nbsp;that you may find very useful.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;BIDS&amp;nbsp;Helper&lt;/STRONG&gt; is a CodePlex project: &lt;A href="http://www.codeplex.com/bidshelper" mce_href="http://www.codeplex.com/bidshelper"&gt;http://www.codeplex.com/bidshelper&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;In past releases, the focus has been on significantly enhancing Analysis Services&amp;nbsp;and Integration Services BIDS design experiences.&amp;nbsp; Version 1.4 was just released, and for the first time BIDS Helper now also includes small Report Designer enhancements:&lt;BR&gt;- identifying unused datasets in the report (by removing them you may speed up your report)&lt;BR&gt;- deleting dataset cache files (.rdl.data) directly from within BIDS&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;RS Scripter&lt;/STRONG&gt; is a utility&amp;nbsp;for scripting and managing report server catalog items: &lt;A href="http://www.sqldbatips.com/showarticle.asp?ID=62" mce_href="http://www.sqldbatips.com/showarticle.asp?ID=62"&gt;http://www.sqldbatips.com/showarticle.asp?ID=62&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;You might find&amp;nbsp;RS Scripter&amp;nbsp;particularly useful for:&lt;BR&gt;- quickly and easily extracting all RDLs from a report server&lt;BR&gt;- generating scripts to load reports, data sources&lt;BR&gt;- script shared schedules, subscriptions, system and item level roles&lt;BR&gt;- migrating contents from one report server to another &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9381364" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2008/default.aspx">RS 2008</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2005/default.aspx">RS 2005</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/Utilities/default.aspx">Utilities</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/Management/default.aspx">Management</category></item><item><title>Report Server Optimizations</title><link>http://blogs.msdn.com/robertbruckner/archive/2009/01/14/report-server-optimizations.aspx</link><pubDate>Wed, 14 Jan 2009 22:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9319280</guid><dc:creator>Robert M. Bruckner</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/robertbruckner/comments/9319280.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robertbruckner/commentrss.aspx?PostID=9319280</wfw:commentRss><description>&lt;P&gt;The fourth and final technical note "&lt;A class="" href="http://sqlcat.com/technicalnotes/archive/2009/01/14/reporting-services-performance-optimizations.aspx" target=_blank mce_href="http://sqlcat.com/technicalnotes/archive/2009/01/14/reporting-services-performance-optimizations.aspx"&gt;Reporting Services Performance Optimizations&lt;/A&gt;" in our series on&amp;nbsp;&lt;A class="" href="http://blogs.msdn.com/robertbruckner/archive/2008/11/03/technical-note-series-on-reporting-services-performance-and-scalability.aspx" mce_href="http://blogs.msdn.com/robertbruckner/archive/2008/11/03/technical-note-series-on-reporting-services-performance-and-scalability.aspx"&gt;Building and Deploying Large Scale SQL Server Reporting Services Environments&lt;/A&gt; is now available on SQLCAT.com.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;The focus of this final&amp;nbsp;technical note is&amp;nbsp;on how to optimize your Reporting Services architecture for better performance and higher report execution throughput and user loads. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9319280" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/Scalability/default.aspx">Scalability</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2008/default.aspx">RS 2008</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2005/default.aspx">RS 2005</category></item><item><title>Optimizing Reports - Show the Right Set of Data</title><link>http://blogs.msdn.com/robertbruckner/archive/2009/01/12/optimizing-reports-show-the-right-set-of-data.aspx</link><pubDate>Tue, 13 Jan 2009 10:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9313373</guid><dc:creator>Robert M. Bruckner</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/robertbruckner/comments/9313373.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robertbruckner/commentrss.aspx?PostID=9313373</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;You are probably now thinking, of course my report shows the right data!&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Ok, but is it fast (enough)?&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;My esteemed colleague &lt;A class="" href="http://blogs.msdn.com/deanka" target=_blank mce_href="http://blogs.msdn.com/deanka"&gt;Dean Kalanquin&lt;/A&gt; started blogging recently.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;He has been working in databases for a long time, and has gained great experience and knowledge by working on several different areas of SQL Server before joining the Reporting Services team a few years ago.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Among our common interests are certainly performance and scalability.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;While Dean and I typically approach these areas in similar ways, Dean tends to focus more on the database side of things, and I leverage my knowledge about the internals of the report processing engine to look at it also from a report design and data processing point of view.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Together, we regularly figure out great ways to effectively optimize systems and reports.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;In his first technical blog post titled "&lt;A class="" href="http://blogs.msdn.com/deanka/archive/2009/01/13/pet-peeve-slow-reports.aspx" target=_blank mce_href="http://blogs.msdn.com/deanka/archive/2009/01/13/pet-peeve-slow-reports.aspx"&gt;Pet Peeve: Slow Reports&lt;/A&gt;", Dean provides tips on how to optimize reports by applying pre-aggregation already in the database query and only returning data you really want to show upfront.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; Further d&lt;/SPAN&gt;etail data&amp;nbsp;can then be provided as drillthrough reports that only retrieve a specific subset of the original data, or you could apply a combination of drill-down + drillthrough, as discussed in a &lt;A class="" href="http://blogs.msdn.com/robertbruckner/archive/2009/01/08/report-performance-optimization-tips-subreports-drilldown.aspx" mce_href="http://blogs.msdn.com/robertbruckner/archive/2009/01/08/report-performance-optimization-tips-subreports-drilldown.aspx"&gt;recent posting&lt;/A&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;I think Dean is going to be doing a whole series on various report design and optimization "gotchas", so his blog is definitely worth keeping an eye on.&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9313373" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2008/default.aspx">RS 2008</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2005/default.aspx">RS 2005</category></item><item><title>Report Performance Optimization Tips (Subreports, Drilldown)</title><link>http://blogs.msdn.com/robertbruckner/archive/2009/01/08/report-performance-optimization-tips-subreports-drilldown.aspx</link><pubDate>Fri, 09 Jan 2009 10:25:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9286620</guid><dc:creator>Robert M. Bruckner</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/robertbruckner/comments/9286620.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robertbruckner/commentrss.aspx?PostID=9286620</wfw:commentRss><description>&lt;P&gt;In a previous posting, I explained the new &lt;A class="" href="http://blogs.msdn.com/robertbruckner/archive/2009/01/05/executionlog2-view.aspx" mce_href="http://blogs.msdn.com/robertbruckner/archive/2009/01/05/executionlog2-view.aspx"&gt;ExecutionLog2&lt;/A&gt; view in Reporting Services 2008: how to utilize it to measure report execution performance, identify report candidates for optimizations, and verify the impact of the latter.&amp;nbsp; I also included two tips at the bottom of that posting, that I want to call out&amp;nbsp;explicitly as a separate posting.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Subreports&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;One of the aspects I usually investigate when optimizing reports&amp;nbsp;is the usage of subreports.&amp;nbsp; Subreports provide a convenient way to reuse report designs, but&amp;nbsp;it may make sense to refactor the report design to lift the subreports&amp;nbsp;contents into the main report.&amp;nbsp; Not only does this frequently result in improved performance, it can also provide better control over rendering behavior.&lt;/P&gt;
&lt;P&gt;Btw, this related blog &lt;A class="" href="http://blogs.msdn.com/robertbruckner/archive/2009/03/03/subreport-usage.aspx" mce_href="http://blogs.msdn.com/robertbruckner/archive/2009/03/03/subreport-usage.aspx"&gt;posting&lt;/A&gt; explains how one can quickly&amp;nbsp;find out which published reports reference subreports.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Splitting large drilldown reports into parameterized drillthrough reports&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;When reports use large datasets, I have sometimes seen the usage of drilldown group hierarchies (toggles) to provide an initial overview to the report consumer, and enable dynamic drilldown to interesting areas.&amp;nbsp;&lt;BR&gt;&lt;BR&gt;What may work really well for those kind of reports is to change the original report to only include data till e.g. the third level of drilldown (and thereby reduce the amount of data retrieved and processed by the initial report, and improve response time).&amp;nbsp; &lt;BR&gt;&lt;BR&gt;Then at the innermost drilldown level of the main report, create drillthrough actions with parameters based on the current group values to another report.&amp;nbsp; The drillthrough target report&amp;nbsp;provides further details and drilldown capabilities, but only has to retrieve a small subset of the original data.&amp;nbsp; &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9286620" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2008/default.aspx">RS 2008</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2005/default.aspx">RS 2005</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/Report+Design/default.aspx">Report Design</category></item><item><title>What Kind of Reports are Published / Which Use Custom Report Items?</title><link>http://blogs.msdn.com/robertbruckner/archive/2009/01/08/what-kind-of-reports-are-published.aspx</link><pubDate>Fri, 09 Jan 2009 10:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9277023</guid><dc:creator>Robert M. Bruckner</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/robertbruckner/comments/9277023.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robertbruckner/commentrss.aspx?PostID=9277023</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;As an administrator of a report server, you may occasionally ask yourself the question of what kind of reports are published in terms of their particular feature usage.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For example:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;STRONG&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;STRONG&gt;Usage of Custom Report Items (CRIs)&lt;BR&gt;&lt;/STRONG&gt;You plan to upgrade from RS 2005 to RS 2008 and there are CRI controls installed on your current RS 2005 server (look for a &amp;lt;ReportItems&amp;gt; section in rsReportServer.config)?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;You may want to know whether they are actually referenced in any currently published reports on the server, because you may have read this related blog &lt;A class="" href="http://blogs.msdn.com/robertbruckner/archive/2008/12/31/customreportitem.aspx" mce_href="http://blogs.msdn.com/robertbruckner/archive/2008/12/31/customreportitem.aspx"&gt;posting&lt;/A&gt; and are wondering if you need to install the 2005-based CRI controls on your RS 2008 server?&lt;BR&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;o:p&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;STRONG&gt;Usage of subreports&lt;BR&gt;&lt;/STRONG&gt;Which reports use subreports?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Not only is this interesting for dependency tracking, but it might also be relevant for optimizing performance.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;/o:p&gt;&lt;/SPAN&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;STRONG&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;STRONG&gt;Usage of custom assemblies&lt;BR&gt;&lt;/STRONG&gt;What kind of (custom) assemblies are referenced by published reports?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This might be interesting information for auditing, or for trouble-shooting the &lt;A class="" href="http://msdn.microsoft.com/en-us/library/ms155108.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms155108.aspx"&gt;security policy configuration&lt;/A&gt;&amp;nbsp;of&amp;nbsp;a report server.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;Offline Solutions&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;Well, as always there are multiple ways to accomplish this.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;One option is to download all the reports from the server in an automated way and then analyze the RDL contents.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This can be accomplished similar to the &lt;A class="" href="http://www.codeplex.com/MSFTRSProdSamples/Wiki/View.aspx?title=SS2008!RSExplorer%20Sample%20Application&amp;amp;referringTitle=Home" target=_blank mce_href="http://www.codeplex.com/MSFTRSProdSamples/Wiki/View.aspx?title=SS2008!RSExplorer%20Sample%20Application&amp;amp;referringTitle=Home"&gt;RS Explorer&lt;/A&gt; sample application, via the Reporting Services &lt;A class="" href="http://technet.microsoft.com/en-us/library/ms152787.aspx" target=_blank mce_href="http://technet.microsoft.com/en-us/library/ms152787.aspx"&gt;SOAP API&lt;/A&gt;, and using &lt;A class="" href="http://technet.microsoft.com/en-us/library/reportservice2005.reportingservice2005.listchildren.aspx" target=_blank mce_href="http://technet.microsoft.com/en-us/library/reportservice2005.reportingservice2005.listchildren.aspx"&gt;ListChildren&lt;/A&gt;&amp;nbsp;and &lt;A class="" href="http://technet.microsoft.com/en-us/library/reportservice2005.reportingservice2005.getreportdefinition.aspx" target=_blank mce_href="http://technet.microsoft.com/en-us/library/reportservice2005.reportingservice2005.getreportdefinition.aspx"&gt;GetReportDefinition&lt;/A&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Alternatively, you could utilize &lt;A class="" href="http://www.sqldbatips.com/showarticle.asp?ID=62" target=_blank mce_href="http://www.sqldbatips.com/showarticle.asp?ID=62"&gt;RS Scripter&lt;/A&gt;, a great tool written by Jasper Smith, to script/download all reports.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For the subsequent offline analysis in the file system&amp;nbsp;use full text search tools (e.g. findstr).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;FONT size=3&gt;&lt;STRONG&gt;Basic SQL Query Solutions&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;As an administrator of a report server, you may access the catalog database directly.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Keep in mind that any queries you execute directly against the report server’s catalog database may affect the performance of the overall system.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Make sure that you never take any locks on objects in that database, as this is not supported and interferes with the function of the report server.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;That said, if you are familiar with the &lt;A class="" href="http://blogs.msdn.com/robertbruckner/archive/2008/11/26/rdl-2008-specification.aspx" mce_href="http://blogs.msdn.com/robertbruckner/archive/2008/11/26/rdl-2008-specification.aspx"&gt;RDL XSD structure&lt;/A&gt;, you can write a simple query like the following to find all reports that reference subreports:&lt;BR&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;USE&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; ReportServer&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: blue"&gt;Path&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; Name&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Description&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: gray"&gt;*&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;FROM&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: blue"&gt;Catalog&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;WHERE&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: blue"&gt;Type&lt;/SPAN&gt; &lt;SPAN style="COLOR: gray"&gt;=&lt;/SPAN&gt; 2 &lt;SPAN style="COLOR: gray"&gt;AND&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: fuchsia; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;CONVERT&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: gray; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;VARCHAR&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: gray; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: fuchsia; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;MAX&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: gray; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;),&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: fuchsia; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;CONVERT&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: gray; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;VARBINARY&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: gray; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: fuchsia; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;MAX&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: gray; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;),&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;Content&lt;SPAN style="COLOR: gray"&gt;))&lt;/SPAN&gt; &lt;SPAN style="COLOR: gray"&gt;LIKE&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;'%&amp;lt;Subreport%'&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;FONT size=3&gt;&lt;STRONG&gt;SQL &lt;A class="" target=_blank&gt;XQuery&amp;nbsp;&lt;/A&gt;Solutions&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;Let's now focus on a slightly more complex scenario: you want to determine which types of CRIs are used by which reports on your server.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;Note that the RDLs stored in the report server are exactly the RDL files that were originally uploaded.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Since the CRI feature was introduced with the RDL 2005/01 namespace, we only need to query that particular namespace to find reports that reference 2005 CRIs.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If however you are looking for subreports or other elements, you may have to query several namespaces: RDL 2003/10, RDL 2005/01, and RDL 2008/01.&amp;nbsp; Btw, my esteemed colleague &lt;A class="" href="http://blogs.msdn.com/jgalla" target=_blank mce_href="http://blogs.msdn.com/jgalla"&gt;John&amp;nbsp;Gallardo&lt;/A&gt; used to work a lot with &lt;A class="" href="http://msdn.microsoft.com/en-us/library/ms345122(SQL.90).aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms345122(SQL.90).aspx"&gt;XQuery&lt;/A&gt; before joining the Reporting Services team and helped crafting the initial query, which I further refined to this:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;BR&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;USE&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; ReportServer&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;/* declare and populate temp table */&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;DECLARE&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; @tab &lt;SPAN style="COLOR: blue"&gt;TABLE &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Path&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;NVARCHAR&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: fuchsia"&gt;MAX&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;),&lt;/SPAN&gt; xmlColumn &lt;SPAN style="COLOR: blue"&gt;XML&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;INSERT&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; @tab &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: blue"&gt;Path&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: fuchsia"&gt;CONVERT&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;XML&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: fuchsia"&gt;CONVERT&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;VARBINARY&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: fuchsia"&gt;MAX&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;),&lt;/SPAN&gt; Content&lt;SPAN style="COLOR: gray"&gt;))&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;FROM&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Catalog&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;WHERE&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Type&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;=&lt;/SPAN&gt;2&lt;SPAN style="COLOR: gray"&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: gray; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;/* for all CustomReportItem elements, display the report path,&amp;nbsp;CRI type and name */&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;WITH&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; XMLNAMESPACES&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;'http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition'&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;as&lt;/SPAN&gt; rdl&lt;SPAN style="COLOR: gray"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: blue"&gt;Path&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;as&lt;/SPAN&gt; ReportPath&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;n&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;x&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;value&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;'@Name'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;'nvarchar(256)'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;as&lt;/SPAN&gt; CRIName&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;n&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;x&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;value&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;'(//rdl:Type)[1]'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;'nvarchar(256)'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;as&lt;/SPAN&gt; CRIType&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;FROM&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; @tab&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: gray; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;CROSS&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: gray"&gt;APPLY&lt;/SPAN&gt; xmlColumn&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;nodes&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;'//rdl:CustomReportItem'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;)&lt;/SPAN&gt; n&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;x&lt;SPAN style="COLOR: gray"&gt;)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9277023" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RDL/default.aspx">RDL</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2008/default.aspx">RS 2008</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2005/default.aspx">RS 2005</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/CustomReportItem/default.aspx">CustomReportItem</category></item><item><title>Using Teradata's .NET Data Provider</title><link>http://blogs.msdn.com/robertbruckner/archive/2008/12/26/using-teradata-net-data-provider.aspx</link><pubDate>Sat, 27 Dec 2008 04:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9253949</guid><dc:creator>Robert M. Bruckner</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/robertbruckner/comments/9253949.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robertbruckner/commentrss.aspx?PostID=9253949</wfw:commentRss><description>&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;Reporting Services 2008 &lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;RS 2008&amp;nbsp;includes full support for&amp;nbsp;Teradata-based report models.&amp;nbsp;You can create and use semantic models based off Teradata similar to how Reporting Services already supports this for SQL Server, Analysis Services, and Oracle.&amp;nbsp;Furthermore, RS 2008&amp;nbsp;includes a&amp;nbsp;Teradata data extension directly in the box.&amp;nbsp; Among other features,&amp;nbsp;that data extension&amp;nbsp;provides full support for multi-valued query parameters in Teradata queries.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;The only step left for you is to download and install &lt;A class="" href="http://go.microsoft.com/fwlink/?LinkId=130392" target=_blank mce_href="http://go.microsoft.com/fwlink/?LinkId=130392"&gt;Teradata's .NET Data Provider for Teradata 12.0&lt;/A&gt;.&amp;nbsp; No further configuration step is needed for RS 2008.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Finally, I recommend to read the following whitepaper on&amp;nbsp;&lt;A class="" href="http://msdn.microsoft.com/en-us/library/dd182005.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/dd182005.aspx"&gt;using Teradata connectivity in Reporting Services&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;Reporting Services 2005 SP3&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;With&amp;nbsp;the recent release of &lt;A class="" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ae7387c3-348c-4faa-8ae5-949fdfbe59c4" target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ae7387c3-348c-4faa-8ae5-949fdfbe59c4"&gt;Service Pack 3 for SQL Server 2005&lt;/A&gt;,&amp;nbsp;we include the same level of report model / semantic query support for Teradata that we provide in Reporting Services 2008.&amp;nbsp;&amp;nbsp;Furthermore, the Teradata data extension is included as well.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Before you can use this new functionality in SP3 however, manual steps are necessary to turn it on after the installation of&amp;nbsp;SP3, and&amp;nbsp;Teradata's .NET data provider.&amp;nbsp; The manual steps are explained in detail in the updated SQL Server 2005 Books Online documentation, and in the MSDN online help&amp;nbsp;page for "&lt;A class="" href="http://msdn.microsoft.com/en-us/library/dd353299(SQL.90).aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/dd353299(SQL.90).aspx"&gt;Configuring Reporting Services for Teradata-based Report Models&lt;/A&gt;".&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;Registering Teradata's .NET Data Provider directly &lt;BR&gt;(without&amp;nbsp;data extension)&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;If you are on RS 2005 SP2 or lower, I highly recommend to upgrade to RS 2005 SP3 or RS 2008 - you will get built-in support for Teradata-based report models, and Teradata connectivity with extended features such multi-value parameters.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;However, if you aren't ready to&amp;nbsp;upgrade quite yet, you&amp;nbsp;still have the option of using direct Teradata data connectivity by manually registering the data provider directly in RSReportDesigner.config and RSReportServer.config.&amp;nbsp; This provides the ability to define and execute queries against Teradata data sources.&amp;nbsp; However, this does not provide support for any of the extended&amp;nbsp;data features in Reporting Services&amp;nbsp;such as multi-valued query parameters (please see this documentation link for more &lt;A class="" href="http://msdn.microsoft.com/en-us/library/dd239371.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/dd239371.aspx"&gt;details on the differences&lt;/A&gt;).&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Steps for manual registration of Teradata's data provider with Reporting Services:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Report Server:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Install &lt;A class="" href="http://go.microsoft.com/fwlink/?LinkId=130392" target=_blank mce_href="http://go.microsoft.com/fwlink/?LinkId=130392"&gt;Teradata's .NET Data Provider for Teradata 12.0&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Open RSReportServer.config.&amp;nbsp; &lt;BR&gt;For RS 2005 installations, by default this file is located in &amp;lt;SysDrive&amp;gt;:\Program Files\Microsoft SQL Server\MSSQL.n\Reporting Services\ReportServer.&lt;/LI&gt;
&lt;LI&gt;In the &amp;lt;Data&amp;gt; section, add the following entry. This entry must be on one line with no line breaks; the version stamp must match the version number of the provider you installed:&lt;BR&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT face="courier new,courier"&gt;&lt;FONT style="BACKGROUND-COLOR: #c0c0c0"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Arial','sans-serif'"&gt;Extension&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Arial','sans-serif'"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Teradata&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Arial','sans-serif'"&gt;Type&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Teradata.Client.Provider.TdConnection,Teradata.Client.Provider, Version=12.0.1.0, Culture=neutral, PublicKeyToken=76b417ee2e04956c&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;"&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT style="BACKGROUND-COLOR: #c0c0c0"&gt;/&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT face="courier new,courier"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;Save the file and then restart Reporting Services on the report server. For more information, see &lt;A class="" href="http://msdn.microsoft.com/en-us/library/ms157232(SQL.90).aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms157232(SQL.90).aspx"&gt;Starting and Stopping the Report Server Windows Service&lt;/A&gt;.&amp;nbsp;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Report Designer in BI Development Studio:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Install &lt;A class="" href="http://go.microsoft.com/fwlink/?LinkId=130392" target=_blank mce_href="http://go.microsoft.com/fwlink/?LinkId=130392"&gt;Teradata's .NET Data Provider for Teradata 12.0&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Open RSReportDesigner.config.&lt;BR&gt;For RS 2005 installations, by default this file is located in &amp;lt;SysDrive&amp;gt;:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies&lt;/LI&gt;
&lt;LI&gt;In the &amp;lt;Data&amp;gt; section, add the same entry as above for the report server:&lt;BR&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT face="courier new,courier"&gt;&lt;FONT style="BACKGROUND-COLOR: #c0c0c0"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Arial','sans-serif'"&gt;Extension&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Arial','sans-serif'"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Teradata&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Arial','sans-serif'"&gt;Type&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Teradata.Client.Provider.TdConnection,Teradata.Client.Provider, Version=12.0.1.0, Culture=neutral, PublicKeyToken=76b417ee2e04956c&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;"&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT style="BACKGROUND-COLOR: #c0c0c0"&gt;/&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;In the &amp;lt;Designer&amp;gt; section, add the following entry. This entry must be on one line with no line breaks.&lt;BR&gt;&lt;FONT style="BACKGROUND-COLOR: #c0c0c0"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Arial','sans-serif'"&gt;Extension&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Arial','sans-serif'"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Teradata&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Arial','sans-serif'"&gt;Type&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Microsoft.ReportingServices.QueryDesigners.GenericQueryDesigner, Microsoft.ReportingServices.QueryDesigners&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;/&amp;gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;Save the file.&lt;/LI&gt;&lt;/OL&gt;
&lt;P mce_keep="true"&gt;Btw, besides the&amp;nbsp;managed provider, Reporting Services also works with&amp;nbsp;Teradata's ODBC and OLEDB&amp;nbsp;data providers.&amp;nbsp; Those don't need any particular RS config file registrations, as they are supported via the generic ODBC and OLEDB data extension by Reporting Services.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Enjoy!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9253949" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2008/default.aspx">RS 2008</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2005/default.aspx">RS 2005</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/Data+Connectivity/default.aspx">Data Connectivity</category></item><item><title>Technical Note Series on Reporting Services Performance and Scalability</title><link>http://blogs.msdn.com/robertbruckner/archive/2008/11/03/technical-note-series-on-reporting-services-performance-and-scalability.aspx</link><pubDate>Tue, 04 Nov 2008 08:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9012461</guid><dc:creator>Robert M. Bruckner</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/robertbruckner/comments/9012461.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robertbruckner/commentrss.aspx?PostID=9012461</wfw:commentRss><description>&lt;CENTER&gt;&lt;A class="" href="http://sqlcat.com/" target=_blank mce_href="http://sqlcat.com"&gt;&lt;IMG title="Click to go to SQLCAT website" style="WIDTH: 272px; HEIGHT: 160px" height=160 alt="Click to go to SQLCAT website" src="http://blogs.msdn.com/photos/robertbruckner/images/9012473/original.aspx" width=272 border=0 mce_src="http://blogs.msdn.com/photos/robertbruckner/images/9012473/original.aspx"&gt;&lt;/A&gt;&amp;nbsp;&lt;/CENTER&gt;
&lt;P&gt;Over the past few months, I contributed to a series of technical notes by my esteemed colleagues &lt;A class="" href="http://denster.spaces.live.com/" target=_blank mce_href="http://denster.spaces.live.com/"&gt;Denny&lt;/A&gt;&amp;nbsp;and &lt;A class="" href="http://blogs.msdn.com/lukaszp" target=_blank mce_href="http://blogs.msdn.com/lukaszp"&gt;Lukasz&lt;/A&gt;&amp;nbsp;on &lt;A href="http://sqlcat.com/" mce_href="http://sqlcat.com/"&gt;http://sqlcat.com/&lt;/A&gt;. The technical notes provide guidance on how to build,&amp;nbsp;deploy, and optimize&amp;nbsp;large scale SQL Server Reporting Services (SSRS)&amp;nbsp;environments.&amp;nbsp; We derived some of the best practices from internal as well as external enterprise SSRS deployments.&lt;/P&gt;
&lt;P&gt;So far, a webcast and three technical notes are available; we are working on (at least) one more.&amp;nbsp;&amp;nbsp;The notes apply to both SQL Server Reporting Services 2005 and 2008, unless a particular section calls out one of the releases explicitly.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;New:&lt;/STRONG&gt; &lt;A class="" href="http://sqlcat.com/presentations/archive/2008/11/03/technet-webcast-building-sql-server-reporting-services-2008-large-scale-solutions-level-400.aspx" target=_blank mce_href="http://sqlcat.com/presentations/archive/2008/11/03/technet-webcast-building-sql-server-reporting-services-2008-large-scale-solutions-level-400.aspx"&gt;&lt;STRONG&gt;TechNet Webcast&lt;/STRONG&gt;&lt;BR&gt;&lt;/A&gt;Webcast summarizing the material of all four technical notes below.&lt;BR&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="http://sqlcat.com/technicalnotes/archive/2008/06/05/reporting-services-scale-out-architecture.aspx" target=_blank mce_href="http://sqlcat.com/technicalnotes/archive/2008/06/05/reporting-services-scale-out-architecture.aspx"&gt;&lt;STRONG&gt;Reporting Services Scale-Out Architecture&lt;/STRONG&gt;&lt;/A&gt;&lt;BR&gt;The focus of the technical note is an overview of the Reporting Services scale-out architecture, referenced throughout the technical note series.&lt;BR&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="http://sqlcat.com/technicalnotes/archive/2008/06/26/report-server-catalog-best-practices.aspx" target=_blank mce_href="http://sqlcat.com/technicalnotes/archive/2008/06/26/report-server-catalog-best-practices.aspx"&gt;&lt;STRONG&gt;Report Catalog Best Practices&lt;/STRONG&gt;&lt;/A&gt;&lt;BR&gt;Provides guidance and best practices on the report server catalog databases; i.e. the underlying databases that provide metadata (parameters, snapshots, history, etc.) used by Reporting Services to provide your reports. &lt;BR&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="http://sqlcat.com/technicalnotes/archive/2008/10/21/reporting-services-scale-out-deployment-best-practices.aspx" target=_blank mce_href="http://sqlcat.com/technicalnotes/archive/2008/10/21/reporting-services-scale-out-deployment-best-practices.aspx"&gt;&lt;STRONG&gt;Scale-Out Deployment Best Practices&lt;/STRONG&gt;&lt;/A&gt;&lt;BR&gt;Provides guidance and best practices on deployment details for scaling out your Reporting Services environment including configurations and the use of File System snapshots. &lt;BR&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;&lt;STRONG&gt;New: &lt;A class="" href="http://sqlcat.com/technicalnotes/archive/2009/01/14/reporting-services-performance-optimizations.aspx" target=_blank mce_href="http://sqlcat.com/technicalnotes/archive/2009/01/14/reporting-services-performance-optimizations.aspx"&gt;Reporting Services Performance Optimizations&lt;/A&gt;&lt;BR&gt;&lt;/STRONG&gt;This fourth technical note&amp;nbsp;focuses on general considerations for optimizing your entire system.&amp;nbsp;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;In addition, I&amp;nbsp;put together a blog post about the &lt;A class="" href="http://blogs.gotdotnet.com/robertbruckner/archive/2009/01/05/executionlog2-view.aspx" mce_href="http://blogs.gotdotnet.com/robertbruckner/archive/2009/01/05/executionlog2-view.aspx"&gt;ExecutionLog2&lt;/A&gt;&amp;nbsp;view which provides insights into analyzing and optimizing reports.&amp;nbsp; This is related to what I covered in my very well received&amp;nbsp;CT-27 chalk talk at the Microsoft Business Intelligence Conference recently on "Report Design Tips, Tricks, and Best Practices for Performance and Scalability".&amp;nbsp; I might put together additional postings to cover more of that information - check my postings marked&amp;nbsp;with the "Performance" and/or "Scalability" tags frequently.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Related to these topics, I'd also like to point to one of my initial &lt;A class="" href="http://blogs.msdn.com/robertbruckner/archive/2008/07/20/Scale-up-improvements-in-reporting-services-2008.aspx" mce_href="http://blogs.msdn.com/robertbruckner/archive/2008/07/20/Scale-up-improvements-in-reporting-services-2008.aspx"&gt;postings&lt;/A&gt; about scale up improvements in Reporting Services 2008.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9012461" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/Scalability/default.aspx">Scalability</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2008/default.aspx">RS 2008</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2005/default.aspx">RS 2005</category></item><item><title>Do You ▖ Unicode in PDF? </title><link>http://blogs.msdn.com/robertbruckner/archive/2008/10/27/unicode-in-pdf-font-embedding.aspx</link><pubDate>Tue, 28 Oct 2008 06:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9004348</guid><dc:creator>Robert M. Bruckner</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/robertbruckner/comments/9004348.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robertbruckner/commentrss.aspx?PostID=9004348</wfw:commentRss><description>&lt;P mce_keep="true"&gt;One of the changes we included&amp;nbsp;in &lt;A class="" target=_blank&gt;Cumulative Update #1&lt;/A&gt; for SQL Server 2008 (&lt;A class="" href="http://support.microsoft.com/default.aspx/kb/956717" target=_blank mce_href="http://support.microsoft.com/default.aspx/kb/956717"&gt;CU1 download link&lt;/A&gt;) is&amp;nbsp;automatic full font embedding and subsetting&amp;nbsp;for Unicode characters in Reporting Services 2008 &lt;A class="" href="http://msdn.microsoft.com/en-us/library/ms159713.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms159713.aspx"&gt;PDF rendering&lt;/A&gt;. &lt;/P&gt;
&lt;P mce_keep="true"&gt;While&amp;nbsp;a similar code change is now available for Reporting Services 2005 PDF rendering with SQL Server 2005 Service Pack 3 (&lt;A class="" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ae7387c3-348c-4faa-8ae5-949fdfbe59c4" target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ae7387c3-348c-4faa-8ae5-949fdfbe59c4"&gt;SP3 download link&lt;/A&gt;), it is&amp;nbsp;not full font embedding like RS 2008.&amp;nbsp; Specifically, in RS 2005 if your text contains Latin characters only, no font embedding is happening.&amp;nbsp; The font embedding in RS 2005 SP3 is limited to non ANSI characters.&lt;BR&gt;&lt;BR&gt;Overall, with font embedding it does no&amp;nbsp;longer matter what version of a font is installed on a client - the documents can be viewed the same way regardless of&amp;nbsp;client operating systems, font versions, and client PDF viewer.&amp;nbsp; Generating multi-lingual reports and using fonts such as MingLiU just got a little bit easier.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9004348" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2008/default.aspx">RS 2008</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2005/default.aspx">RS 2005</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/Rendering/default.aspx">Rendering</category></item><item><title>What DataSet Query Text Is Executed?</title><link>http://blogs.msdn.com/robertbruckner/archive/2008/10/25/what-dataset-query-text-is-executed.aspx</link><pubDate>Sat, 25 Oct 2008 22:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9016217</guid><dc:creator>Robert M. Bruckner</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/robertbruckner/comments/9016217.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robertbruckner/commentrss.aspx?PostID=9016217</wfw:commentRss><description>&lt;P&gt;In a previous posting, I discussed &lt;A class="" href="http://blogs.msdn.com/robertbruckner/archive/2008/08/07/dataset-execution-order.aspx" mce_href="http://blogs.msdn.com/robertbruckner/archive/2008/08/07/dataset-execution-order.aspx"&gt;dataset execution order&lt;/A&gt; in Reporting Services.&amp;nbsp; In this posting,&amp;nbsp;I will provide a few tips for situations where&amp;nbsp;you or your report users are wondering what is the actual query executed by Reporting Services.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;While you can accurately answer this question using a profiler connected to the data source machines or in some cases by opening the dataset properties dialog, there are other options directly available from within reports.&amp;nbsp; You will&amp;nbsp;probably encounter the following main situations:&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Parameterized or regular datasets&lt;BR&gt;&lt;/STRONG&gt;In order to see the underlying&amp;nbsp;query command text&amp;nbsp;in the report,&amp;nbsp;add a textbox with the following RDL expression, utilizing the &lt;A class="" href="http://msdn.microsoft.com/en-us/library/cc281085.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/cc281085.aspx"&gt;built-in DataSets collection&lt;/A&gt; and the CommandText property.&amp;nbsp; This can be particularly useful when you use an expression-based query command text, as the CommandText&amp;nbsp;property&amp;nbsp;will contain the evaluated expression result.&amp;nbsp;&lt;BR&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; =DataSets!DataSetName.&lt;FONT color=#0066ff&gt;CommandText&lt;/FONT&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;If you use report parameters bound to&amp;nbsp;query parameters in your dataset, you can display those values by accessing the &lt;A class="" href="http://msdn.microsoft.com/en-us/library/aa337293.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/aa337293.aspx"&gt;built-in Parameters collection&lt;/A&gt;.&amp;nbsp; For example, assuming P1 is a multi-valued report parameter, we utilize the &lt;A class="" href="http://msdn.microsoft.com/en-us/library/b65z3h4h.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/b65z3h4h.aspx"&gt;Join&lt;/A&gt; function to show the current parameter values as comma-separated list:&lt;BR&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; ="P1's values: " &amp;amp; &lt;FONT color=#0066ff&gt;Join&lt;/FONT&gt;(Parameters!P1.Value, ", ")&lt;BR&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Report Model based datasets&amp;nbsp;&lt;BR&gt;&lt;/STRONG&gt;Using Report Builder 2.0 with a shared data source on your report server that points to an existing&amp;nbsp;report model is a very powerful combination.&amp;nbsp; It enables&amp;nbsp;users to create quite complex queries easily that would be rather difficult to write as actual SQL or MDX queries.&amp;nbsp; Similar to above, you can use the RewrittenCommandText property to get&amp;nbsp;the model-based query with parameter values rewritten as literals: &lt;BR&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp; =DataSets!DataSetName.&lt;FONT color=#0066ff&gt;RewrittenCommandText&lt;/FONT&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;You can make this more sophisticated by only dynamically showing the query text in the report, e.g. based on a parameter or by toggling the visibility using another textbox:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://blogs.msdn.com/photos/robertbruckner/images/9016340/original.aspx" mce_src="http://blogs.msdn.com/photos/robertbruckner/images/9016340/original.aspx"&gt;&lt;/P&gt;
&lt;P&gt;More information about all &lt;A class="" href="http://msdn.microsoft.com/en-us/library/ms157274.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms157274.aspx"&gt;built-in global collections&lt;/A&gt;&amp;nbsp;accessible from RDL expressions is available in SQL Server Books On Line.&amp;nbsp; Note that some of the server related properties don't have values in local preview, only when connected to a server in Report Builder 1.0 / 2.0&amp;nbsp;or running directly on a server.&lt;/P&gt;
&lt;P mce_keep="true"&gt;The CommandText property value always represents the original command text as defined in the RDL dataset.&amp;nbsp; The RewrittenCommandText property value is populated at runtime from data extensions that support the &lt;A class="" href="http://msdn.microsoft.com/en-us/library/microsoft.reportingservices.dataprocessing.idbcommandrewriter.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/microsoft.reportingservices.dataprocessing.idbcommandrewriter.aspx"&gt;IDbCommandRewriter&lt;/A&gt; interface.&amp;nbsp; This interface allows Reporting Services to read the CommandText back from the data extension after it has merged the original command text and parameter values.&amp;nbsp; If a data extension doesn't support this interface, RewrittenCommandText will be null/Nothing.&amp;nbsp; Currently the built-in report model data source supports this interface, although it could also be implemented by any&amp;nbsp;custom data extension.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9016217" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RDL/default.aspx">RDL</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2008/default.aspx">RS 2008</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2005/default.aspx">RS 2005</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/Data+Connectivity/default.aspx">Data Connectivity</category></item><item><title>Using Analysis Services Parent-Child Hierarchies in Reports</title><link>http://blogs.msdn.com/robertbruckner/archive/2008/10/14/using-analysis-services-parent-child-hierarchies-in-reports.aspx</link><pubDate>Wed, 15 Oct 2008 08:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8999771</guid><dc:creator>Robert M. Bruckner</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/robertbruckner/comments/8999771.aspx</comments><wfw:commentRss>http://blogs.msdn.com/robertbruckner/commentrss.aspx?PostID=8999771</wfw:commentRss><description>&lt;P&gt;One of the questions that I answer&amp;nbsp;somewhat frequently, is about recursive groupings in Reporting Services&amp;nbsp;and how to utilize parent-child hierarchies from an Analysis Services cube.&lt;/P&gt;
&lt;P&gt;The &lt;A class="" href="http://blogs.msdn.com/robertbruckner/attachment/8999771.ashx" mce_href="http://blogs.msdn.com/robertbruckner/attachment/8999771.ashx"&gt;attachment&lt;/A&gt; of this posting contains a small report example I put together based on the Analysis Services 2005 &lt;A class="" href="http://www.codeplex.com/MSFTDBProdSamples" target=_blank mce_href="http://www.codeplex.com/MSFTDBProdSamples"&gt;Adventure Works DW&lt;/A&gt; sample&amp;nbsp;cube, and demonstrates a recursive hierarchy using the employee dimension.&amp;nbsp; It works both in Reporting Services 2005 and 2008.&amp;nbsp; Partial screenshot of the attached sample report output:&lt;BR&gt;
&lt;CENTER&gt;&lt;IMG src="http://blogs.msdn.com/photos/robertbruckner/images/9016407/original.aspx" mce_src="http://blogs.msdn.com/photos/robertbruckner/images/9016407/original.aspx"&gt;&lt;/CENTER&gt;
&lt;P&gt;Particular areas to&amp;nbsp;note / steps:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The table group is defined as a recursive grouping based on the UniqueName and ParentUniqueName property values from the Analysis Services parent-child hierarchy.&amp;nbsp; Consequently, there is only&amp;nbsp;one group defined at design time, that automatically expands recursively at runtime based on the parent-child hierarchy in the cube.&lt;BR&gt;Group expression:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT face="courier new,courier"&gt;=Fields!Employees.&lt;FONT color=#0066ff&gt;&lt;STRONG&gt;UniqueName&lt;BR&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;Parent group&amp;nbsp;expression:&amp;nbsp;&amp;nbsp; &lt;FONT face="courier new,courier"&gt;=Fields!Employees.&lt;FONT color=#0066ff&gt;&lt;STRONG&gt;ParentUniqueName&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;Group visibility is toggled by the textbox within the group, to enable automatic drilldown along the parent-child hierarchy.&lt;BR&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;In the example, manager names in the employee hierarchy (i.e. they have at least one employee reporting to them) are shown in bold font.&amp;nbsp; This is accomplished with a count aggregate function that takes into account the full recursive hierarchy of all children by explicitly specifying the Recursive keyword as third argument.&amp;nbsp;&amp;nbsp;The textbox FontStyle property is set to the following RDL expression:&lt;BR&gt;&lt;FONT face="courier new,courier"&gt;=iif(Count(Fields!Employees.Value, "table1_Details_Group", &lt;STRONG&gt;&lt;FONT color=#0066ff&gt;Recursive&lt;/FONT&gt;&lt;/STRONG&gt;) &amp;gt; 1, "Bold", "Normal")&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;The textbox showing the employee name uses dynamic left padding (in RS 2008 paragraph indents can be used as well) based on the current recursive hierarchy level using the &lt;A class="" href="http://msdn.microsoft.com/en-us/library/ms155841(SQL.100).aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms155841(SQL.100).aspx"&gt;Level()&lt;/A&gt; function.&lt;BR&gt;For example:&amp;nbsp; &lt;FONT face="courier new,courier"&gt;=20 * &lt;STRONG&gt;&lt;FONT color=#0066ff&gt;Level()&lt;/FONT&gt;&lt;/STRONG&gt; &amp;amp; "pt"&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;Recursive hierarchies can also be very useful&amp;nbsp;for relational data sources, not just parent-child hierarchies in cubes.&amp;nbsp; I hope the explanations in this posting&amp;nbsp;and the attached sample report resolve some of the mystery around parent-child / recursive hierarchies, and using regular&amp;nbsp;vs. recursive aggregate functions.&amp;nbsp; Enjoy!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8999771" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/robertbruckner/attachment/8999771.ashx" length="9430" type="application/rdl" /><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RDL/default.aspx">RDL</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2008/default.aspx">RS 2008</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/RS+2005/default.aspx">RS 2005</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/Data+Connectivity/default.aspx">Data Connectivity</category><category domain="http://blogs.msdn.com/robertbruckner/archive/tags/Report+Design/default.aspx">Report Design</category></item></channel></rss>