Skip Navigation LinksHome > SSW Standards > Better Software Suggestions > SSW Microsoft SQL Reporting Services Suggestions

Every day there are little things that we find annoying with the programs we use. Sometimes we just can't quite do what we want or there may just be room for improvement. We could write books about it, like Annoyances.org, but we thought this would be more constructive. Here is what we would like Microsoft to change within SQL Server Reporting Services.

Microsoft SQL Reporting Services Suggestions
  1. ASP.NET 2 Master page style report templates
  2. Report output CSS for specific report format
  3. Add option to inherit a template (aka Master Page)
  4. Browser Integration for Editing Reports
  5. Query Strings
  6. Syntax Checker for Expression fields * Fixed by Microsoft in Reporting Services 2005 *
  7. The Task List should be more interactive, add filtering and auto shortcuts
  8. Please add a Global!ExecutionTimeTaken * Fixed by Microsoft in Reporting Services 2005 *
  9. Intellisense for Expression fields * Fixed by Microsoft in Reporting Services 2005 *
  10. Report Parameter Control - Date Pickers and Auto buttons
  11. Toggle "Select All" in multi-value parameter lists * Fixed by Microsoft in Reporting Services 2005 Service Pack 2 (coming soon) *
  12. SQL Reporting Services Diagnostics System * Fixed by Microsoft in Reporting Services 2005 *
  13. User Interface: A visual indication of which tabs are not on their defaults (Updated!)
  14. User Interface: List control grouping parameters
  15. Charting - Flexibility to resize individual chart elements
  16. Charting - Default maximum and minimum scale values for charts
  17. Add an Internet Content Control for embedding HTML
  18. Rich Textbox Control
  19. Multi Select in Parameters * Fixed by Microsoft in Reporting Services 2005 *
  20. Long Running Reports - Delay reporting
  21. Select Reports to Import from Access
  22. The Task List is lost on restart of Visual Studio
  23. Tool tips on column headings
  24. Show / hide columns
  25. Get the XML and SQL behind a report
  26. Embedded Images
  27. Linked Images that are deployed to a relative path don't show in Designer
  28. Set the default zoom level
  29. Stop/start the Reporting Services service from service manager
  30. Show built-in formatting options for report controls
  31. Add the ability to dynamically change the title of the report
  32. Version Info
  33. Add icon to denote Required Parameters
  34. Add MS Word to the Export list
  35. Add a Calendar View and Gantt Chart Control - Like MS Project
  36. Parameters - When you add a Parameter it should automatically add a label to the designer
  37. Add an AutoPostback property for parameters
  38. Add option to select a Linked DataSource
  39. A much better Matrix control - add pivot table interactivity without OWC
  40. Report builder should default to a home directory
  41. Help me use Report Builder 2
  42. The wizard should accept style templates (aka .css files)
  43. Auto-sizing columns
  44. Sample report showing Recursive Data
  45. XML Data Sources should accept XPath
  46. The NoRow property on table control should be improved to allow more control.
  47. Pagination does not work with hidden items for HTML output
  48. Choose how IIS authenticates clients
  49. No need of page break in the subscription email with render format of Web Archive
  50. Report subscriptions are disabled if a report contains User information e.g. User!UserID
  51. Fix all inconsistent names – where different names have been used for the same properties
  52. Schedule printing a report directly to a printer
  53. Image display
  54. Image size is not correct in subscription
  55. Add trigger in report subscription email to resend report
  56. Sample Reports for Report Execution Log doesn't work properly
  57. Improve compatibility for Firefox
  58. Add progress prompt on the Exporting Progress Form
  59. Add a special data source type wrapper for Access
  60. Make the IIS service more visible
  61. Add back the different icon for calculated values
  62. Make this error more friendly by making it visually consistent with the SQL Server Configuration Manager
  63. Make the title of the report more descriptive
  64. Make every report has its own deployment path
  65. Add built-in date function
  66. Help more on the expression builder
  67. Add a lookup form to search the big table
  68. Insert dataset as a table (with totals)
  69. Report wizard intelligence
  70. Make long-running processes user-friendly
  71. Change no bold
  72. Dataset from another report
  73. Add tick to check if Reporting Service is the latest
  74. Let SharePoint work with Reporting Service easily
  75. More information on SharePoint Integration
  76. Sample in the reports document library
  77. Test dTest data source connection
  78. The subscription needs an extra Name field
  79. Highlight the current field in yellow in the "Diagram Pane"
  80. Add a page to configure the export format
  81. Add a connection string builder
  82. Allow me to report against both LINQ Data Sources (.edmx and .dbml)
  83. Report Builder 2.0 - Offer the ability to report against SharePoint
  84. Allow Vertical text writing mode to also have bottom to top
  85. Add parameter type for common periods
  86. Interactive Sort does not work well with chart
  87. Reports should have an easy way to email to another person
  88. Show strikethrough in exported PDF file
  89. Developing - Sounds
  90. Give users a runtime option to increase or decrease decimals places
  91. Linked Reports - No hyperlink available to Linked Report on Property General page

