banner



Can Sql Server Reporting Services Display Chinese

There was an mistake displaying the testimonials. Please report this mistake to SSW and include the post-obit text:
- A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not establish or was not accessible. Verify that the instance name is correct and that SQL Server is configured to permit remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

SQL Server Reporting Services is a comprehensive, server-based reporting solution that tin writer, manage, and deliver both paper-oriented and interactive, Web-based reports.

Practice yous concur with them all? Are we missing some? Allow us know what you lot call up.

  1. Do you know the 5 user experiences of Reporting Services: Vanilla, Website, Electronic mail, Windows and SharePoint?

    The 5 user experiences of Reporting services are...
  2. Exercise you know when to utilise Reporting Services?

    Like any solution, Reporting Services has its pros and cons. From our experience, we accept discovered these things about Reporting Services:

    Cons

    • Parameters - you lot are forced to employ congenital-in controls
    • Query string - when y'all alter the parameters and refresh a report, the values do not announced direct in the query cord, making it hard to copy/paste URLs
    • Tin can't separate SQL into a strongly-typed dataset or middle-tier object like in ASP.NET
    • There are potential difficulties with the deployment of RS reports and the exposing of them. Even so, once we have the infrastructure...

    Pros

    • Y'all can develop read but reports faster in Reporting Services than ASP.Cyberspace
    • Maintenance with RS is easier than ASP .NET, as with virtually cases you don't have to write any code
    • Flexibility with groupings and totals is easier. In ASP.Internet you would need to iterate through the DataSet, keeping variables with the totals
    • Parameters are built-in. In ASP.Cyberspace there is code
    • Drilldown interactivity. In ASP.NET you need to code upwardly a treeview
    • Users can have reports automatically emailed to them on a schedule
    • Users can export natively to PDF and XLS, plus a multifariousness of other popular formats

    And then in conclusion, if you lot will only e'er need 1 report, go with ASP.Internet - it is easier to get up and running. If you plan to have more than one written report, employ Reporting Services - it'due south worth the fourth dimension to configure.

    For a more detailed comparing between reporting solutions, take a look at our Guidelines for Report Solutions - Spider web Clients.

    Figure: Reporting Services has built-in support for PDF/XLS export and can be embedded in your ASP.Net pages
  3. Exercise you bank check that "Written report Server Configuration Manager" is all light-green ticks?

    To ensure your Reporting Services is running in a healthy country, you need to check if you have all the greenish ticks in your "Report Server Configuration Manager".

    Bad Example - Reporting Services is not running in a healthy state
    Proficient Example - Reporting Services is configured correctly

    Note: "Report Server Configuration Managing director" is only available in SQL Server 2005.

  4. Do you check out the built-in samples?

    SQL Server 2008 R2 Reporting Services comes with some great samples that will help go you started. Unfortunately, they aren't installed by default.

    These samples include:

    1. Study Project based on the Chance Works 2008 R2 database
    2. Report Builder Model based on the Adventure Works 2008 R2 database

    Upon installing the samples successfully, you lot should meet 3 folders (shown below) in your Report Manager.

    Figure: A proper installation of the samples

    To install previous version of Adventure Works sample reports, come across our knowledge base article: How do I install SQL Server 2005 with the Hazard Works Samples?

    AdventureWorks Reports Sample

  5. Do you know your ii migration options to evidence your Access reports on the web?

    The greatest advantage for Access Developers is that with Reporting Services your reports tin become available on the web. If you have a heap of Access reports, what are the choices for getting them on the web?

    1. Continue the existing reports in Access and betrayal them on the web with SSW Access Reporter. This is the to the lowest degree corporeality of work, every bit SSW Admission Reporter is a utility that delivers existing Access reports online with minimal re-coding. Download a free trial today and effort it out for yourself.
      Proficient Example - If you want to avoid migrating and then SSW Access Reporter delivers your Access reports online and then you tin can view them anywhere
    2. Import the reports into Reporting Services. Reporting Services has built-in support for importing and converting reports from Access. We accept had plenty of success with it, merely y'all will demand to re-code things like provisional formatting and any code behind.
      Skillful Example - Reporting Services has built-in support for importing your Access reports
  6. Layout - Does your study print and display on the web correctly?

    A lot of the time, you will want a difficult copy of your reports. Obviously reports are different sizes on screen and on paper, so you demand to format your report so information technology exports to PDF and prints properly. Here'due south how.

    1. Alter the written report'south page width to 28cm (or 11in) and top and lesser margins to 0.5cm.

      Skillful Case - For proper press, kickoff change the Written report'due south Page Width to 28cm (or 11in) and top and bottom margins to 0.5cm
    2. Change the Trunk width to 25.4cm (or 10in)

      Good Instance - Then change the Report's Body Width to 25.4cm (or 10in)
      Bad Example - PDF page with 1cm margin (wasted much infinite on top and lesser)
      Adept Case - PDF page with 0.5cm margin (you have more room for content)

      Yous can see the 0.5cm margin looks much better than 1cm, and you have more infinite to organize your content, especailly for a landscape impress view.

    3. Resize study items (tables and charts) to fit the page. The easiest way to do this is to select (Ctrl+click) all study items that should span the whole width of the page, and set their Width property to 25.4cm (or 10in).

    Tip: Export your report to PDF and practise a print preview, so you don't accept to impress a lot of testing pages to find out the best page settings.
    Tip: Remove summit and bottom paddings in header and footer text can also give you more space.

    Notation: Reporting Services reports take both inches and cm, so y'all can use either.

    We have a program called SSW Code Auditor to cheque for this rule.

  7. Layout - Do you include a useful footer at the bottom of your reports?

    You should always include a useful and informative footer at the lesser of your reports. Include:

    1. Date and Time Printed and User who printed it - see warning below (e.g. Printed by SSW2000\JatinValabjee on iii/1/2006 3:16:30 PM)
    2. Execution Fourth dimension (east.yard. Execution time: 1 minute, x seconds)
    3. Folio x of y (e.g. Page 3 of ten)
    4. Link to company website + slogan  (due east.chiliad. www.ssw.com.au - Writing software people empathise)
    bad - useless footer
    Bad Instance - This footer doesn't provide any useful information
    good - useful footer
    Proficient Instance - Useful and informative information should exist displayed in your report footer

    Apply these handy report expressions to show the above information.

    Footer Item Expression Sample Output
    Date and Time Printed / User ID ="Printed by " + User!UserID + " on " + Globals!ExecutionTime.ToString() Printed by SSW2000\JatinValabjee on iii/one/2006 iii:sixteen:30 PM
    Execution Fourth dimension ="Execution Time: " +
    IIf(System.DateTime.Now.Subtract(Globals!ExecutionTime).TotalSeconds < i, "0 seconds",
    (
    IIf(System.DateTime.At present.Subtract(Globals!ExecutionTime).Hours > 0, System.DateTime.Now.Subtract(Globals!ExecutionTime).Hours & " 60 minutes(s), ", "") +
    IIf(System.DateTime.Now.Subtract(Globals!ExecutionTime).Minutes > 0, System.DateTime.Now.Subtract(Globals!ExecutionTime).Minutes & " minute(south), ", "") +
    IIf(System.DateTime.At present.Subtract(Globals!ExecutionTime).Seconds > 0, System.DateTime.At present.Subtract(Globals!ExecutionTime).Seconds & " second(s)", ""))
    )
    Execution time: 1 infinitesimal, x seconds
    Folio 10 of y ="Folio " + Globals!PageNumber.ToString() + " of " + Globals!TotalPages.ToString() Page 3 of 10
    Footer in visual studio designer
    Good Example - Footer in visual studio designer

    Tip: Copy and Paste this XML into the <PageFooter> for the recommended footer of all your *.rdl files.
                  <PageFooter>                                     Paste here                            </PageFooter>            

    Alert: Adding the User who printed information technology stops all information-driven subscriptions
    When you lot try to add the User your information-driven subscriptions will fail with the post-obit error:

    'The '/GroupHealth' study has user profile dependencies and cannot be run unattended. (rsHasUserProfileDependencies)'.


    A quick workaround is to add together a user function to fallback the error to a nice bulletin, similar: "System",

                      Public Function UserName()     Try     Return Report.User!UserID     Catch     Return "System"     End Try     Cease Function                

    Use higher up role to replace your reference to Report.User!UserID volition allow the subscription to work correctly.
  8. Layout - Do you avoid using discussion 'Report' in your reports?

    We believe the give-and-take 'Report' is redundant in a report, so we avoid using this word in our reports.

    redundant word 'report' in a report
    Bad Example - redundant employ of the word 'report' in a study
    avoid using word 'report' in a report
    Good Example - avoidance of the word 'study' in a study
  9. Layout - Do you underline items with Hyperlink Action?

    The Hyperlink Action allows users to navigate betwixt reports smoothly, but users may ignore the navigation functionality in your reports.

    No underline for item with hyperlink
    Bad Instance - No underline for hyperlink item
    No underline for the textbox with hyperlink action
    Bad Case - No underline for the textbox with hyperlink activeness

    With the underline consequence on your hyperlink items, it volition exist easy for users to find the navigation on your reports.

    Good Example - Underline for hyperlink particular
    Skilful Instance - Underline for textbox with hyperlink action

    We accept a program called SSW Lawmaking Auditor to check for this rule.

  10. Layout - Exercise you show errors in Red?

    Errors on reports should not occur but when they exercise it is best to brand information technology clear to the reader that they take just experienced an error.
    How axiomatic are the error messages on the 1st report beneath?

    Bad Instance - Using the default NoRows property of the tabular array command - fault message is not clear enough
    Proficient Example - Use a customized textbox and icon to show the error message in red

    Reporting Services allows you lot to set the 'NoRows' holding of a tabular array control to warn your user when there is no information bachelor. This is similar to handle the 'NoData event' in Access study but in that location is no advanced control on this message, not fifty-fifty a Color belongings - this has not been improved in RS2005, see our Better Software Suggestions page.

    Figure: NoRow property of Tabular array command only let unproblematic string

    Hither's how to add together a custom "NoData" textbox with a red icon to your report:

    1. Add a rectangle to the top of your report, in a higher place any study items in the torso. Set its BorderColor to Ruby
    2. Driblet a textbox into the rectangle and give information technology the value No records were found matching your criteria. Please alter your parameters and try again.
    3. Add an Image control next to it. Utilize this error icon as the Image (add it to your Images folder in your solution and reference information technology similar Images/fatal_error_info.gif). Your study will now look similar to the 1 below.
      Figure: Calculation a custom error message to your report
    4. In the Subconscious property of the Rectangle, add an expression to evidence/hide information technology depending on whether any rows were returned. Use the following expression, substituting the assuming for your own values (eastward.chiliad. checking if the sum of all orders is < 0)
                        --Expression to set the visibility of the mistake message controls                  = iif( Sum(Fields!SaleTotal.Value, "MyDataSet")>0, True, Fake)
      Figure: The Hidden property of the rectangle
    5. Group all other report items into a rectangle - you want to be able to evidence and hide them dynamically
    6. In the Subconscious holding of this Rectangle, add together an expression to bear witness/hibernate information technology depending on whether whatever rows were returned. Switch the Truthful and False values effectually, so that it shows if it does have records, and hides if it does non have records (the opposite behaviour to the mistake box). So, in the case in a higher place, the expression would be:
                        --Expression to prepare the visibility of the chief written report items                  = iif( Sum(Fields!SaleTotal.Value, "MyDataSet")>0,                  False,                  True)                
  11. Layout - Do yous have consequent study name?

    A professional report should accept consequent name.

    Bad Example - Inconsistent report name
    Good Instance - Consistent report name
  12. Layout - Do you include feedback information in the report?

    A professional written report should have the feedback information, and so users tin give suggestions straight to the designers.

    Good Example - Include feedback information
  13. Layout - Do you know which version of Reporting Services you are running?

    You tin add together the version number to the name of the reporting server by:

    1. Going to Site Settings
    2. Add 2005 or 2008 to the name
    SSW - Report UI
    Bad Instance - You can't tell what version of reporting services you are running
    SSW - Report UI
    Skillful Example - We can conspicuously run into that this is running Reporting Services 2005
  14. Layout - Practice you lot put content every bit less as possible in page header?

    Things in page header repeat on every page. To avoid indistinguishable and save paper when printing, we put content as less as possible in page header.

    Bad Example - too many things in folio header
    Good Example - little in page header
  15. Data Layout - Practise you bear witness the by half dozen months of totals in a nautical chart?

    When you are working with reports that use time-based information (sales figures, employee productivity etc.), it is handy to see how y'all went this calendar month compared to the past 6 months. The all-time mode to evidence this is on a bar chart.

    Good Case - Utilize of bar chart to prove the past 6 months of totals at the end of your report for like shooting fish in a barrel comparison

    To do this:

    1. Create a new dataset in your report
    2. Enter the following query, substituting "MyDate" for the proper noun of the date field you are referencing, "MyTable" for the view or table you lot are selecting from, and "@pEndDate" for the proper noun of the report parameter y'all are using for the information end date:
      SELECT Distinct TOP 6   CONVERT(varchar(12), Yr(MyDate), 101) + '-' + RIGHT('0' + Catechumen(Varchar(ii),                  MyDate, 101), 2) AS Y   , Sum(PaidTotal) * -1 AS Full FROM                  MyTable                  WHERE                  MyDate                  BETWEEN DateAdd(Month,-5,catechumen(varchar(12), Month(@pEndDate)) + '/1/' + convert(varchar(12), Year(@pEndDate))) AND  CASE WHEN datepart(d,@pEndDate) = 1 And so DateAdd(d, 1,                  @pEndDate) ELSE                  @pEndDate                  END Group BY   Convert(varchar(12), Year(MyDate), 101) + '-' + Right('0' + Catechumen(Varchar(2),                  MyDate, 101), 2) Gild By   CONVERT(varchar(12), Year(MyDate), 101) + '-' + RIGHT('0' + Convert(Varchar(2),                  MyDate, 101), 2)                
    3. Configure the new added parameter 'pEndDate'
    4. Figure: Change Data Type to DateTime and assign to the proper default values
    5. Add together a nautical chart to your report in Layout view and change its type to "Elementary Cavalcade"
    6. Drag the "Total" field from the Datasets window into the Information area on the chart, and the "Y" field into the Category area. Your chart will now look similar to the one below.
      Figure: Build up the cavalcade nautical chart in layout view
    7. Now you lot need to ready the last cavalcade to exist a different color so information technology stands out. Correct-click the chart and click Properties.
    8. Click the "Data" tab, click "Edit..." adjacent to the "Values" box, then go to the "Appearance" tab and click "Series Style..." and so the "Fill up" tab.
    9. In the "Colour" textbox, enter this expression, then OK all dialogs to return to the written report:
      =iif(Correct(Fields!Y.Value, 2)=Month(Parameters!pEndDate.Value), "Blue", "Dark-green")
  16. Data Layout - Do you show information and chart in one?

    It is important to provide a chart, as well as the data which it is based on. Users of the report service will detect the data easier to understand and compare. All the same, in order for the report to be understandable, the data and chart must be articulate and uncluttered.

    Bad Example - in that location is no nautical chart to visually represent the data
    Bad Example - there is a chart, however it is not clear
    Good Instance - Information and chart are clearly integrated into 1
  17. Information Layout - Practice you avert using a single nautical chart when you need it to exist scaled?

    Bad Example - Merely a chart - poor scaling for only 1 record
    Bad Case - Just a chart - poorly scaling when many records

    The reason for this problem is that the 'size' property of the chart control doesn't back up expressions like 'Count(Rows) or queried values like 'Fields!RowCount.Value', and so the chart control cannot adjust its size according to the information.
    The solution for this problem is to use an embedded chart within the table - this will create a dynamic chart list like to the list shown below.

    Figure: Size belongings of the chart control
    Proficient Instance - A tabular array with chart
    To do this, you need to create a tabular array in your report and add a chart into each of the rows.
    Figure: Embedded nautical chart in a table will generate dynamic chart list

    Note: When rendering a report to your browser or an email, Reporting Services generates a separate image for every single image in the report, even if they are identical. When you are using graphs, images or charts in your written report, this tin cause a large number of images to be generated. E'er include a red warning at the peak of any emailed reports so that users do not attempt and forrard or answer to them. Employ a alarm similar this:

    Warning: Do non reply to or forrard this report in an electronic mail - Outlook may wearisome down or even hang

  18. Data Layout - Do you use expressions to show the right scale on charts?

    In Reporting Services 2005 you tin employ an expression to specify the scale of your charts. If you do not specify a maximum value for your y axis, the bar charts go inaccurate, as you can run across in this figure.

    Bad Case - With no scale value set, the charts do non display based on the correct calibration

    Hither's how to set the scale.

    1. In Layout view, add a new row to the bottom of the table
    2. At the bottom of the column with the nautical chart, set the textbox value to =Max(Fields!MyTotal.Value), where "MyTotal" is the Data field you're using in the chart.
      Figure: Add a new row to your tabular array and set the max value
    3. Set up the textbox'south Proper noun property to MaxMyTotal (e.g. MaxCount)
    4. Set the new row'due south Visibility/Subconscious property to true - you don't want to show it in the report
    5. Open the Nautical chart properties and select the "Y Axis" tab
    6. Set the Maximum value to the value of the textbox, i.e. "=ReportItems!MaxMyTotal.Value"
      Effigy: Set the maximum value to the value of the textbox
    7. If yous wait to have negative values in the chart (due east.m. when comparing 2 values), set the Minimum to -ane multiplied by the max value, i.e. "=-1 * ReportItems!MaxMyTotal.Value". Otherwise set it to 0 (zilch).
    8. If y'all expect to have negative values in the chart, select the chart value in the Data tab and click "Edit..." . Go to Appearance->Series Way->Fill and enter the following expression:
      =iif(Fields!Change.Value > 0, "Green", "Cherry-red")
      Where "Change" is the name of your data field. This sets the colour of the bar to dark-green if information technology is positive, and red if it is negative
    9. Click OK and preview the written report. The nautical chart volition now be using the maximum value across all the charts.
      Good Example - The scale is now right

    This style is tedious and a "hack". We think that the calibration should be automatically ready with an option to customize it via an expression. Come across our suggestion about this on Microsoft SQL Reporting Services Suggestions.

  19. Information Layout - Do you lot bear witness change in your reports?

    It is important to evidence previous and electric current data, likewise every bit the changes between the two.

    Bad case - does not prove the modify between the previous and current data
    Good example - shows the alter between the previous and current data

    At that place will be cases in which the Modify cavalcade has no significant then you'd better to brand this column invisible in your reports. In one of our reports we apply an expression on Hidden property of this column to determine whether to show it based on the value of a parameter.

    =iif(Parameters!ComparedExtractionID.Characterization = "Northward/A",true,false)
    Expression for Hidden property
  20. Information Layout - Do you lot avoid showing modify as a percentage?

    When comparing two sets of data in a written report (for instance, sales this calendar month compared to last), showing the alter as a percentage is a bad idea. For case, if you fabricated 1 auction last month and 2 this month, you lot take had a 100% increase. If for some other product you made grand sales terminal month and 2000 this month, that is besides a 100% increase, but y'all've sold 1000 of that product compared to 1 of the other product.

    For this reason, show the difference as an actual value, so you lot can compare all values easily. Run into the figures below for examples. To see how to create the negative/positive valued chart, see Practise you apply expressions to show the correct scale on charts?

    Bad   - Find how the "change" column in the written report doesn't accurately reflect the deviation in downloads - one download last month and 2 downloads this month will yield a 100% increase - which looks impressive as a percent but really isn't.

    Bad Example - The percentage change cavalcade in this Reporting Services product downloads written report is misleading

    Adept - This works better only showing the difference between the ii values over the ii months.

    Good Example - The column works meliorate as merely a difference betwixt the electric current and previous download totals
  21. Data Layout - Do you employ alternating row colors?

    For readability, always apply alternating row colors. Employ White and Gainsboro (a light shade of grey). Select the row, and enter this expression in the BackgroundColor property:

    = iif(RowNumber(Zilch) Mod ii, "White", "Gainsboro")
    Good Example - Alternate row colors profoundly ameliorate the readability of reports, and is very easy to exercise in Reporting Services
  22. Data Layout - Practise you have nodes count like Outlook?

    A report with drill through similar this should have the number in nodes like Outlook.

    Bad Case - This does not have the nodes count
    Good Example - This does take the nodes count

    Hither'southward how to add nodes count to the textbox with "complanate(+)" in your study:

    In the Expression property of the Textbox, add together an expression to show nodes count. Use the following expression:

    --Change the SQL ( or add a new DataSet )
    SELECT a.TerritoryID, ( Convert ( varchar,a.TerritoryDescription ) + ' (' + Catechumen ( varchar, count ( c.TerritoryID ) ) + ')' ) Equally Number, ... FROM Territories a INNER JOIN EmployeeTerritories b ON a.TerritoryID=b.TerritoryID, ... Grouping BY a.TerritoryID, a.TerritoryDescription,...

    --Expression to show nodes count

    = Fields!Number.Value

    Bad Example - Get the Outlook Node Count look by changing the SQL.

    --Expression to prove nodes count

    = Fields!Proper noun.Value + "(" + CStr ( CountRows( ) ) + ")"

    Good Instance - Utilise the CountRows() function to get the Outlook Node Count await.

    Notation: The CountRows function is one of the several native functions provided past Reporting Services and returns the count of rows within a specified telescopic. If no scope is specified, information technology defaults to the innermost telescopic, which in our case resolves to the static grouping that defines the values in the information cells.

  23. Data Layout - Exercise you avoid displaying decimal places?

    Having decimal places is mostly not required when the numbers are there to testify a general indication. Only include decimal places on reports for accountants that will be used for reconcilations.

    Bad Example - This does brandish decimal identify
    Good Example - This avoid displaying decimal identify

    Here's how to remove decimal place in your report:

    In the Expression property of the Textbox, add an expression to format currency values. Use the following expression:

    --Expression to remove decimal place

    c0 = FormatCurrency( Sum(Fields!TotalDue.Value), 0)

    Note: The FormatCurrency part is ane of several native functions provided by Reporting Services and returns an expression formatted every bit a currency value using a currency symbol according to the linguistic communication setting on the textbox.

    What is some managers don't want decimals and accountants do?

    For some users (usually accountants) the number is critical to accurate reporting and reconciliation. In such cases, add a parameter to let the users choose.

    This workaround should not be necessary. See the suggestion to Reporting Services ?Give users a runtime selection to increase or decrease decimals places, so we don't demand this workaround.

    Good Example - Add together a parameter to set the decimal places format
  24. Data Layout - Do you accept consistent acme of table row across all your reports?

    Same height of tabular array row across all reports gives users consistent and professional impression. We use the default elevation of tabular array row (0.63492cm) as a standard to brand sure all tables in our reports have consequent row height.

    This dominion also applies to tiptop of Textbox in all reports.

    Bad Case - Bad Elevation
    Skillful Case - Good Elevation
    Bad Example - Bad Height In Pattern View
    Practiced Example - Good Height In Design View

    We accept a programme chosen SSW Code Auditor to bank check for this dominion.

  25. Data Layout - Do you display nada number as blank in your reports?

    It looks better to display zero numbers as blank than to leave lots of '0' in a written report. It's easy to do with a uncomplicated format code '#,#'.

    Bad Example - Bad Null Number Format
    Expert Instance - Good Zero Number Format
    Expert Instance - Format Code
  26. Data Layout - Exercise you know the all-time manner to show your information?

    Bad Example - Plain tabular array
    Good Example - Apparently tabular array with split up chart
    Proficient Example - Tabular array with bar chart embedded
  27. Information Layout - Practise you show time format clearly?

    It will give a professional look for your report to show time in a clear and consistant format.

    Bad Case - bad time format
    Good Example - articulate fourth dimension format
    A related dominion about time format is Do you lot keep Fourth dimension formats consequent across your application?
  28. Data Layout - Do you show all of the report parameters in trunk?

    It is much better to display all of the report parameters in report body, considering it will be clear for users to know what they search non only in IE simply besides in exported file (PDF, Excel).

    Bad Example - non displaying all report parameters
    Skillful Example - displaying all report parameters
  29. Information Layout - Do you know how to apply logical page breaks?

    Former you want your report to break at somewhere to carve up different part of content into private pages. A logical page interruption is what you demand.

    Logical folio breaks are defined in the report definition by using the PageBreakAtStart and PageBreakAtEnd properties in various report elements, including group, rectangle, list, table, matrix, and chart.

    Here is an case of how nosotros add logical page breaks in a report to make each subreport beginning showing at right kickoff in a new folio.

    Effigy: Insert a logical page intermission earlier a rectangle containing a subreport
    Figure: The subreport started in a new page
  30. Data Layout - Do y'all know how to foreclose charts growing with rows?

    Past default charts in table abound with rows. This makes height of charts inconsistent and the report ugly.

    Bad Example - inconsistent chart acme
    Putting a rectangle in tabular array cell and placing your chart in the rectangle fixes this problem.
    Good Case - consistent chart elevation
  31. Data Layout - Do you have advantage of vertical text (when in that location are lots of thin columns)?

    When a report has many columns and each column contains modest corporeality of information, it is a skillful idea to use vertical text for the column headers.
    By irresolute the WriteMode of a text box from

                  lr-tb              (left to right, height to lesser)            
    to
                  tb-lr              (top to lesser, left to right)            
    your text will go vertical, and y'all save lots of infinite.
    Bad Example - Non using vertical text for headings, when y'all take lots of thin columns
    Bad Example - Not using ticks and crosses
    Good Example - The study width has been reduced past clever utilize of the vertical text in the column headers

    Notation: Microsoft have not given u.s. the option of having the vertical text bottom to top. Information technology would exist easier to read. This proposition has been added to Suggestions for Microsoft RS

  32. Information Layout - Practice you lot utilise gray color for past information?

    It's common that gray colour means old, and so we use grey for past data in reports.

    Bad Case - one-time information not in greyness
    Good Example - old data in grey
  33. Information Layout - Practice you use 3D cylinder in column chart?

    3D cylinder chart will make your written report cool.

    Bad Example - normal 2D column
    Proficient Instance - cool 3D cylinder
  34. Information Layout - Is title centered in chart?

    Title should exist centered in chart.

    Bad Example - title not centered
    Proficient Example - title centered
  35. Information Logic - Practise you apply de-normalized database fields for calculated values?

    About reports contain some sort of calculation - order totals, freight costs and so on. You have 3 options on how to display this in your written report:

    1. Use an expression in the report (bad). Avoid doing this because your logic is scattered throughout the report, and too because this logic cannot exist shared around reports or with your other spider web and windows applications.
    2. Phone call an assembly with the calculated logic (meliorate). This is better then using a calculation expression considering the logic can be shared over multiple reports, and it is easy to find equally all the logic is inside the one .NET projection. It is not the best solution because there is an actress level of complexity as you have to build, compile and reference the associates containing the logic.
    3. Use a denormalised database field (best). This is the best mode because non but is the calculated value accessible straight from the written report's data set, simply the value is already pre-calculated which can provide a performance improvement (compared to calculating the value each fourth dimension the report runs).
    Bad Example - Figure: Avoid using expressions for calculated values
    Bad Example - Figure: Avoid using external assemblies for calculated values - it adds an unnecessary level of complexity
    Good Example - Effigy: Utilize a denormalised database field for calculated values
  36. Information Logic - Do you use SQL Ranking functions to rank your data

    SQL Ranking functions are introduced since SQL 2005. With these handy functions, you can easily rank your data.

                  SQL Snippet              SELECT Rank() Over(Order A.BillableTimeTotal Desc) Equally Rank            
    Effigy: Rank by SQL Ranking functions
  37. Parameters - Do y'all avoid showing empty reports past at least setting Default parameters?

    When a user opens a report that has no default parameters, there is always a split-second of confusion every bit to why the page is bare. Default parameters permit the user to see what they look... a written report, and they as well show users the expected format for parameters and make it easier to run validation tests to see if all the reports on your server are working correctly.

    When you lot create reports, always ready default parameters.

    Bad Instance - There are no Default Values set for the Parameter
    Skillful Example - Default Parameters tin be specified manually (non-queried) or from a query
  38. Parameters - Practice y'all avoid unnecessary words in the parameter?

    Words such equally: "Select", "Enter" and "Blazon" used in the parameter names are e'er a bad exercise and should avoided

    Bad Case - Parameters with unnecessary words
    Skilful Example - Parameters without unnecessary words
  39. Parameters - Do you lot avoid showing empty reports by the nearly intelligent default?(espacially for dates)

    When user opens a report, they expect to come across something. It is the developer's chore to get the default values for parameters right. And of class y'all don't get it right past hard coding defaults.

    Bad Example - making a user select the parameters before seeing the data

    The following written report shows nothing, considering the parameters are using meaningless default values (in this case, old dates for the year 2006)
    Bad Case - Empty written report acquired by incorrect parameter default values (probably difficult coded for when the programmer wrote the report in 2006)

    Skilful Example - This report shows initial data as the developer configure useful parameters (in this case default values for the entire month of October Note: in US date format)

    In SQL Reporting Services, parameters tin can be:

    • hard coded
    • an expression, or
    • from a query

    Hard coded values should never be used. Expressions may be good for some instances, merely because it's non linked with your data, it may non be good enough.

    --Expression to get the 1st day of the previous calendar month (aka Start Engagement)
    DateSerial(iif( Month(DateTime.Now)=one, Yr(DateTime.Now)-1, Year(DateTime.Now)), iif( Calendar month(DateTime.Now)=1, 12, Month(DateTime.At present) - 1), 1)

    --Expression to get the 1st day of the electric current calendar month (aka End Appointment)
    DateSerial(Year(DateTime.Now), Calendar month(DateTime.Now),ane)

    --Expression to get the 1st mean solar day of the next month
    DateSerial(iif( Calendar month(DateTime.Now)=12, Yr(DateTime.At present)+one, Yr(DateTime.Now)), iif( Month(DateTime.Now)=12, one, Month(DateTime.At present) + one), i)

    Bad Instance - Expressions to set the appointment range to the current month
    Bad Case - Using an Expression to set the default values.(This volition not exist good enough if there is no data in the current month)

    The Solution:

    In order to requite written report parameters correct default values, yous should always use query to generate these values from database. This will ensure your default values come up from your data, then they won't fail to give some records.

                      --Query to generate valid date from existing data                  SELECT Catechumen( DATETIME,  'i, ' +  DATENAME(month, DATEADD(month, 1, MAX(OrderDate)))+  DATENAME(yr, DATEADD(month, 1, MAX(OrderDate))) ) AS EndOfMonth, CONVERT( DATETIME,  'ane,'+  DATENAME(month, MAX(OrderDate))+  DATENAME(year, MAX(OrderDate))  ) As StartOfMonth FROM Orders
    Adept Example - Using a query to recollect the last calendar month of bachelor data
    Practiced Example - Using a query to set default values for written report parameters

    The dataset 'ValidDates' looks similar to this:

    Figure: Create a dataset to query the information and provide useful default parameter values for your report
  40. Parameters/Internationalization - Do you employ the DateTime information type for date parameters?

    Use the DateTime data type for date parameters instead of using strings. There are 3 reasons to do this:
    one) End the problems "Cannot read the next data row for the data set up"
    Although a hardcoded cord volition work, information technology will non work for all users regional appointment/time settings.
    E.g. a string data type parameter with a value of "26/01/2006" is correct for "dd/mm/yyyy", but it is incorrect for "mm/dd/yyyy"
    ii) When SQL Reporting Services is using the DateTime information type parameter, it will get the datetime value on the users setting (aka the Civilization DateTime format).
    3) Your users also get the advantage of a date/time picker command, which automatically works out the correct regional date format. This solves the US/Australian engagement problem. (i.e. DD and MM are reversed).

    An error has occurred during report processing.  Cannot read the next data row for the data set TotalUser.  For more information about this error navigate to the report server on the local server machine, or enable remote errors
    Bad Example - Using the Cord information blazon for date parameter
    Good Example - Employ DateTime data type for the date parameter - you volition non get internationalization bugs and information technology gives users a agenda control

    We have a program called SSW Lawmaking Accountant to check for this rule.

  41. Practise you have consistent parameter names?

    All display names referring to the aforementioned parameter should exist consequent in everywhere of your reports. In addition, the parameter proper noun and value should be in the aforementioned line if possible.

    Bad Example - Inconsistent parameter names
    Good Example - consistent parameter names

    Note: If your information is non live, but based on ETL/SSIS
    Then each fourth dimension log each import to a table Eg. In one case a week. Then on the report parameters show this - so users know how onetime the data is.

  42. Performance - Do you enshroud pop reports for improve operation?

    When y'all take a large number of users all trying to access the same reports, the performance of your report server can suffer dramatically. Caching reports for a certain menses of fourth dimension can drastically reduce the load placed on the report server, leaving it ready to handle other requests.

    When a study has caching enabled information technology only needs to exist candy once within the expiry menstruum. This means that when the first of your eager users hits that report, the report server will go along a copy until information technology expires, and will serve up this copy to whatever users that asking the report within that period. This leaves the report server ready to process other reports quicker as it is not busy processing the popular reports over and over again.

    For more information on setting upwardly report caching please encounter the post-obit KB article: http://www.ssw.com.au/ssw/KB/KB.aspx?KBID=Q1668240

    Effigy: Enable caching for frequently used reports to improve functioning
  43. Performance - Practise you schedule snapshots of slow reports for quicker access?

    A report should never accept more than 30 seconds to run. Irksome reports frustrate users, and also take valuable server performance abroad from the report server.

    When dealing with irksome reports, it is a good idea to setup scheduled snapshots. As an example,  you lot would schedule a long running study to create a snapshot at night when the server is idle and not under a lot of stress. We recommend creating new snapshots every nighttime so that the data displayed in the reports is never more than 24 hours sometime.

    As an example:

    Do create a snapshot for a sales summary
    Do not create a snapshot for an invoice report

    For information on setting upwards scheduled snapshots see the following KB commodity: http://www.ssw.com.au/ssw/KB/KB.aspx?KBID=Q1119699

    Effigy: Create a scheduled snapshot of slow reports to better performance
  44. Internationalization - Do you lot continue apply regional friendly formatting?

    You know how we write i million similar $1,000,000.00, well when I was in Brazil I discovered they did it wrong and display it like $one.000.000,00

    I tried to right many but they didn't listen :-)

    So, be culturally sensitive and utilise regional friendly formatting.

    Bad Instance - Bad Number Format
    Skilful Example - Good Number Format
    Bad Example - Bad Currency Format
    Adept Example - Good Currency Format
    Bad Case - Bad Per centum Format
    Good Example - Good Percent Format
  45. Internationalization - Practise yous brand sure your language follows the user'southward regional settings?

    Developers too ofttimes change the 'Language' settings on reports in guild to make information technology expect ok for how they want to see it. Without realizing that they are at present not supporting multiple cultures. To do this, y'all need to set the 'Language' to "=User!Linguistic communication". Then the report will recognize user client's culture settings, e.thou. IE's languages settings.

    Now you can specify this on either the civilisation sensitive controls or the whole report. By and large, is improve specify this property on the whole report.

    Bad Case - Here the 'Linguistic communication' setting is fix to a specific culture
    Good Case - Hither the 'Linguistic communication' setting is ready to '=User!Language' to notice user'south civilisation automatically
    Effigy: Good Instance - Now the information respects user'south Language preference of IE in this example English (Australia)
    Figure: Proficient Example - Besides the data besides respects user's Language preference of IE in this case Chinese (Communist china)

    Alarm: Calculation the 'User' who printed the written report, stops all data-driven subscriptions
    When you endeavor to add the 'User' your information-driven subscriptions neglect with the following fault:
    'The '/GroupHealth' report has user profile dependencies and cannot be run unattended. (rsHasUserProfileDependencies)'.
    The reason is the report doesn't know which language to choose
    the workaround is to add together a user function to fallback the error to a default linguistic communication, like: "en-AU"

    Public Function Language()     Attempt         Return Report.User!Language     Catch         Return "en-AU"     End Endeavor End Function            
    Good Instance - Use above function to replace your reference to Report.User!Language it allow the subscription to work correctly.
  46. Internationalization - Are you aware of your engagement format of parameter bar?

    The format in parameter bar is always decided by the Language settings of client browser regardless of the Language property of your study.

    Figure: Appointment in English(AU) format in parameter bar
    Figure: Date in French(Canada) format in parameter bar
  47. Internationalization - Do you make sure your linguistic communication dominion has an exception for Currency Fields?

    Although we can brand the report support multiple cultures (as per Do yous brand sure your language follows the users regional settings?), we advise you lot don't practise this for currency fields. Instead:

    1. Have the Language gear up specifically to the culture you want.

      eastward.g. If you practise a report for Australian Dollars, then information technology should be "English(Australia)"; if for Chinese Yuan, it should be "Chinese(People's Republic of China)". Because the format of currency should non change equally per user's civilization setting as $100 AUD <> 100 CNY !

    2. Have the currency column header set include the currency.

      Considering $100 USD <> $100 AUD !

    Bad Example - using default language for currency field
    Skillful Example - This currency field stores Australian Dollars and will always brandish it that way
    Effigy: AUD currency
    Good Example - This currency field stores Chinese Yuan and will e'er brandish it that way
    Effigy: Chinese Yuan currency

    If y'all don't want to become currency fields hard coded in reports, you lot can utilize an expression to read settings from your database.

    Skillful Example - using specified linguistic communication as per value of column CurrencyType in table SystemValue
  48. Admin - Practice you validate all your reports?

    Reporting Services does not have a build push, and thus, in that location is no way to verify that every single study is error free.
    Every Reporting Services installation should include this validator to check that all the reports are skilful.

    Figure: SSW SQL Reporting Services Auditor

    SSW SQL Reporting Services Accountant is Web-Awarding that iterates through all the reports on a report server and shows whether they have rendered correctly or if any errors occurred.

    The SSW SQL Reporting Services Auditor spider web application returns an XML dataset that tin can be consumed natively by SQL 2005 Reporting Services. The XML dataset can too be consumed by SQL 2000 Reporting Services; however, this requires you to write a custom Data Processing Extension equally SQL 2000 Reporting Services does not natively support XML information sources.
    For more information read Microsoft's guide on Using an External Dataset with SQL 2000 Reporting Services

    Figure: SSW SQL Reporting Services Auditor in Action!

    Download SSW SQL Reporting Services Auditor (Requires SQL Server 2005 Reporting Services).

  49. Admin - Practise you lot create a carve up virtual directory for Admin admission?

    When going public with Reporting Services, you should have ii ports:

    1. A public admission port. This allows your public users to access their reports normally on a port which has been configured for anonymous users.
    2. An admin access port on your spider web site. This allows authenticated internal users to administrate the report server via the Written report Managing director.

    To ready this up you demand to perform the following:

    In Windows Explorer:

    1. Create a Windows User account for the anonymous reporting services site to run as. east.thou. IUSR_ReportViewer
    2. Open up the ReportingServices directory (C:\Program Files\Microsoft SQL Server\MSSQL.iii\Reporting Services)
    3. Duplicate the ReportServer and the ReportManager folders then rename postfix them with _External eastward.thou. ReportServer_External and ReportManager_External
    4. Set the file admission security on the new folders and then that "Everyone" has full permissions.
    5. Edit the ReportServer_External/rsreportserver.config file. Update the URL node <UrlRoot>http://xxxx:81/ReportServer</URlRoot>
    6. the ReportManager_External/RSWebApplication.config file. Update the URL node <ReportServerUrl>http://xxxx:81/ReportServer</ReportServerUrl>


    In IIS Manager:

    1. Create another website on another port (i.due east. port 81)
    2. Create Virtual Direcoties for ReportServer and Reports then point them to the new folders we just fabricated. Make certain they are setup equally applications.
    3. Change the Authentication of these two virtual directorys to use the user we take already created "USR_ReportViewer". Ensure that all other Authenticated access is unchecked.
    4. In the Reports Virtual Direcotry, make sure that it is running the aforementioned version of ASP.Cyberspace. Set the Applicaiton to execute Scripts and Executables. Add Home.aspx into the Default Documents.
    5. In the ReportServer Virtual Directory, brand certain that it is running the same version of ASP.Internet. Remove all the Awarding Mappings in the Application Confguration. Then add together a wildcard mapping to the Executable C:\WINDOWS\Microsoft.Cyberspace\Framework\v2.0.50727\aspnet_isapi.dll

    In SQL Management Studio:

    1. Add together the user for these folders to have access in SQL

    In Reporting Services:

    1. Go to http://localhost/reports
    2. Click Properties -> New Role Consignment
    3. Enter in IUSR_ReportViewer and click Browser so click OK

    Note #1: The default website will be used for internal Admin (secure) use, and a website on a dissimilar port (in this instance we use port 81) will be used for external bearding admission.

    Notation #2: Do these steps again every time you install a Reporting Services service pack

    One time complete, you should now have authenticated admission bachelor on the standard port (lxxx) and public access available on the new port (81).

    We call back that nosotros should have the ability to choose how IIS authenticates clients - read our Reporting Services suggestion.

    Figure: Create a divide virtual directory for admin admission

    The process is a little simpler in SQL 2000:

    In Windows Explorer:

    1. Open up upward the ReportingServices directory (typically c:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\)
    2. Brand a re-create of the ReportManager folder and call it ReportManagerPublicAccess
    3. Duplicate the file access security settings on ReportManager in ReportManagerPublicAccess
    4. Edit the RSWebApplication.config in the ReportManagerPublicAccessfolder to betoken to http://server:81/ReportServer


    In IIS Managing director:

    1. Configure the default website's ReportsServer virtual directory to give access to IUSR_ServerName (for public access)
    2. Consign the Report and ReportServer virtual directory to an XML file
    3. Create some other website on some other port (i.e. port 81)
    4. Add the Report and ReportServer virtual directories using the XML files created in stride 2
    5. Set up the Reports virtual directory to betoken to the ReportsManagerSecure directory instead of just ReportsManager
    6. Ready the directory security on the ReportServer on port 81 to employ windows integrated security
  50. Admin - Do y'all take reward of 'Integrated Security' to do Payroll reports?

    Payroll report should only show the records of the current user, Reporting Services back up "Integrated Security" which yous tin can utilize to identify the user who is running the report and only return relevant result for the current user.

    Bad Example - Anybody can see others' charge per unit irresolute history (possibly useful for administrative, only non for your employees)
    Skilful Case - The current employee can merely see his own record

    To generate such a report, you need to use the filter on the information table:

    Figure: Specify the filters on your information table and select Globals->User!UserID

    Note: 'Edit Expression' dialog is only available on RS 2005, simply the UserID global variable is available on RS 2000.

  51. Admin - Do you remove @ExecutionTime in discipline of subscription electronic mail?

    In subscription settings, @ExecutionTime should be removed from subject, because it ruins conversation threading in Outlook - You lot cannot sort them by subject.

    Bad Instance - Proceed @ExecutionTime in subject area

    So we ever brand subject of subscription exactly aforementioned as study name.

    Good Example - Subject same every bit report proper name
  52. Do yous know to embed an RS report in ASP.Cyberspace page the right style (using Study Viewer instead of IFrame)?

    This rule is obsolete and has been replaced with http://rules.ssw.com.au/SoftwareDevelopment/RulesToBetterMVC/Pages/Do-you-know-the-best-way-to-do-printable-reports.aspx using MVC v.

    Visual Studio provides a Report Viewer control for WebForms, so apply it instead of the erstwhile IFrame method. The report viewer control is super like shooting fish in a barrel to employ - merely drag the command into your folio designer and select the properties you similar.

    The bad erstwhile way was to use an IFrame and point information technology to the report's URL (including parameters). This is bad considering you might encounter a typing mistake. If you want to disable vertical scrollbar, y'all need to accommodate the top of IFrame manually. Furthermore, you can't configure the report's authentication separately.

    <IFRAME width="100%" acme="700" TITLE="Report" src="http://reports.internal.ssw.com.au/ReportServer?     %2fTimeProOnlineReports%2fClientRegisteredProductsByDate     &rs:Command=Return&ClientContactID=<%=mintClientContactID%>&ClientExInfo=<%=clientInfo%>&rc:Parameters=imitation"> </IFRAME>              
    Bad Instance - Embed report using IFrame
    <rsweb:ReportViewer ID="ReportViewer1" runat="server" SizeToReportContent="True" ProcessingMode="Remote" Width="100%" AsyncRendering="fake">     <ServerReport ReportServerUrl="http://reports.internal.ssw.com.au/reportserver"     ReportPath="/TimeProOnlineReports/ClientRegisteredProductsByDate" /> </rsweb:ReportViewer>              
    Proficient Case - Embed report using Report Viewer
    Bad instance - IFrame with vertical scrollbar
    Adept instance - Report Viewer without vertical scrollbar
  53. Exercise you know how to get electronic mail list of study subscription?

    Y'all tin can get email list in ExtensionSettings, which is an XML cavalcade in Subscriptions table in database of reporting services. Subscriptions table has a FK with Itemize table, which contains study proper noun and report path information. And so we can XQuery the ExtensionSettings to get TO and CC fields according to written report name and report path.

    See the following example. Yous need to fill report proper name and report path parameters(@mReportName and @mReportPath). Then this instance will render the email dataset of the report'southward subscriptions.

    Effigy: Report parameters
    Effigy: Transfer parameters to dataset
    DECLARE xmlCursor CURSOR FOR  SELECT       ExtensionSettings FROM         SubScriptions, [Catalog] WHERE        SubScriptions.Report_OID = [Catalog].ItemID AND               [Catalog].Name = @mReportName AND               [Itemize].Path = @mReportPath  DECLARE @settingsXML As XML  DECLARE @toEmail Equally XML DECLARE @ccEmail Every bit XML DECLARE @annotate As XML  CREATE Table #subscrpt(toEmail XML, ccEmail XML, Comment XML)  OPEN xmlCursor  /* Perform the offset fetch.*/  FETCH NEXT FROM xmlCursor INTO @settingsXML  /* Check @@FETCH_STATUS to see if there are whatsoever more than rows to fetch.*/  WHILE @@FETCH_STATUS = 0 BEGIN     SELECT @toEmail = @settingsXML .query('information(/ParameterValues/ParameterValue [Name = "TO"]/Value)')     SELECT @ccEmail = @settingsXML .query('information(/ParameterValues/ParameterValue [Name = "CC"]/Value)')     SELECT @comment = @settingsXML .query('data(/ParameterValues/ParameterValue [Name = "Comment"]/Value)')     INSERT INTO #subscrpt VALUES (@toEmail,@ccEmail,@comment)      /* This is executed equally long every bit the previous fetch succeeds.*/      FETCH Adjacent FROM xmlCursor INTO @settingsXML  End SELECT toEmail, ccEmail, Comment FROM #subscrpt  DROP Tabular array #subscrpt  Close xmlCursor  DEALLOCATE xmlCursor              
    Good Case - Get email list
  54. Exercise you add report owner in your report?

    Study owner is the person who looks afterward this report. Information technology's a practiced way to put the possessor on the written report in social club to get whatever response or proffer on fourth dimension.

    There're four things you have to take care of.

    1. Please make sure you lot use a group (or a team) as the study owner rather than individual names. We do this to reduce maintenance work - whenever a person comes or leaves we do not demand to modify the report.
    2. Brand the report owner a hyperlink which links to the definition of the grouping (or the squad).
      Show report owner in the report
      Good Example - Show study owner in the report
    3. When you cannot refer to a group, refer to the person
    4. Use the aforementioned thought for spider web pages, nonetheless in that case use the term "Page Owner"

    In CRM, the report tin read from the CRM database since the report possessor is stored by CRM confronting the report:

    Show the CRM report owner in a CRM report
    CRM - yous already have a report owner so display this in your report
  55. Do you lot use single line box instead of double line box?

    Double line box makes reports look messy and inelegant, so it is better to apply single line box.

    SSW - Report UI
    Bad Example - Double line box makes the study above look messy
    SSW - Report UI
    Practiced Example - Single line box makes the report above look clean and elegant
  56. Do you alter the proper noun of site settings?

    The default site settings proper noun of SSRS is "SQL Server Reporting Services" regardless of version 2005 or 2008. Then nosotros'd better add together the version to the site settings name then users can find the version of SSRS here.

    Site settings without SSRS version
    Bad Instance - Site settings without SSRS version
    Site settings with version of SSRS 2005
    Good Example - Site settings with version of SSRS 2005
    Site settings with version of SSRS 2008
    Practiced Instance - Site settings with version of SSRS 2008
  57. Exercise you use the correct hallmark for your report?

    Using bearding authentication is not recommended because of security reasons.

    • Anonymous accounts (the IUSER_* and IWAM_* accounts) are managed by windows security system. Nosotros exercise not desire to utilise these accounts because we take to manually configure our report server security settings.
    • Nosotros do not want everyone on the Internet update or overwrite stuffs on the study server.

    Besides, anonymous authentication is no longer supported in RS 2008.

    The all-time way to expose your report is to utilize ReportViewer and setup the credentials on information technology using ReportViewerCredentials.

    Dim userName Every bit String = ConfigurationManager.AppSettings("ReportViewer_UserName")
    Dim password As Cord = ConfigurationManager.AppSettings("ReportViewer_Password")
    Dim domain As Cord = ConfigurationManager.AppSettings("ReportViewer_UserDomain")
    reportViewer.ServerReport.ReportServerCredentials = New ReportViewerCredential(userName, password, domain)

    Dim paramList As List(Of ReportParameter) = New Listing(Of ReportParameter)
    paramList.Add(New ReportParameter("ClientContactID", mintClientContactID, Simulated))
    reportViewer.ServerReport.SetParameters(paramList)

  58. Exercise you lot have URL Access link for your report?

    Reporting Service makes buliding, generating, managing and publishing study very easy, yet erstwhile you want to refer to your report by URL from somewhere else. Y'all will find that you can only link to the report default condition, but not when you accept changed the parameters. It should be as easy as using QueryString in ASP.Cyberspace application, but Microsoft didn't do that. Encounter our Better Software Suggestions for Reporting Service.

    A workaround for this is to apply URL Access to bulid up a link by yourself then put it at the bottom of the written report, and so whatsoever fourth dimension you want to refer to your electric current report status, you can just copy this link and put into your emails.

    At SSW, we have "URL Admission" at the bottom of reports for easy reference.

    Figure: URL Access link for quick reference at the bottom of report
    http://localhost/ReportServer/Pages/ReportViewer.aspx?%2fSSWTimePRO_CompanyPerformance%2f01+-+BillableTimeSummary&rs:Command=Render
    Bad Instance - Just refer to the default report URL, parameters on the report will be lost
    http://localhost/ReportServer/Pages/ReportViewer.aspx?/SSWTimePRO_CompanyPerformance/01%xx-%20BillableTimeSummary&rs:Control=Render&rs:ParameterLanguage=en-AU&pStartDate=1/06/2009&pEndDate=7/06/2009&pEmpID=ALZ
    Good Instance - Refer to the report with all parameters fix

    Please note "rs:ParameterLanguage=en-AU" in the query cord, this is very of import espeically when you are passing civilisation sensitive information (DateTime) over URL. The server may not know your intended culture then yous have to specify this together with the actual data in the URL.

    Refer to the following MSDN references for more details:
    • URL Access for Reporting Services : http://msdn.microsoft.com/en-us/library/ms153586.aspx
  59. Do you have a articulate labelling for including / excluding GST?

    In reporting, total sales / revenue amount can be categorised equally 2 types, which are include GST or exclude GST. It is very important to have clear labelling to avoid the user guessing on whether it includes GST or exclude GST.

    Figure: Bad Example - Unclear labelling
    Effigy: Good Example - Clear labelling
  60. Do you have a summary and a detailed version of your report?

    In the vast majority of cases where the readership of the report is wide, some viewers like or need swell item while others just need a quick summary.

    Detail report
    Bad Example – Just ane version of the report with too many columns for most readers to assimilate
    Summary report
    Proficient Example – Only the near of import columns included for the summary version and the detailed version can be left as in the "Bad Example" in a higher place.
  61. Analyzing with Excel - Do yous use a alive information feed?

    Excel Data
    Figure: Bad instance - static data that will need to exist re-exported
    Live Data
    Effigy: Good example - as the data is always live

    This is a bully feature as it take advanatages of Excel 2010 PowerPivot together with Reporting Services 2008 R2 to allow end users to subscribe to live data from a written report.
    Run into what the experts said beneath:

    "And that, by the way, makes it very useful, as it means that PowerPivot models can get data from Essbase and SAP BW (aka Netweaver BI) (via SSRS), which standard Analysis Services cannot do. But it also means that developers tin can write LINQ queries confronting reports and that whatsoever OData clients sprout up tin get at that data as well. In general, it means that reports in SQL R2 support a RESTful interface."
    - Andrew Brust

    "Using atomsvc feeds and loving it :)
    We've used this characteristic in our last 4-5 BI projects and the clients are all applauding this characteristic. It is a very nice style of surfacing data to users that desire to use the information as a starting point for doing more analysis. It does indeed take a lot of the brunt off the IT dept that previously had to build custom reports for everything."
    - Trond Brande

  62. Do you follow the naming converstion standards in Reporting Service?

    Nosotros use SQL Server naming standards in Reporting Service management.

    • Don't employ plurals in folder names
    • Add zs prefix to organisation folders
  63. Do you use SharePoint Integration Reporting Mode over Normal(Native) Reporting Mode?

    With the utilize of SharePoint 2010 Integration mode of Reporting, users can accept following advantages:

    • The users Can easily deploy data sources, reports to sharePoint certificate libraries instead of Study Director.
    • The users tin can be much more cocky-sufficient with SharePoint.
    • Very easy one footstep configuration of the add-in
    • 37 languages supported including bi-directional languages.
    • Accessing Reporting in local mode when Admission Services is enabled.
    • Improved Report Preview feel with Report Builder 3.0 and edit sessions and deploy their reports to SharePoint document libraries, leveraging SharePoint for security.
    • The users can take reward of the new version of Report Builder that came with SQL Server 2008 R2 and deploy their reports to SharePoint certificate libraries, leveraging SharePoint for security.
    NativeMode of Reporting
    Bad Example – SQL Report Manager (which requires Visual Studio and TFS if you desire source command).
    SharePoint Integrated Mode of Reporting
    Skillful Example – SharePoint Integration (y'all get nice source control via SharePoint and you can apply the nice Study Architect 3).
  64. Practise yous know how to brandish reports in Firefox, Chrome and Safari (SQL Reporting Services 2008R2/2012)?

    SQL Reporting Services works cracking with Internet Explorer but other browsers sometimes don't work correctly, Hither's the solution.

    report-display-bad
    Figure: Bad Example – SQL RS does not piece of work in Chrome by default

    This issue is caused by Reporting Services emitting Quirks Manner HTML, to set up this make the following changes to the ReportingServices.js file the total path to this file is:

    C:\Programme Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager\js\ReportingServices.js

    Add together the following java script:

    office pageLoad() {     var element = document.getElementById("ctl31_ctl10"); if (element)  {        chemical element.style.overflow = "visible";  } }

    Once this change is made reports volition be visible.

    report-display-good
    Figure: Expert Example – SQL RS stock-still to correctly display in Chrome

    More data at:stackoverflow.com/questions/5968082/ssrs-2008-r2-reports-are-blank-in-safari-and-chrome

    Read how to display reports properly for Reporting Services 2005/2008.

  65. Do you know how to display reports properly in Firefox / Chrome (Reporting Services 2005/2008)?

    Sometimes users attempt to view SQL Server Reports in Firefox or Chrome Browser, information technology does not display at all or displays in a half screen.

    They found it foreign when the same written report works absolutely fine in Internet Explorer.

    Bad Image of Firefox displaying report in half screen
    Bad Example – SQL Report viewed in Firefox / Chrome (which does not display written report properly or display merely one-half the screen.)

    The Solution:

    Add the code below to "%ProgramFiles%\Microsoft SQL Server\MSSQL.3\ReportingServices\ReportManager\Styles\ReportingServevices.css"

                  .DocMapAndReportFrame                 {                     min-height: 860px;                     min-width: 2000px;                 }            
    Good Image where Report works fine in Firefox or Chrome
    Good Example – SQL Report viewed in Firefox / Chrome (which displays properly in Firefox and Chrome ).

    Read how to display reports properly for Reporting Services 2008R2/2012.

  66. Do y'all have a report which refresh your data source?

    If you take a SQL database data source with information coming from an external source (i.e. MYOB), then yous should create a written report which allows user to manually refresh data. Your report should have:

    • A checkbox/radio push button which allows user to trigger the refresh.
    • A table brandish the history of previous refresh including start time, duration and status...
    A report which allow you to refresh data from external source
    Good Instance: A study with a radio push allows you to refresh data and a table showing the history.

Can Sql Server Reporting Services Display Chinese,

Source: https://www.ssw.com.au/ssw/Standards/Rules/RulesToBetterSQLReportingServices.aspx

Posted by: johnsensterst.blogspot.com

0 Response to "Can Sql Server Reporting Services Display Chinese"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel