Thursday, March 27, 2014

Sql Server Reporting Services Questions And Answer ( SSRS )

1.    You want to include an image in a report. How do you display the Image Properties dialog box? 
When you drag an image item from the Toolbox window to the Report Designer, the Image Properties dialog box automatically opens.
2.    You want to configure an amount to display the value in a currency format. Which property do you use? 
To configure an amount to display a value in a currency format, select the report item, and then set the format property to C or c.
3.    What are data regions?
Data regions are report items that display repeated rows of summarized information from datasets.
4.    You want to generate a report that is formatted as a chart. Can you use the Report Wizard to create such a report? 
No, the Report Wizard lets you create only tabular and matrix reports. you must create the chart report directly by using the Report Designer.
5.    You want to use BIDS to deploy a report to a different server than the one you chose in the Report Wizard. How can you change the server URL? 
You can right-click the project in Solution Explorer and then change the Target-Server URL property.
6.    Which rendering formats are affected by the PageSize properties?
Because only the Adobe PDf file, Word, and Image rendering extensions use physical page breaks, they are the only formats that are affected by the PageSize properties.
7.    Can you use a stored procedure to provide data to an SSRS report?
Yes, you can use a stored procedure to provide data to an SSRS report by configuring the dataset to use a stored procedure command type. However, your stored procedure should return only a single result set. If it returns multiple result sets, only the first one is used for the report dataset.
8.    You want to use a perspective in an MDX query. How do you select the perspective?
Use the Cube Selector in the MDX Query Designer to select a perspective.
9.    Can you use data mining models in SSRS?
Yes, you can use the DMX Designer to create data mining queries for SSRS reports. However, do not forget to flatten the result set returned by the DMX query.
10.  You want your report to display a hyperlink that will take users to your intranet. How do you configure such a hyperlink?
Create a text box item, set the action to Go To URL, and then configure the URL.
11.  You want a report to display Sales by Category, SubCategory, and Product. You want users to see only summarized information initially but to be able to display the details as necessary. How would you create the report?
Group the Sales information by Category, SubCategory, and Product. Hide the SubCategory group and set the visibility to toggle based on the Category item. Hide the Product category group and set the visibility to toggle based on the SubCategory item.
12.  You want to create an Excel interactive report from SSRS. In SSRS, can you create the same interactive experience in Excel that you would have on the Web? 
No, you cannot create the same experience with SSRS. you can, however, use Excel to create such an experience.
13.  What is the main difference between a Matrix report item and a Table report item? 
The main difference between a Matrix and a Table report item is in the initial template. Actually, both report items are just templates for the Tablix data region.
14.  When you do not use report caching, is it better to use parameters to filter information in the query or to use filters in the dataset?
From a performance perspective, it is better to use parameters because they let SSRS pull filtered data from the data source. In contrast, when you use filters, the queries retrieve all data and then filter the information in an additional step.
15.  How do you configure a running aggregate in SSRS?
You can use the RunningValue function to configure a running aggregate.
16.  What is the main purpose of a report parameter? 
The main purpose of a report parameter is to add interactivity to your reports, letting users change the report behavior based on options they select.
17.  What is the main purpose of a query parameter? 
The main purpose of a query parameter is to filter data in the data source.
18.  You want your users to select a parameter from a list of values in a list box. How should you configure the parameter? 
You should create a data source that contains the possible values and then bind the data source to the parameter.
19.  What is the main benefit of using embedded code in a report?
The main benefit of using embedded code in a report is that the code you write at the report level can be reused in any expression in the report.
20.  What programming language would you use to create embedded functions in SSRS? 
21.  How do you reference an embedded function in a report expression?
Use the Code prefix and the name of the function to reference an embedded function in a report expression.
22.  Which of the following are valid options for deploying a report? (Choose all that apply.)
a. With BIDS 
b. With the Computer Management console
 
c. With the .nET START command
 
d. With SSMS
 
e. With Report Manager
 
