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.
-
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... -
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
-
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.
-
-
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:
- Study Project based on the Chance Works 2008 R2 database
- 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
-
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?
- 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
-
- 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
-
- 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.
-
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.
-
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
-
-
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.
-
- 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.
-
-
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:
- 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)
- Execution Fourth dimension (east.yard. Execution time: 1 minute, x seconds)
- Folio x of y (e.g. Page 3 of ten)
- Link to company website + slogan (due east.chiliad. www.ssw.com.au - Writing software people empathise)
-
- Bad Instance - This footer doesn't provide any useful information
-
- 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 -
- 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. -
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.
-
- Bad Example - redundant employ of the word 'report' in a study
-
- Good Example - avoidance of the word 'study' in a study
-
-
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.
-
- Bad Instance - No underline for hyperlink item
-
- 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.
-
-
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:
- Add a rectangle to the top of your report, in a higher place any study items in the torso. Set its BorderColor to Ruby
- 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.
- 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
-
- 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
-
- Group all other report items into a rectangle - you want to be able to evidence and hide them dynamically
- 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)
-
-
Layout - Do yous have consequent study name?
A professional report should accept consequent name.
-
- Bad Example - Inconsistent report name
-
- Good Instance - Consistent report name
-
-
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
-
-
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:
- Going to Site Settings
- Add 2005 or 2008 to the name
-
- Bad Instance - You can't tell what version of reporting services you are running
-
- Skillful Example - We can conspicuously run into that this is running Reporting Services 2005
-
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
-
-
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:
- Create a new dataset in your report
- 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)
- Configure the new added parameter 'pEndDate'
-
- Figure: Change Data Type to DateTime and assign to the proper default values
- Add together a nautical chart to your report in Layout view and change its type to "Elementary Cavalcade"
- 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
-
- 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.
- 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.
- 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")
-
-
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
-
-
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
-
- 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
-
-
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.
- In Layout view, add a new row to the bottom of the table
- 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
-
- Set up the textbox'south Proper noun property to MaxMyTotal (e.g. MaxCount)
- Set the new row'due south Visibility/Subconscious property to true - you don't want to show it in the report
- Open the Nautical chart properties and select the "Y Axis" tab
- 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
-
- 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).
- 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 - 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.
-
-
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
-
-
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
-
-
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
-
-
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.
-
-
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
-
-
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.
-
-
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
-
-
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
-
-
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
-
-
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
-
-
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
-
-
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
-
- Good Case - consistent chart elevation
-
-
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
-
-
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
-
-
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
-
-
Information Layout - Is title centered in chart?
Title should exist centered in chart.
-
- Bad Example - title not centered
-
- Proficient Example - title centered
-
-
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:
- 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.
- 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.
- 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
-
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
-
-
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
-
-
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
-
-
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
-
-
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).
-
- 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.
-
-
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. -
-
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
-
-
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 reportFor 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
-
-
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
-
-
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.
-
-
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
-
-
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:
- 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 !
- 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
- Have the Language gear up specifically to the culture you want.
-
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).
-
-
Admin - Practise you lot create a carve up virtual directory for Admin admission?
When going public with Reporting Services, you should have ii ports:
- A public admission port. This allows your public users to access their reports normally on a port which has been configured for anonymous users.
- 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:
- Create a Windows User account for the anonymous reporting services site to run as. east.thou. IUSR_ReportViewer
- Open up the ReportingServices directory (C:\Program Files\Microsoft SQL Server\MSSQL.iii\Reporting Services)
- Duplicate the ReportServer and the ReportManager folders then rename postfix them with _External eastward.thou. ReportServer_External and ReportManager_External
- Set the file admission security on the new folders and then that "Everyone" has full permissions.
- Edit the ReportServer_External/rsreportserver.config file. Update the URL node <UrlRoot>http://xxxx:81/ReportServer</URlRoot>
- the ReportManager_External/RSWebApplication.config file. Update the URL node <ReportServerUrl>http://xxxx:81/ReportServer</ReportServerUrl>
In IIS Manager:- Create another website on another port (i.due east. port 81)
- Create Virtual Direcoties for ReportServer and Reports then point them to the new folders we just fabricated. Make certain they are setup equally applications.
- 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.
- 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.
- 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:
- Add together the user for these folders to have access in SQL
In Reporting Services:
- Go to http://localhost/reports
- Click Properties -> New Role Consignment
- 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:
- Open up upward the ReportingServices directory (typically c:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\)
- Brand a re-create of the ReportManager folder and call it ReportManagerPublicAccess
- Duplicate the file access security settings on ReportManager in ReportManagerPublicAccess
- Edit the RSWebApplication.config in the ReportManagerPublicAccessfolder to betoken to http://server:81/ReportServer
In IIS Managing director:- Configure the default website's ReportsServer virtual directory to give access to IUSR_ServerName (for public access)
- Consign the Report and ReportServer virtual directory to an XML file
- Create some other website on some other port (i.e. port 81)
- Add the Report and ReportServer virtual directories using the XML files created in stride 2
- Set up the Reports virtual directory to betoken to the ReportsManagerSecure directory instead of just ReportsManager
- Ready the directory security on the ReportServer on port 81 to employ windows integrated security
-
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.
-
-
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
-
-
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.
- Bad Instance - Embed report using IFrame
<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>
- Proficient Case - Embed report using Report Viewer
<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>
-
- Bad instance - IFrame with vertical scrollbar
-
- Adept instance - Report Viewer without vertical scrollbar
-
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
- Good Case - Get email list
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
-
-
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.
- 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.
- Brand the report owner a hyperlink which links to the definition of the grouping (or the squad).
-
- Good Example - Show study owner in the report
-
- When you cannot refer to a group, refer to the person
- 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:
-
- CRM - yous already have a report owner so display this in your report
-
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.
-
- Bad Example - Double line box makes the study above look messy
-
- Practiced Example - Single line box makes the report above look clean and elegant
-
-
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.
-
- Bad Instance - Site settings without SSRS version
-
- Good Example - Site settings with version of SSRS 2005
-
- Practiced Instance - Site settings with version of SSRS 2008
-
-
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)
-
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
-
-
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
-
-
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.
-
- Bad Example – Just ane version of the report with too many columns for most readers to assimilate
-
- 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.
-
-
Analyzing with Excel - Do yous use a alive information feed?
-
- Figure: Bad instance - static data that will need to exist re-exported
-
- 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 -
-
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
-
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.
-
- Bad Example – SQL Report Manager (which requires Visual Studio and TFS if you desire source command).
-
- Skillful Example – SharePoint Integration (y'all get nice source control via SharePoint and you can apply the nice Study Architect 3).
-
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.
-
- 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.
-
- 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.
-
-
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 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 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.
-
-
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...
-
- 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