Microsoft SQL Reporting Services Suggestions

  1. ASP.NET 2 master page style report templates

    We, like most of you, use letterheads and standard document templates to ensure that every document that leaves the company is the same. So why should this be any different with your reports? Reporting Services does not have this functionality, which causes a few big problems:

    1. You have to copy and paste your company logo into every single header of your existing and new reTest data source connection
    2. The subscription needs an extra Name field
    Microsoft SQL Reporting Services suggests all this into every report, it is hard to make sure that everything is consistently aligned and sized for all reports; the designer is very flexible so it is easy to get this wrong.
    Figure: Reports should copy the concept of ASP.NET 2.0 master pages so that you can have a template master that all reports use
  2. Report output CSS for specific report format

    With web pages you define multiple .css to define styles for different output devices. E.g. Screen.css, Print.css and Mobile.css. So when someone prints the page it will say use a much smaller font.
    Is there a way this can happen in Reporting Services reports – like when they choose to export to Pdf it formats with a smaller font. Eg. Screen.css, Pdf.css, Excel.css, Mobile.css.

  3. Add option to inherit a template (aka Master Page)

    Like Master Pages in .NET 2.0, reports should be able to inherit from a master report. When a report is added inheriting a Master Report, it can automatically have standard header & footer.

    Figure: When adding a new item in VS.NET 2005, you may choose a master page to inherit from
  4. Browser Integration for Editing Reports

    Although perhaps rather difficult, when viewing a report from ReportManager I want to be able to click a button (preferably like the one in IE for editing pages using FrontPage) and the Report Definition File is automatically downloaded and then opened in Visual Studio (providing the RS client is installed).

    This is already possible for editing pages directly in Frontpage via a button in the web browser. To see how to set this up, see our rule on Rules to Better Websites - Development.

    Frontpage
    Figure: Quickly editing a webpage using the browser integration for Frontpage. Can SQL Reporting Services developers be offered the same functionality?

    In this way all employees (with sufficient privilege) can conveniently make changes to the report when needed. To see why we think users will be able to efficiently change web documents see our rules to better websites

    A possible solution would be to have the report server append a meta tag to the output html source. A browser plugin would then detect the meta tag and allow editing of the appropriate report.

  5. Query Strings

    When a report is viewed either directly from the ReportServer or via the ReportManager the querystring for the report including the parameter values will automatically be updated after the "Preview Report" button has been pressed.

    In this way, a report with the given parameters can be easily bookmarked or passed on using only the address in the address bar.

    Report with incomplete query string
    Figure: This report has an incomplete query string - when you view a report the query string should automatically get re-generated

    For example, since I have used non-default parameter values, the query string will read:

    http://localhost/reportserver?%2fSSW+Exchange+Reporter%2fEmailSentItemByDate&rs:Command=Render&DateStart=1/1/2004&DateEnd=31/1/2004

    This could be an option for either the report (specified at design time) or for the entire report server (specified at install time / via server config files) so that they can be turned on or off (for those with issues with privacy). See why we think query strings are important on our rules to better websites

    It is true that if there are a large number of parameters the query string method may not work. All software has limitations - just put a warning messagebox when you turn it on.

  6. Syntax Checker for Expression fields - * Fixed by Microsoft in Reporting Services 2005 *

    After entering an expression into a field there should be a button to verify the syntax within that expression. At the moment you have to run the page to see the error. It is such a pain.

    Figure below shows the expression box. Please add a button "Check Syntax".

     

  7. The Task List should be more interactive, add filtering and auto shortcuts

    When you use the task list to manage your SQL Reporting Services issues (such as those generated during the import from Access) we would like to be able to:

    1. click each warning and have it take us to the place in the report design (or at least open the relevant report).
    2. As issues are resolved they are automatically removed from the task list
    3. Filter on the current file only, so that we can see only the warnings for the report that we're working on. (If turned on).

    This is the same functionality provided for coding in Visual Studio, but doesn't work here.

     

  8. Please add a variable Global!ExecutionTimeTaken - * Fixed by Microsoft in Reporting Services 2005 *

    NOTE: You can do this using an expression. See our rule on Rules to Better Reporting Services.

    We need an easy way to see how long a report takes to execute. Often when you add controls and grouping to a complicated page you want a way to test the performance impact of these changes.

    good - useful footer
    Figure: It is useful to show the execution time along with other information at the bottom of your report
  9. Intellisense for Expression fields - * Fixed by Microsoft in Reporting Services 2005 *

  10. Use Intellisense inside expression fields to pre-empt what operation we want to perform. Because there is still a huge number of methods available other than what's in the pre-defined expressions panel this would be convenient. For example using controls inside another namespace such as System.String or a custom code function denoted with the Code.<Function> operations.

  11. Report Parameter Control - Date Pickers and Auto buttons

  12. There is no control over the parameter input bar on the reports viewed through the browser other than type validation and drop down lists. We would like to see more customisation of these controls, such as:

    • Next Month / Quarter / Year
    • Previous Month / Quarter / Year

    We like Peter Blum's date picker control.

    ]Figure: We would like to see better date navigation controls (like these) in Reporting Services

    Besides, it would be great to have a DateRangePicker control. Instead of picking the start date and end date in two separate controls, we can pick the start date and end date easily in the same control.

    Figure: DateRangePicker

    We would also like to have such controls in ASP.NET.

  13. Toggle "Select All" in multi-value parameter lists  * Fixed by Microsoft in Reporting Services 2005 Service Pack 2 (coming soon) as per Brian Welcker's blog, see below *

    The initial release of Reporting Services 2005 comes with a "Select All" option for multi-valued parameter lists. With SP1 this has been removed because, according to Microsoft, "the option affects performance when used with a multidimensional data source". That's all well and good, but what if my parameter list only has 5 or 10 values? The solution is to give the user an option (in the form of a checkbox in the parameter properties) to include a "Select All" option. There is a workaround which involves modifying your SQL query, but this is quite tedious.

    UPDATE: This was fixed by Microsoft in Reporting Services 2005 Service Pack 2 as per Brian Welcker's blog:
    http://blogs.msdn.com/bwelcker/archive/2006/08/14/700189.aspx

    Figure: Microsoft added and then removed the "Select All" option from multi-valued parameter lists, but we think it's more flexible to be given the option to show/hide this property
  14. A SQL Reporting Services Diagnostics System  * Fixed by Microsoft in Reporting Services 2005 *

    I believe that programs that have a lot of components should have a diagnostics system. (e.g. Start | SQL Server 2000 | Reporting Services | Diagnostics). For example, it should at least check that the page and system is working rather than giving a security error when you actually attempt to run a page.

    For example, we installed a Yukon Beta, with a Whidbey Beta, and the IIS settings were reconfigured but there was no indication of a problem except by running an actual report. But having fixed that problem, we cant be sure that it wont break on some other functionality - a diagnostics system would tell us nothing is wrong.

    In our products (for example SSW Code Auditor) we implement a "Run Unit Tests" item on the help menu that will open NUnit and run a number of tests to verify the configuration settings are functioning.

  15. User Interface: Please give me a visual indication of which tabs are not on their defaults

    For example, I should be able to see that Sorting has something in it before I get to it I would suggest a different colour background on the tab or even a little asterisk or marker to suggest fields of interest. As per David Leans' suggestion, this would best be done with the tab label being put in bold.
    High lighted tabs
    Figure 6. A value has been entered on the sorting tab so there should be some indication

    This way editing a report that someone else has designed would be much easier as I could quickly see what fields have non-empty / non-default properties assigned.

     

  16. User Interface: List control grouping parameters (Inconsistency)

    The grouping controls for a table control are nice in that you can conveniently manage them with a straight forward add, edit, and delete buttons. But why does the list box control have such a horrible one?

    Grouping list controls
    Figure 7. The good! Grouping on the table control.

     

    whereas for the list box control we need to navigate to a similar screen through the button.

    Edit list group

    Figure 8. The bad! Grouping on the list control

    If this button is necessary, then tie it in with the idea above, so that you can conveniently see whether groups are defined. Or this could be done by having the "Edit" button disabled if no groups exist and an additional button for "New Detail Group".

  17. Charting - Flexibility to resize individual chart elements

  18. Charting controls need to be more flexible. You cannot resize individual elements of the chart control such as the size of the key or the plot area. These are basic properties that we have in Excel charts but not in SQL Reporting Services charting components.

     

  19. Charting - Default maximum and minimum scale values for charts

    Many of the properties of the charting component do not allow expressions for their values. Some major examples include dynamic size (so that we could base it on the number of items), the scale (so that we can make the max scale for multiple graphs all appear the same).

    The max and min scale properties have been partially fixed in Reporting Services 2005 - you can now use expressions in the Max Value and Min Value fields of your charts. See our rule on Rules to Better Reporting Services.

    I say partially, because you still have to manually set these values on a chart and it requires a bit of a hack to do (see the above rule). Why can't a chart automatically work out its maximum and minimum value based on the grouping level? There should be a default value, and an option to enter an expression.

    Figure: Reporting Services will work out the maximum and minimum values for the chart's scale - currently you have to do it manually
  20. Add an Internet Content Control for embedding HTML

    Reporting Services is missing the ability to embed web pages into its reports. For example, say you have some web pages that are updated regularly (e.g a project page) and you want these pages to be emailed to you weekly. It would be great to take advantage of the Reporting Services subscription engine, but we need to be able to embed HTML pages into RS reports to get this done.

    We think that an Internet Content Control will be introduced and it will have the ability to:

    • Set the resulting HTML at the control level
    • Set the CSS property
    • Set the title property of the HTML page
  21. Rich Textbox Control

    We need a textbox control that you can format the internal content. For example we might want to have text display like this:

        This is a bold label with italics in it too.

    This would be useful for building reports that are used for invoicing or contracts that you use all the time but need to be tailored for a specific contact.

     

  22. Multiple Select in Parameters - * Fixed by Microsoft in Reporting Services 2005 *

    We need a parameter type that will enable us to have a list of values (likely from a query) such that you can select multiple values from the list and then use the set of parameter values in your dataset queries or report items. For example, we want to allow our users to report on set of suppliers all at once, rather than one at a time.

    New Parameter

    Figure. Add a new datatype - MultipleSelect to allow selection of multiple parameter values from a list.

    The resulting control displayed on the parameter bar will be a checkbox list control. See why.

    The parameter value would then require restrictions put onto it so that it can only be used in aggregate or set functions within the dataset. For example:

           
                                    SELECT au_lname, state
           
                                    FROM authors
           
                                    WHERE state IN ('CA', 'IN', 'MD')
  23. Long Running Reports - Delay reporting

    If you have a report which is known to run for a long time, an administrator will be able to select an option for the report so that the user is notified that the report is going to take a while to execute, and are forced to have the report returned via email. The server can then complete processing on a background thread.

     

  24. Select Reports to Import from Access

    When you use the "Import Reports" from Access functionality, it always imports all the reports rather than allowing you to import just a few.

    For example, the import feature within Access allows this. You should be able to select only the reports you want.

    Import reports
    Figure 10. Importing reports from another Access database within Access. In SQL Reporting Services you should be able to selectively import reports also.

  25. The Task List is lost on restart of Visual Studio

    The task list is a handy feature built into Visual Studio. It provides a single point of reference for any user tasks, compile-time warnings and errors found in your reports. In most cases you can double-click the task to jump to the offending line of code or control. For some reason Reporting Services does not retain this list of errors once you close Visual Studio, so you have to copy and paste the errors into notepad, which can be annoying. (Note: this works for items manually created.)

    When the report is first imported there are comments in the .RDL file for each warning; however, after any changes to the reports these disappear. We would like to see this task list retained, so that the developer can check off tasks in the task list as they are done.

    Task list
    Figure: If I close down this solution, all the task list items related to the import process are lost.
  26. Tool tips on column headings

    It would be handy to show a descriptive tool tip when you move the cursor over a column heading. This would be great because the user could see more information about the data in a column.


    Figure: it would be great to have descriptive tooltips like this when you mouse over a heading

  27. Show / hide columns

    Sometimes we want to print a report with certain columns shown or hiding. This would be great for custom reporting without having to go back to the developers to make the change.


    Figure: It would be great to have MS Access-style show/hide columns

  28. Get the XML and SQL behind a report

    When I run a report, sometimes the data doesn't look right. Instead of chasing the developer to investigate, I want to be able to find out the SQL behind the report and run it myself using SQL Server Management Studio. I would also like to be able to see the XML (RDL) behind the report.

  29. Embedded Images

    If you create a report with an embedded image and then you delete that image, it remains in the xml report definition, therefore unnecessarily increasing report size. To get rid of the image, you need to either:

    • Manually delete <EmbeddedImages></EmbeddedImages> from xml.
    • Understand that you deleting the image control – there is a 1:many relationship between embedded images and image controls (you can reuse images in multiple places on the report). To delete an embedded image, select “Report” – “Embedded Images”.

    What should happen is - when you delete an image control it asks:

    "Would you also like to delete the embedded image?"

    Yes / No

    If you select Yes it could open this "Embedded Images" form

  30. Linked Images that are deployed to a relative path don't show in Designer

    When we use images in our reports we like to make a separate project to deploy the images to a path relative to the report location (e.g. ./Images/logo.gif). This process is detailed more in the reporting services whitepaper (under "Tip 3 - Organizing Images" at the end of the paper).

    The problem is that during design time, despite the images still being correctly in the relative path to the .rdl files, they don't show up in the designer. Understandably the relative path won't necessarily be correct for the deployed version to work, but if the path is valid then the image should show.

    Linked Images

    Figure 11. The path on the images is correct both for the deployed and non-deployed reports. It should show in the designer.

  31. Set the default zoom level

    We need to be able to set the default zoom level. For example, reports should open with the zoom level set to "Page Width" rather than 100%.

    Reporting Services Zoom

  32. Stop/start the Reporting Services service from service manager

    Since reporting services is part of SQL Server, we should be able to control the service from SQL Server Services Manager.

    Services Manager

  33. Show built-in formatting options for report controls

    When you select formatting for text in a textbox or other Reporting Services report controls, the built in formatting options should be selectable from the list (such as C for currency and P for percentage)

    Formatting Control In Access
    Figure: Just like when setting formatting for controls in Access...

    Reporting formatting options in dll
    Figure: ...there should be built-in formatting options in the Format property for a report control

  34. Add the ability to dynamically change the title of the report

    Say you have a sales report that you generate once a month and export to a file. You want to build an archive of these reports for comparison and to keep a history of sales. You also want to expose this history for searching and browsing through a content portal such as Plumtree or Microsoft SharePoint. Currently you cannot do this with Reporting Services, as the report title is static.

    Reporting Static Title
    Figure: You cannot change the title in Report Manager, which makes it hard to index, search and archive reports

    Ideally there should be a Page Title attribute in the report properties dialog (shown below) which lets you enter a custom title to display with the report. You should also be able to enter an expression with parameters into the title, for example, {ReportName} - {Month} {Year}.

    Reporting Title Tag
    Figure: Add a property to this table called Title Tag

    Reporting Title HTML
    Figure: This is the HTML Title Tag you need to be able to change

    These parameters should appear in the report parameters dialog so that you can link them to fields in your data source.

    ReportingReport Parameters
    Figure: You should be able to add report parameters to your report which can then be used in an expression for the page title

  35. Version Info


    Figure: Reporting Services does not have explicit version information.

    This needs:

  36. Add icon to denote Required Parameters

    As there is the option to allow some parameters to be left blank, required parameters should have an icon depicting that they are required. On reports that have many parameters, this makes it easier for the users to distinguish between required and non required parameters.


    Figure: Blank and Null Parameters are allowed


    Figure: But what RS needs is the ability to show a Required Field Icon like in this example

  37. Add MS Word to the Export list

    There should be an option in the Export to file list that allows a user to export to a Word document.


    Figure: Current RS Export List

  38. Add a Calender View and Gannt Chart Control - Like MS Project

    There should be a calendar control (similar to that in MS Project) that allows a user to drop Calendar related data onto it which is automatically puts into the right place. There should also be a Gantt chart control or a Gantt chart type option added to the existing chart control.


    Figure: RS needs the Calendar Control like MS Project


    Figure: RS needs the Gantt Control like MS Project

  39. Parameters - When you add a Parameter it should automatically add a label to the designer

    Too many developers forget to add their parameters to the design of a report. Then when the user exports it to say a .pdf, they see the report, but they dont know the parameters that gave the data they are looking at.

    When a parameter is added to a report, the labels should be automatically added that display the parameters being used on the report.

  40. Add an AutoPostback property for parameters

    Especially when there is only one parameter people dont want to click View Report.

    When a parameter is displayed (especially when using combo boxes and multi select is not enabled), the report should automatically refresh upon selecting a new parameter from the combo.

    This would make it consistent with the ASP.NET.

  41. Add option to select a Linked DataSource

    There should be an option Add Linked Data Source; that is, a way to add Linked Data Sources so that the same Data Sources can be shared by many different report server projects.

  42. A much better Matrix control

    There should be a Matrix control that has Pivot Table interactivity (like Cognos). It should allow for Drag and Drop functionality and allow the user to drill through automatically.
    While drag and drop, and auto-drill through can be seen in the Reports Builder, a similar control should be implemented for the Report Developers to use as well.

  43. Report builder should default to a home directory

    When a user creates a report using the Report Builder, the save path currently defaults to the Report Server's root directory this seems to be the only place you would not like users to save reports to.

    Therefore, when saving the ad-hoc reports created by Report Builder, the save path should default to a directory such as the Windows Username, Eg. \AdamCogan\Report1


    Figure: Saving currently defaults to the Root directory... it should default to a Username folder instead

  44. Help me use Report Builder 2

    I have Report Builder 2 on my PC but when I click "Report Builder" it still opens version 1.

    Why not automatically set the 'Custom Report Builder launch URL' field
    (to http://SERVERNAME/ReportServer/ReportBuilder/ReportBuilder_2_0_0_0.application) when I install the latest SQL Server Service Pack?

    PS: It should also happen when you install the stand alone download http://www.microsoft.com/downloads/details.aspx?FamilyID=9f783224-9871-4eea-b1d5-f3140a253db6&displaylang=en

    PPS: and make that last text box wider.

    Set the 'Custom Report Builder launch URL' field
    Figure: Automatically set the 'Custom Report Builder launch URL' field so the users are using Report Builder 2 (instead of version 1)
  45. The wizard should accept style templates (aka .css files)

    While using the New Report wizard, you should be able to add to the list of Styles available in order to help to create reports that are consistent with a company's color scheme.

    I suggest adding an "Add Template" button to this wizard page and allowing you to select an XSL Style Templates or CSS templates against a report (just like ASP.NET).

    Note: At a form level an extra property Template File needs to be added.


    Figure: This page of the wizard needs an Add Templates button to enable you to select .xsl or .css file.

  46. Auto-sizing columns

    When you preview your report, sometimes it can take some time, switching back and forth between layout and preview modes, in order to get the column widths the right size to allow prevent your report from looking ugly. For this reason, there should be some functionality added to help overcome this problem.

    A few implementation suggestions are:

    • In design view there could be a smart task on the table/matrix that executes the data and works out an intelligent width.
    • You could add a multi-line property, to the cells of a table/matrix, that defaults to true. When it is set to false it could force the data to be on one line, and not wrap down to another line, forcing the column to widen to accommodate the single line of data.
    • In preview view there could be the ability to resize the columns (as you are seeing the data) and when you switch back to design view, you could have a messagebox asking if they would like to save the changed column widths - this would be like an Access datasheet.
  47. Sample report showing Recursive Data

    There should be a sample report added that demonstrates a report that uses recursive data.

    We suggest showing the Employees and Managers in Adventure Works, as managers are employees too and can also have their own managers. This should be shown using padding to achieve the visual nesting.

  48. XML Data Sources should accept XPath

    While working with XML Data sources, you really should be able to use XPath to query the data that the .xml file or webservice returns.

    This functionality would make it easier to work with XML data that contains multiple data sets, and would make XML Datasources generally more usable.


    Figure: Entering a query into the "Query string" box for an XML data source causes no data to be returned... it should accept XPath

  49. The NoRow property on table control should be improved to allow more control.

    In Access, we have NoData event to handle when there is no data returned from data source, this feature has been migrated into a NoRow property of Table control, which allow you to set a message.


    Figure: NoRows property of table control in Reporting Services

    Compare to Access, this is much easier to use, but we lost our control over the message, we cannot even set our error message to Red color. See our Rules for Better Reporting Services.

    More advanced property should be allowed for this, such as changing color, font, etc.
     

  50. Pagination does not work with hidden items for HTML output

    We have a report which has a table with some hidden items. These hidden items will be collapsed initially in the HTML output. Pagination does not work for this report - all the data show in one page. This is horrible for huge data report.

    HiddenItem
    Figure: Hidden item in report

    Pagination doesn't work
    Figure: Pagination does not work with hidden item

    But the pagination works if we make those items visible initially

    No Hidden Item
    Figure: No hidden item in report

    Pagination works
    Figure: Pagination works well with no hidden items

    There's no way to have pagination and collapse work in same report.
  51. Choose how IIS authenticates clients

    We think that we should have the ability to choose how IIS authenticates clients - read our Reporting Services suggestion. IIS should be able to:
    1. Try Integrated authentication first
    2. Then use the Anonymous username (if specified)
    3. Then prompt for a user name and password to use.
  52. No need of page break in subscription email with render format of Web Archive

    Page break is a useful feature for big report to avoid performance issue when viewed in browsers. However for a report subscription email (select Web Archive as Render Format in subscription settings), page break causes redundant headers and footers and make the email difficult to read.

    Report in a subscription email
    Figure: Report in a subscription email

    redundant report header following a page break
    Figure: redundant report header following a page break
  53. Report subscriptions are disabled if a report contains User information e.g. User!UserID

    Report footer
    Figure: This report footer with "User!UserID" will give problems later when setting up subscriptions

    From:Daniel Hyles www.ssw.com.au
    To:James Zhou www.ssw.com.au
    Cc:Adam Cogan www.ssw.com.au
    Subject:RE:GroupHealth
    Importance:High

    James,
    Ever since you made changes to this report the data bound subscription does not work. When I attempt to fix it I get
    The '/WhatsUp/GroupHealth' report has user profile dependencies and cannot be run unattended. (rsHasUserProfileDependencies)

    Best practise for reports is to have the User!UserID in footer as per rule Do you include a useful footer at the bottom of your reports?

    However later when dealing with subscriptions you may get this email:

    Data-driven subscription cannot be created because the credentials used to run the report are not stored, the report is using user-defined parameter values, or if a linked report, the link is no longer valid.
    Figure: Disabled Subscription

    The fix is to remove the "User!UserID" from the footer to enable subscriptions. In Reporting Services 2005, they have improved this - normal subscription is enabled, but Data-driven subscription is still disabled in this case. The behaviour should allow the report to work and a different value entered for UserID eg."N/A"

  54. Fix all inconsistent names – where different names have been used for the same properties

    I was very familiar with CanGrow and CanShrink but was not familiar with what ‘Can increase to accommodate contents’ was. Imagine my surprise when I find out they are the same thing!

    Inconsistent Names
    Figure: “Can increase to accommodate contents” is the same as “Can Grow” – they should be named the same

  55. Schedule printing a report directly to a printer

    Some senior executives do not open their email. For this reason, it would be useful to be able to schedule for a report to be printed directly to a printer.


    Figure: Option to allow printing a report on a schedule

  56. Image display

    Reporting Services report doesn't support transparent image background. When you use embedded images in the report, if the image file's background color is "transparent", it will only display correctly in designer (VS2005), but if you view the report in IE, the image will have a shadow background which is bad.


    Figure: Image with transparent background

    Here is a workaround. You need to change the image's background to "white" in order to remove the shadow.


    Figure: Image with white background

  57. Image size is not correct in subscription

    Reporting Services subscription report doesn't support image resize. In designer (VS2005), you can set the image box's "sizing" properties as "FitProportional" to allow a large size image file displays correctly in image box, but when we use the subscription to send the report as an email, images display incorrectly with its original size.


    Figure: Image can't be resized

    When you reply or forward the report email, images display as their original size, report can’t apply the "sizing" properties of image box in here.


    Figure: Image with original size

    Here is a workaround. In order to make the report look more consistently, you have to change the image file size to a proper size to fit the image into the box.

  58. Add trigger in report subscription email to resend report

    Reporting Services 2005's subscription can be triggered by time, it can send a report email at a preset time. After you receive the email, if you want RS to resend the report, you have to wait until the subscription is triggered again.

    Add a trigger in the report subscription email will make the Reporting Services more convenient.

  59. Sample Reports for Report Execution Log doesn't work properly

    Created a new job for Retrieving Report Execution Log Data successfully as per Configure Server Management Report Samples, then it was executed failed.


    Figure: executed failed for this job;


    Figure: Could not find stored procedure 'msdb.dbo.xp_sqlagent_notify' for RSExecuteLog which was created by running Createtables.sql (under C:\Program Files\Microsoft SQL Server\90\Samples\Reporting Services\Report Samples\Server Management Sample Reports\Execution Log Sample Reports by default);

    It is because of missing stored procedure "dbo.xp_sqlagent_notify" for "Report Execution Log" Database, Microsoft should make sure all samples databases and reports works properly! And it said that this error will be fixed in SQL Server 2005 SP2 - See Could not find stored procedure 'msdb.dbo.xp_sqlagent_notify' for more details.
  60. Improve compatibility for Firefox

    Reporting Services Reports (2005) makes beautiful reports, well it does in IE, but the HTML is not good for some non-IE browsers (aka Firefox). Reports are displayed in an IFRAME that's deep in nested table land, and the IFRAME's height setting only works in IE. This cause reports can't display correctly - the IFRAME's height defaults to a few hundred pixels, so you only see the top 2 inches of the report. Like this:


    Figure: Reporting services report in Firefox looks terrible

    Workaround: though we can fix it by adding a min-height into ReportingServices.css file (it's found in "C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager\Styles\" by default):

    /* Fix report IFRAME height for Firefox */
    .DocMapAndReportFrame
    {
        min-height
    : 860px;
    }


    But the report still can't display in correct width even if you added a min-width element, like this:


    Figure: Reporting services report in Firefox still looks terrible after fixed height problem

    This problem still has not been fixed in SQL Server Reporting Services 2008.

    There are several ways to try to resolve this, but none can fix it completely. (See Reporting Services CSS-fix for Firefox for more)

  61. Add progress prompt on the Exporting Progress Form

    Sometimes exporting takes forever, it should give the progress prompt (e.g. xx% complete) on the exporting progress form, so we can know where it is up to.


    Figure: Exporting takes forever

  62. Add a special data source type wrapper for Access

    Many Access developers think that Access is ODBC compliant – but not OLE DB... So we suggest:
    • Add a special wrapper called Jet over ODBC (Access) to the list then you can just select an MDB
    Choosing new Data Source type
    Figure: Choosing Data Source Type
  63. Make the IIS service more visible

    What is required for RS to work? Well you check both services (SQL Server and SQL Server Reporting Services) are running in SQL Server Configuration Manager, and then you check you have all green ticks in Reporting Services Configuration Manager. What if I check these and Reporting Service is still not working... what could it be?

    What could it be?
    Figure: Both services are running in SS Configuration Manager and all green ticks in RS Configuration Manager, but RS is still not working

    The answer is IIS is not running:

    IIS is not running.
    Figure: IIS is not running. This should be more visible on both the above pages

    We suggest:

    1. On SQL Server Configuration Manager add "SQL Server Required Service (IIS)"
    2. On Reporting Services Configuration Manager add "IIS"
    This makes this service more visible to users and makes it a true one stop shop (instead of finding and using Computer Management).

  64. Add back the different icon for calculated values

    Unlike those in Visual Studio 2003, the icons of every kind of the fields are the same in Visual Studio 2005. It becomes not easy for the developers to separate the calculated values from the original ones.

    So we suggest adding back the special icon for calculated values

    Calculated Value's Icon in VS2003
    Figure: In VS2003, the icon of calculated values is different from others'.
    Calculated Value's Icon in VS2005
    Figure: In VS2005, all the icons are the same.

  65. Make this error more friendly by making it visually consistent with the SQL Server Configuration Manager

    I would not normally comment on error messages, but these ones are commonly seen.

    Ideally you should not have to read the error message to be able to fix it

    As a minimum I would add the same icon and text from the SQL Server Configuration Manager

    Slightly better would be an image with a circle around the missing reference

    Ideally I would provide a link that opened the Microsoft Management Console (aka MMC snap-ins) – I would not even mind if it required you to allow “Active Content” inside IE (like Index.htm on MSDN Subscription DVD)

    FriendlySQLErrorMessage
    FriendlySQLErrorMessage
    Same for this error message

  66. Make the title of the report more descriptive

    The report <title> tag needs to be more descriptive, as non-descriptive title will reduce your Google rankings. See Are your <title>, <h1>, and <h2> tags descriptive? for more information.

    Non-descriptive report title
    Figure: Non-descriptive report title

    We have a suggestion to make the report title more descriptive, see Add the ability to dynamically change the title of the report.

  67. Make every report has its own deployment path

    We should be able to choose the folder that a report deploys to, rather than having to create a separate project for each deployment path.

    Project Deploy Path
    Project Deploy Path
    Each project has only one deployment folder
    Report Properties
    Reports don't have their own deployment path property, so the reports in one project can be deployed to the same folder only.
  68. Add built-in date function

    There should be built-in date functions to calculate Week Ending, Month Ending and Year Ending for a date, like GetCurrentWeekEnding(), GetLastMonthEnding(), so we can get the report of weeks and months easily.
    The week ending function needs to consider the local culture while calculating. In different countries, the weekend day may be not the same. So this function should accept a parameter to load the local information, such like User!Language or something like that. And of course it should have a parameter to let the user set which day of the week is the week ending day manually (e.g. Friday or Sunday)

    (SELECT CONVERT(char(10), DATEADD(day, - (1 * (DATEPART(weekday, Agreement.ProjectedDepositPaymentDate) - 6)), Agreement.ProjectedDepositPaymentDate), 103) AS Expr1) AS ProjectedDepositPaymentDateWeekEnding
    This is how we get the week ending now
    (SELECT GetWeekEnding(Agreement.ProjectedDepositPaymentDate)) AS ProjectedDepositPaymentDateWeekEnding
    using build-in functions would be efficient and more readable.
  69. Help more on the expression builder

    When user press OK on the expression builder:

    Expression builder
    Figure: Expression builder

    It should try to help more and more... E.g. Show a dialog like:

    Did you refer to a control instead of a dataset?
    You have used the function CountRows("Scans") that refers to a control "Scans".
    Did you instead mean the dataset "dsScans"?

    "Yes - Correct this"    "No - Leave it"

  70. Add a lookup form to search the big table

    1. It is confused for user to input an unknown value. Also, it isn't feasible to use a combo to contain more than 30,000 records.

      Lookup Search
      Figure: Bad Search
    2. What do you think of this suggestion
      Use a ellipse button with a popup search form (better than using a combo when you have >100 records)

      One tab will do – but 4 tabs would be better http://www.ssw.com.au/ssw/nettoolkit/02WinSearch.aspx

      Good Search
      Figure: Good Search
  71. Insert dataset as a table (with totals)

    1. Productivity Suggestion
      Under “add” item, add right click menu “Insert dataset as a table (with totals)”

      1. Auto generate the dataset’s name to the title at the top of table.
      2. Auto generate every column of dataset.
      3. Auto generate Totals row at the bottom of table.
      Insert Dataset as table
      Figure: Insert Dataset as table
  72. Report Wizard Intelligence

    It is not convenient for developers to generate SQL without intelligence in Report Wizard. They have to look for the table name or the field name in SQL Server Management Studio and generate SQL. If there is an intelligence in textbox or table list in the left hand navigate, it will be much better.

    Report Wizard without Intellisense
    Figure: Report Wizard without Intellisense

    The goals are to help me get to this…

    Report Wizard with Intellisense
    Figure: Report Wizard with Intellisense
  73. Make long-running processes user-friendly

    When your wizard has a lot of processing, allow the user to skip that processing when appropriate. Show a status description information above the progress bar and also allow users to cancel the process. After processing finished, it should jump to the next wizard.

    See our rule on Rules to Better Interfaces at SSW Rules to Better Interfaces

  74. Change No Bold

    UI problem – when Visibility is collapsed there is no bold (even though the setting is not at default). So we need to see bold when collapsed

    Change No Bold
    Figure: Change No Bold
  75. Dataset from another report

    Often you want a dataset from another report (or another project)

    On the “Data” toolbar add some buttons
        “Copy dataset from”
        “Import from XML”
        “Save as XML”

    Note: Not only do I want to select a project, then report…. I want to be able to select a published report (select a server, then report, then dataset)

    Dataset from another report
    Figure: Selecting dataset from another report
  76. Add tick to check if Reporting Service is the latest

    If the version of Reporting Service can't match that of Database, there will be a warning to let user upgrade. Can we have a tick to say Reporting Service is the latest or where we can download the latest version.

    Version of Reporting Service can't match the Database
    Figure: Version of Reporting Service can't match the Database
  77. Let SharePoint work with Reporting Service easily

    It is not easy for user to configurate SharePoint and Reporting Service working together. If is much better to click one button and they can run in the same box smoothly without knowing anything special.

  78. More information on SharePoint Integration

    The “SharePoint Integration” page in Reporting Service Configuration Manager is too simple, we need more information on this page to tell our users:

    1. What will be the new functionality to add in SharePoint?
    2. How to generate RS reports by using SharePoint Integrated mode?
    3. How to manage reports in SharePoint?

    Simple information in Reporting Services Manager
    Figure: Simple information in Reporting Services Manager
  79. Sample in the reports document library

    It is not easy for users to build report in SharePoint without tutorial. If there are some sample reports in SharePoint, users can refer to the samples and learn by themselves.

    Add sample in reports document library
    Figure: Add sample in reports document library
  80. Test data source connection

    Users can create a report data source in SharePoint, but they don't know the connection string is not correct until the report raises error. So there should be a test button to check the connection string.

    No button to test the connection string
    Figure: No button to test the connection string
  81. The subscription needs an extra Name field

    The current UI doesn’t have a name filed, make it impossible to tell the difference between each of the subscriptions.

    Need to add a Name field
    Figure: Need to add a Name field
  82. Highlight the current field in yellow in the "Diagram Pane"

    Highlight the current field in yellow in the "Diagram Pane" (aka Query By Design window) when you select a row in the "Grid Pane" it would be so useful when you are working on an unfamiliar database schema

    The message when loss network

    Figure: The Diagram Pane without any highlights
  83. Add a page to configure the export format

    Currently, if we want to configure the export format, we have to edit the .config file mannually. It is much better to add a configuration page and allow users to add or remove report export formats easily.

    Export Format List
    Figure: Export Format List
  84. Add a connection string builder

    We really need a builder for a connection string
    I can never remember the right syntax for the "Connection String" textbox
    (As a minimum it would improve the demo experience for presenters)

    Connection String Builder
    Figure: Building a connection string is too hard – we need a builder
  85. Allow me to report against both LINQ Data Sources (.edmx and .dbml)

    Ideally I would love to do a report based on a .dbml or .edmx file
    I just select a LINQ (.dbml or .edmx) file as the datasource of a report
    Plus I would like some samples added so we have an instant demo.

  86. Report Builder 2.0 - Offer the ability to report against SharePoint

    A few new ones in this list... but when will be able to select a SharePoint list?

    PS: Back in 1992 Access would not have been as popular as quickly, without the ability for users to be able to query their data... SharePoint Lists are the new Access (for Power Users).

    Figure: SharePoint list is not supported
  87. Allow Vertical text writing mode to also have bottom to top

    Text boxes at the moment only allow writing modes of top to bottom. This is not always the way report viewers want to read the report. There should be another option of bottom to top, i.e. bt-lr.

    See the images and explanation on Rules to Better SQL Reporting Services - Use Vertical text for Columns

  88. Add parameter type for common periods

    we look for common period parameter type like week, month or quarter instead of having to specify start and end parameters of datetime.

  89. Interactive Sort does not work well with chart

    We found a problem of Interactive Sort column with chart within it:

    Figure: design view
    Figure: preview view
    Figure: error when sorting
  90. Reports should have an easy way to email to another person

    There should be an option which can make the users send the report by email directly.It's more convenient.

    Send the report by email option
    Figure: There should be an option "Send Email"
  91. Show strikethrough in exported PDF file

    When report has strikethroughs(with the TextDecoration property set to "LineThrough"), it looks fine in Report Viewer. When export to PDF format, the resulting document does not have the strikethrough applied.

    Strikethroughs in reoport
    Figure: Strikethrough works fine in Report Viewer
    Stikethrough doesn't work in PDF
    Figure: Strikethrough doesn't work in PDF

    It is a known bug that you can check on Microsoft Connect.

  92. Developing - Sounds

    We need a "completed" sound after rendering a slow report. The problem is after 30 seconds of waiting you ALT+TAB to another window and forget when it finishes.

    A good example is the sound on the long process on SSW Diagnostics

    More info at Rules to Better Interfaces - Long Process - Do you know how to make long-running processes user-friendly?

    This isn't a sound when the report finally generated.
    Figure: When Developing slow reports, please play a sound once the reports renders
    SSW Diagnostic is a good example because it'll play a sound to inform the users that the report is accomplished.
    Figure: SSW Diagnostic will play a sound when the report successfully generated.
  93. Give users a runtime option to increase or decrease decimals places

    In some cases, the nubmers need to be accurate and reconciliations for the users, while in other cases, the decimal places are not required in the report.

    So we need a runtime option to add/remove decimal place.

    Give users the option to show decimal places.
    Figure: For some users, like accountants, the decimal place is necessary; for others, it might be not.
  94. Linked Reports - No hyperlink available to Linked Report on Property General page

    Reporting Services 2005. Linked Reports, when you look at the Properties tab it shows the path of the "parent" report and a button to "Change Link" but there is no quick link to take you to that parent report. You have to navigate to all the folders to get to it.

Acknowledgements

Adam Cogan