The correct answers are a and e, BIDS and Report Manager.
23.  Why should you not overwrite a shared data source in production?
You should not overwrite a production-shared data source because the administrator has probably already changed some connection string properties.
24.  Can you edit a report that an end user created by using Report Builder in BIDS?
Yes, if an end user created a report by using Report Builder in BIDS and saved the report definition file, you can open the file in BIDS and edit it.
25.  How can you manage reports from your application if the report server is deployed in SharePoint integrated mode?
Use the ReportService2006 endpoint of the SSRS Web service if your report server is deployed in SharePoint integrated mode.
26.  In which processing mode of a report viewer control can you use the full functionality of your report server?
You should use the remote processing mode to use the full functionality of your report server.
27.  What types of roles are available in SSRS 2008, and what are their purposes? 
Item-level roles and system-level roles are the two types of roles available in SSRS 2008. An item-level role is a collection of tasks related to operations on an object of the report object hierarchy of SSRS 2008. A system-level role is a collection of tasks related to operations on server objects outside the report object hierarchy of SSRS 2008.
28.  Can a user or group belong to more than one item-level or system-level role? 
Yes, in SSRS 2008, a user or group can have more than one association to a system-level or an item-level role.
29.  When storing the credentials of a data source in the server, are those credentials safe?
Yes, the data source credentials are safe because Reporting Services encrypts them and stores them in the ReportServer SQL Server database.
30.  What happens if you do not specify a parameter value in a subscription and the parameter does not have a default value? 
If you do not specify a parameter value in a subscription and the parameter does not have a default value, the execution of the report will fail.
31.  You want to create a subscription to a report. However, when you right-click the Subscription subfolder of the report, you notice that the new Subscription option is dimmed. What is wrong? 
When the new Subscription option is dimmed, the report probably does not use stored credentials for accessing the data. SSRS needs these credentials stored in its own ReportServer database to execute a report on a schedule.
32.  What can you do if your query with properties for a data-driven subscription does not provide values for all of the subscription properties?
If your query with properties for a data-driven subscription does not provide values for all of the subscription properties, you can use text and default values instead. These values are then used for parameters of all subscriptions you get from the query.
33.  What mechanisms do you identify to reduce the overhead of Reporting Services data sources?
Snapshots and cached reports can help reduce the processing pressure on data sources and improve report response time.
34.  Can you always create a cache of a report? 
No, you can create a cache of a report only when certain requirements, such as having credentials stored in the Report Server, are met.
35.  Can you edit the .rdl code associated with a linked report?
No, because a linked report has no .rdl code of its own. It refers to the .rdl code of the base report.
36.  Which of the tools and utilities described in this lesson can change or create the virtual directories for the report server and Report Manager after installation? 
Only Reporting Services Configuration Manager can enable and name the virtual directories for the report server and Report Manager.
37.  What is the file name extension for an encryption key backup? 
Encryption key backups have an .snk file name extension.
38.  What are the three SSRS command-line utilities and their primary functions?
RSConfig.exe is used to define the connection properties from the SSRS instance to the Report Server database; RSKeyMgmt.exe performs encryption key operations and scale-out deployment setup; RS.exe runs Report Server Script files that can perform report deployment and management operations.
39.  If you want to disable one of the rendering options in the Save As drop-down list when viewing a report through Report Manager, where do you do that? 
The visibility property for any of the rendering devices can be changed by modifying the RSReportServer.config file and locating the <ExtensionName="RenderDevice"/>  tag for the specific device.










List of SSRS interview questions:



If you want to answer the question first without our answers feel free to use the list here. Later in the our blog post you will see both question and answers.

NOTE: Answers show our experience in specific type of projects and SSRS is one of the tools that can be used in many different ways so you might get very different opinions to our answers. So it is up to you to decide if our answer is suitable to your situation.



Question: Which versions of SSRS have you used?
Question: Have you got samples of your work?
Question: Do you have Data Visualization skills? (optional)
Question: How have you learnt SSRS (on the job, articles, books, conferences)
Question: How do you normally create reports (wizard/manually)?
Question: What languages have you used to query data for SSRS Reports?
Question: Gives examples where you used parameters?
Question: What types of graphs do you normally use and what effects do you apply to them?

