{"id":162,"date":"2016-11-28T00:00:00","date_gmt":"2013-01-01T00:00:00","guid":{"rendered":"https:\/\/www.sqlhammer.com\/rotating-tables-indicators-ssrs-2016"},"modified":"2026-03-18T21:52:44","modified_gmt":"2026-03-18T21:52:44","slug":"rotating-tables-indicators-ssrs-2016","status":"publish","type":"post","link":"https:\/\/sqlhammer.com\/index.php\/2016\/11\/28\/rotating-tables-indicators-ssrs-2016\/","title":{"rendered":"Rotating Tables with Indicators in SSRS 2016"},"content":{"rendered":"<p>When creating SSRS (SQL Server Reporting Services) dashboards, I like to use <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/ee633651.aspx\">indicators<\/a> to give clear and colorful\u00a0data visualizations. In this post I am going to cover the use of indicators and demonstrate how to rotate your tables so that you can display the indicators horizontally. The method in this post has been tested on SSRS 2016 RTM with Visual Studio 2015 and SSDT v14.<\/p>\n<p><a href=\"http:\/\/www.sqlhammer.com\/?attachment_id=3362\"><img decoding=\"async\" src=\"http:\/\/www.sqlhammer.com\/wp-content\/uploads\/2016\/11\/VS-Version1-300x163.png\" alt=\"\" \/><\/a><\/p>\n<h2>Rotating your table<\/h2>\n<p>Start off by creating an empty report. Do not bother with the report wizard builder for this. Once created, add an SSRS <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/dd220592.aspx#Matrix\">Matrix<\/a> object to your report.<\/p>\n<p><a href=\"http:\/\/www.sqlhammer.com\/?attachment_id=3364\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/matrix1.png\" alt=\"\" \/><\/a><\/p>\n<p>Below the report you should see two sections, one for your Row Groups and one for your Column Groups. In order to rotate your table you need to delete the details out of the Row Group section and add it as a Child Group in the Column Group.<\/p>\n<p><a href=\"http:\/\/www.sqlhammer.com\/?attachment_id=3367\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/Del-Row-Group1.png\" alt=\"\" \/><\/a><\/p>\n<p>Go ahead and delete the related rows and columns as well.<\/p>\n<p><a href=\"http:\/\/www.sqlhammer.com\/?attachment_id=3368\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/Del-Row-Group2.png\" alt=\"\" \/><\/a><\/p>\n<p>To add the Child Group, right-click the ColumnGroup and select Add Group > Child Group.<\/p>\n<p><a href=\"http:\/\/www.sqlhammer.com\/?attachment_id=3369\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/Add-Child-Group1.png\" alt=\"\" \/><\/a><\/p>\n<p>Select Show detail data and click OK.<\/p>\n<p><a href=\"http:\/\/www.sqlhammer.com\/?attachment_id=3366\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/Add-Child-Group2.png\" alt=\"\" \/><\/a><\/p>\n<p>At this point you have rotated your table. As you can see below, we end up with an extra row for some reason and trying to delete the bottom row does not work.<\/p>\n<p><a href=\"http:\/\/www.sqlhammer.com\/?attachment_id=3371\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/Del-row-1.png\" alt=\"\" \/><\/a><\/p>\n<p>Instead, you need to move the fields down and delete the top row.<\/p>\n<p><a href=\"http:\/\/www.sqlhammer.com\/?attachment_id=3370\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/Del-row2.png\" alt=\"\" \/><\/a><\/p>\n<p>With that pesky row removed. You can see the results of your work.<\/p>\n<p><a href=\"http:\/\/www.sqlhammer.com\/?attachment_id=3372\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/Horizontal-Table-Preview1.png\" alt=\"\" \/><\/a><\/p>\n<h2>Using indicators<\/h2>\n<p>If you are looking for a tabular report you can stop here. This does not look very nice on a dashboard, however. Now I will show you how to convert this into a grouping of colorful indicators.<\/p>\n<p>Remove the [Rating] field from the bottom row and create an indicator by right-clicking on the placeholder and selecting Insert > Indicator. Then select the type you would like.<\/p>\n<p><a href=\"http:\/\/www.sqlhammer.com\/?attachment_id=3374\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/Add-Indicator1.png\" alt=\"\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.sqlhammer.com\/?attachment_id=3373\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/Add-Indicator2.png\" alt=\"\" \/><\/a><\/p>\n<p>A gauge panel will be created with an indicator within it. In this demonstration we are looking to use the town rating as a singleton value and do not expect there to be multiple rows because we rotated the table. To do this, you need to edit the field in the expression editor and remove the SUM() function.<\/p>\n<p><a href=\"http:\/\/www.sqlhammer.com\/?attachment_id=3377\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/Add-Indicator3.png\" alt=\"\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.sqlhammer.com\/?attachment_id=3376\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/Add-Indicator4.png\" alt=\"\" \/><\/a><\/p>\n<p>Now that the field has been selected, you should customize the colors and indicator levels to suit your needs and data set. I typically change the States Measurement Unit to Numeric and then either hard-code or create expressions to dynamically derive the indicator state thresholds.<\/p>\n<p><a href=\"http:\/\/www.sqlhammer.com\/?attachment_id=3378\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/Add-Indicator4a.png\" alt=\"\" \/><\/a><\/p>\n<p>Now that your indicator icon is configured, it is time to label the dots. Right-click on the indicator and select Add Label.<\/p>\n<p><a href=\"http:\/\/www.sqlhammer.com\/?attachment_id=3380\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/Add-Indicator5.png\" alt=\"\" \/><\/a><\/p>\n<p>I find that the label is positioned poorly and too small by default. Adjusting the label is more challenging through the designer than I would like. Instead, modify the Height, Width, Top, and Left properties to get the label centered over your indicator and appropriately sized.<\/p>\n<p><a href=\"http:\/\/www.sqlhammer.com\/?attachment_id=3382\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/Add-Indicator9.png\" alt=\"\" \/><\/a><\/p>\n<p>Next, right-click on the label and select Label Properties to configure the field setting.<\/p>\n<p><a href=\"http:\/\/www.sqlhammer.com\/?attachment_id=3381\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/Add-Indicator6.png\" alt=\"\" \/><\/a><\/p>\n<p>In the Text section, input the [Town] field. You can also use the <em>fx<\/em> button to the right for dynamic labeling.<\/p>\n<p><a href=\"http:\/\/www.sqlhammer.com\/?attachment_id=3379\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/Add-Indicator7.png\" alt=\"\" \/><\/a><\/p>\n<p><strong>Congratulations! You are done. <\/strong><\/p>\n<p>You have created a horizontal table of indicators, letting you know at-a-glance which town is the best.<\/p>\n<p><a href=\"http:\/\/www.sqlhammer.com\/?attachment_id=3383\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/Final-Preview.png\" alt=\"\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>When creating SSRS (SQL Server Reporting Services) dashboards, I like to use indicators to give clear and colorful\u00a0data visualizations. In this post I am going to cover the use of indicators and demonstrate how to rotate your tables so that you can display the indicators horizontally. The method in this post has been tested on [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,6,10,13,15,16,18,19,20,21],"tags":[],"class_list":["post-162","post","type-post","status-publish","format-standard","hentry","category-administration","category-career","category-disaster-recovery","category-microsoft-sql-server","category-powershell","category-sql-agent","category-ssas","category-ssis","category-ssrs","category-t-sql"],"_links":{"self":[{"href":"https:\/\/sqlhammer.com\/index.php\/wp-json\/wp\/v2\/posts\/162","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sqlhammer.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sqlhammer.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sqlhammer.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sqlhammer.com\/index.php\/wp-json\/wp\/v2\/comments?post=162"}],"version-history":[{"count":1,"href":"https:\/\/sqlhammer.com\/index.php\/wp-json\/wp\/v2\/posts\/162\/revisions"}],"predecessor-version":[{"id":424,"href":"https:\/\/sqlhammer.com\/index.php\/wp-json\/wp\/v2\/posts\/162\/revisions\/424"}],"wp:attachment":[{"href":"https:\/\/sqlhammer.com\/index.php\/wp-json\/wp\/v2\/media?parent=162"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sqlhammer.com\/index.php\/wp-json\/wp\/v2\/categories?post=162"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sqlhammer.com\/index.php\/wp-json\/wp\/v2\/tags?post=162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}