Question: Have you used custom assemblies in SSRS? If Yes give an example
Question: Can you update report data using SSRS?
Question: What is the formatting code (format property) for a number with 2 decimal places?


Below are "narrowed" questions:

Question: What does rdl stand for?
Question: How to deploy an SSRS Report?
Question: What is Report Manager?
Question: What is Report Builder?
Question: What permission do you need to give to users to enable them to use Report Builder?
Question: What do you need to restore report server database on another machine?
Question: Can you create subscription using windows authentication?
Question: What caching options do you have for reports on report server?
Question: How to find slow running reports?
Question: How can you make calendar available in report parameter?
Question: How to pass multi-valued parameter to stored procedure in dataset?
Question: Which functions are used to pass parameter to MDX query?
Question: How to create "dependent " parameter "Make, Model, Year"
Question: How to create "alternate row colour"?
Question: How to create percentile function?
Question: How to create median function?
Question: How to make conditional sum in SSRS?
Question: How to find a value in another dataset based on current dataset field (SSRS 2008 R2)?
Question: How to change parameter value inside the report?
Question: How to identify current user in SSRS Report?


General SSRS Questions    

Question: Which versions of SSRS have you used?
Comment: Differences between 2005 and 2008 are quite big so if someone hasn't used 2008 or 2008 R2 before (or vice versa) than make sure you know this will require a few days to get up to speed with the new/previous version. If the candidate used several versions ask to describe the differences between them.

Question: Have you got samples of your work?
Comment: If SSRS is main skills for the role than it is worth asking for samples (before interview) they will often tell you a lot about the candidate quality of work.

Question: Do you have Data Visualization skills? (optional)
Comment: If you need dashboards then it is worth asking this question (we will ask more specific questions later). This is also related to previous question. When you review samples ask the candidate or yourself two questions: What is the purpose? And is it useful? Someone who does not know anything about data visualization will usually use pie charts, gauges (exception is bullet chart which is classified as gauge in SSRS), 3D effects, make colourful designs (without any colour meaning). Some candidates may mention Stephen Few or Edward Tufte and this normally is a big plus.

Question: How have you learnt SSRS (on the job, articles, books, conferences)
Comment: The thing is that most people who read good books have usually an advantage over those who hasn't because they know what they know and they know what they don't know (but they know it exists and is available)…. Blog/Articles vary in quality so best practise articles is a big plus+, conferences can be also a plus.



SSRS Development open questions


Question: How do you normally create reports (wizard/manually)?
Comment: If wizard in most cases then you got rather inexperienced person, if manually than it is usually good answer. The best answer is using a template. Generally developers create reports from scratch which is not bad but it is not very efficient either.

Question: What languages have you used to query data for SSRS Reports?
Comment: Most answers will probably be SQL (TSQL). But T-SQL is not the only query language. If someone build reports based on cubes before than they will say MDX. You can also query data from other sources (not recommended) or use data mining expressions (DMX = advanced).

Question: Gives examples where you used parameters?
Comment: Typically you use parameters to filter data in datasets (or data on reports) but you can also use them to restrict values like the well-known make->model->year example. You can also have hidden and internal parameters which get very handy for more advanced stuff.

Question: What types of graphs do you normally use and what effects do you apply to them?
Comment: Good graph are bar, line, scatter, bullet graphs. Bad graphs are pie charts, area graphs, gauges (apart from bullet graph which classified as gauge in SSRS). Effects should be limited to minimum. Developers should avoid 3D effects, "glass" effect, shadows etc


SSRS Advanced questions


Question: Have you used custom assemblies in SSRS? If Yes give an example
Comment: This allows to re-use code in reports and it is not very common. Re-usability is good but building dependencies is not so good… so one small mistake might break all reports using it; so it should be used with care.

Question: Can you update report data using SSRS?
Comment: This is not often used (and probably shouldn't be used in most cases) but it is possible.

Question: What is the formatting code (format property) for a number with 2 decimal places?
Comment: N2. Attention to details and good memory is always welcome.


SSRS interview "narrowed" questions

In this section I will give you fairly long list of short and narrowed questions:



Question: What does rdl stand for?

Answer: Report Definition Language

Question: How to deploy an SSRS Report?

Answer: Configure project properties (for multiple environments) and deploy from bids, upload manually or use rs.exe for command line deployment.

Question: What is Report Manager?

Answer: Web based tool that allows to access and run reports.

Question: What is Report Builder?

Answer: Report Builder is a self-service tool for end users.

Question: What permission do you need to give to users to enable them to use Report Builder?

Answer: "Report Builder" role and "system user". Report builder should also be enable in report server properties.

Question: What do you need to restore report server database on another machine?

Answer: SSRS Encryption key

Question: Can you create subscription using windows authentication?

Answer: No.

Question: What caching options do you have for reports on report server?

Answer: Do no cache, expiry cache after x minute, on schedule.

Question: How to find slow running reports?

Answer: Check ReportExecution table

Question: How can you make calendar available in report parameter?

Answer: Set parameter data type to date.

Question: How to pass multi-valued parameter to stored procedure in dataset?

Answer: Join function in SSRS and split function in T-SQL

Question: Which functions are used to pass parameter to MDX query?

Answer: StrToMember and StrToSet

Question: How to create "dependant" parameter "Make, Model, Year"

Answer: They need to be in correct order, and previous parameter should filter next parameter dataset. For instance Model dataset should be filtered using Make parameter

Question: How to create "alternate row colour"?

Answer: use RowNumber and Mod function OR visit our tutorial.

Question: How to create percentile function?

Answer: Custom code is required. Visit our tutorial for more details.

Question: How to create median function?

Answer: Custom code is required. Visit our tutorial for more details.

Question: How to make conditional sum in SSRS?

Answer: IIF condition true then SUM else nothing. Visit our tutorial for more details

Question: How to find a value in another dataset based on current dataset field (SSRS 2008 R2)?

Answer: Use lookup function.

Question: How to change parameter value inside the report?

Answer: Set action. "Jump to itself" and pass different value for the parameter.

Question: How to identify current user in SSRS Report?

Answer: User!UserID



Mandatory question (task)

The last question (task) is one of the most important ones. Ask the candidate to do the job using the software! It doesn't have to be anything special. You can ask them just to create a simple report, graph, chart or use one of the questions and ask the person to explain it using SSRS. It is usually very easy to spot how familiar is the person with the software and options/properties.


SSRS Books I read and I can recommend

I have read several books related to SSRS and I can recommend those two:

For beginners:

Microsoft SQL Server 2008 Reporting Services Step by Step

For those who want to learn more:

Microsoft SQL Server Reporting Services Recipes: for Designing Expert Reports (Wrox Programmer to Programmer)
Microsoft SQL Server Analysis Services (SSAS)
Microsoft SQL Server Analysis Services (SSAS) delivers online analytical processing (OLAP) and data mining functionality for business intelligence applications. Analysis Services supports OLAP by letting you design, create, and manage multidimensional structures.
The basic idea of OLAP is fairly simple. Let̢۪s think about that book ordering data for a moment. Suppose you want to know how many people ordered a particular book during each month of the year.
To define a data source, you’ll use the Data Source Wizard. You can launch this wizard by right-clicking on the Data Sources folder in your new Analysis Services project.
A data source view is a persistent set of tables from a data source that supply the data for a particular cube.
Creating an Analysis Services Project and Defining a Data Source View within an Analysis Services Project
You can define a cube and its dimensions in a single pass using the Cube Wizard. Alternatively, you can define one or more dimensions and then use the Cube Wizard to define a cube that uses those dimensions.
In the following tasks, you will use Dimension Designer to add attributes to the Customer and Product dimensions.
After you have defined a cube, you can review the results by using Cube Designer. In the following task, you review the structure of the cube in the Analysis Services Tutorial project.
Deploying an Analysis Services project creates the defined objects in an instance of Analysis Services.
In the following task, you browse the Analysis Services Tutorial cube.
After you install an instance of Analysis Services, all members of the Administrators local group are members of the Analysis Services Server role in that instance and have server-wide permissions to perform any task within the instance of Analysis Services.