Creating and managing annotations in SQL Server Reports - reporting-services

I need to load SQL Server reports over the web and make it more interactive for a set of users by:
Allowing them to put up their annotations/comments on different visualizations being shown.
Track these annotations for each screen.
Is it possible with SSRS or any other visualization mechanism? Please let me know of any means to do it.
cheers

It sound like what you asking for is not SSRS as such: it's an interactive web page. by this I mean SSRS is output only, no data input.
So you want users to share comments on the
latest report execution? SSRS will render with the latest data by default so what 2 users see on different screens a minute apart will be different. How do you matchreport data and comments?
a specific execution? Look at report snapshots.
the data in any report execution? See my idea below.
My solution for "comments on data"... which assumes annotations are persisted in the database with the report data...
The Report Viewer control in remote mode with an ASP.NET wrapper to deal with user input (annotations) might do the trick. The report would display annotations. In SSRS the screen = the report so this captures one requirement.

Related

Where can I find utilities for SSRS Report Portal 2016

I am looking for utilities/code that has been developed to make the SSRS Report Portal 2016 user friendly/simpler for users that have zero technical background — interested in anyone who has developed an ordinary-language interface that can be configured for domain specific (schools, in this case) purposes.
The users need to be able to access the Portal, select a Template from a Library, and configure it to meet their own own needs — without having to understand any of the technical issues, or write any code. Eg. the Templates will contain auto-populated dropdown menus that allow the user to select the source and type of information that can be placed into a specific section of the report they are building.
Anyone who uses excel and pivot tables, with a little training, could easily make simple reports with report builder. The interface will let you drag and drop data if you have a tabular or multidimensional model. It works very similar to excel. Mobile report publisher is even easier if the data provided to them is well designed for that intention.

Keep collapse expand while exporting to MHTML in SSRS 2008

Is it possible to create a report with 'collapse-expand' feature and keep it "live" when exporting the report to MHTML ?
I try it without any success, I just wondering if there is any 'work around' way of doing it.
I didn't find any references on this issue over the web.
The MHTML is an interpretation of the RDL language upon exporting a report definition. I am not sure if many of the advanced options of SSRS you would be available to do with exporting (drill downs, collapsing, etc). You can collapse with Excel though, I do know that.
Could you not develop an HTML page that calls to the server or else give the user direct access? Different formats will do different things but the direct report will always have more power than an 'export' format of it. Before going too far down the road of doing this I would ask: "Why do you need to do this?" Is a certain user having to have it in a detached format from SSRS?
There are two things I can tell you you can do depending on your level of knowledge of code and what you want to accomplish:
You may embed the report in existing HTML as a property. It is similar to:
< Form id="frmRender" action="http://(servername)/(webservicelocaleofreport) method="post" target="self">
You can code in a language of either C# or VB.NET a report viewer that can call to the webservice to VIEW the report live via SOAP web calls.

SQL Server Reporting Services(SSRS) Dynamic Data Souce

I'm a very new user to SSRS. I learned the basic things and am able to make reports using VS 2008 and BIDS. But I can't move further. I want to use the dynamic data source. My issues are:
First the user should input four credentials: a)Server name b) database name c) user id 4) password. It will help to make the connection with database and make the data source. The credential should be stored in session or cookie.
Now the user will be able to see all the reports without giving the credential because he/she has already given them.
I made a dynamic data source but the credentials are asked for every time I open a report.
Any demo project or an articles will be highly appreciated.
It sounds like SSRS alone will not accomplish what you want. SSRS will not provide a good interface for end users to create new datasources, or change existing datasources. There are some potential workarounds that get some of the functionality you desire, such as a method to change servers found at:
http://blog.softartisans.com/2011/04/19/how-to-create-a-dynamic-reporting-services-shared-data-source-using-linked-servers/
(requires the ability to use linked servers.)
But to manage the user session or cookies, you will need more than SSRS. The easiest way to get at this will be with a .NET web site to manage the credentials. It might be able to use a ReportViewer control, or other method of accessing SSRS, such as URL access, to get reporting functionality.

Dynamic charts at runtime in SSRS

I need to create a report(rdl) in SQL reporting services 2008. In that I need to create in runtime. The report has chart. I will specify the type of chart, font, alignment and all those stuff in runtime.
Is there any option for using this in SSRS 2008.
An rdlc is just an xml file so you can manipulate it at runtime, it's not a trivial undertaking though. You can find the rdl spec at http://download.microsoft.com/download/6/5/7/6575f1c8-4607-48d2-941d-c69622e11c32/RDL_spec_08.pdf.
There's a downloadable example of creating an rdlc for a table and a matrix dynamically, as well as lots of other useful report viewer info at http://www.gotreportviewer.com/.
You can generate the RDL however you want, it is just an XML file. But you will only be able to run the report locally. To run on the server you would need to deploy the report first, as the server does not run the RDL files directly.
I suppose this is still possible, but it would be pretty slow, and the report would not appear in the report manager or anything before hand.
However, your probably making this problem more complicated than it needs to be. I have work on projects where we generated the RDL and deployed daily with a custom application, and it is almost always not worth it. There is usually a better way.
You can set almost all the parameters of the chart using expressions. The only thing that can't be set is the chart type, but there are ways to get around that as well. Like having all the chart types you need created on the page, but making all except the one you want visible.
Yes...
to do so, you will need to either have an existing rdl file to modify, or you need to completely generate it from code.
All the SSRS xml is stored in the database in a table called catalog. You'll have to use the GUID of that report to access it, or insert a new row creating a new report.
once you're done swapping out your report server xml, the report server will have a "new" report that you can then call via your web page, or via SSRS url parameters.
past that clean up the catalog table if you see the need to.
I'll be honest with you though, this is very far from best practice, best practice that I'm aware of would be to embed the data you need to display in your web page in the form of a widget.

Should I use SQL Reporting Services 2008 for my reporting engine?

I would like to use SQL Reporting Services 2008 to generate my reports, but I want to use my own UI for specifying the report type, columns, parameters and everything. I want to be able to take these criteria, and then kick off an asynchronous request to SSRS and have the report emailed to me. Is this possible? I don't want to go all the way down the road of researching SQL Reporting Services 2008 only to find that it doesn't do what I need it to do. Also, I will have a ton of DB partitions that the data will need to be pulled from. Some reports will need to pull data from only one of these, but other ones may actually need to span different databases. Is it possible when sending a report request to SSRS to specify what servername/database to pull the data from? Is it possible to tell it to take the data from multiple databases and combine it? Thanks.
Like Crystal Reports, ActiveReports and other report generators, SSRS has two basic elements behind each report: the SQL query and the report layout. No matter what tool you use for the SQL -- it can be inline SQL in the report or a call to a stored procedure -- it's going to be the same query. Multiple databases are fine as long as you can specify them up front.
You can have parameterized queries, so the user is prompted to input the relevant filters (customer ID, product group, date range, whatever).
Doing the report layout is similar to other tools -- you drag and drop controls like labels onto the report, and set their formatting.
SSRS does provide a lot of options for distributing the report, including email. You can embed the report in an ASP.Net web page, leave it on the report server site for users to browse to, run it in the wee hours of the morning and cache it so every user doesn't have to wait for the lengthy query to run.
It's a great tool. I think it will be worth your effort to experiment with it. I would wait on creating the customized UI until you've exhausted the possibilities inherent in the tool.
SSRS is not designed with this scenario in mind, for that matter I am not sure that any out of the box reporting solution is going to have an elegant solution for this. While SSRS can do what you are asking (as well as others), it is by no means quick or easy. You seem to be looking for an advanced ad-hoc solution with dynamic sourcing of the data. I would first question the requirements and determine if the business scenario really justifies such an implementation. I would weigh custom building a solution vs your learning curve with a BI reporting solution. You may find that it is easier to just build something on your own.
I think the heterogeneous dynamic database mashup is probably going to be the most challenging part.
Depending on what your scalability requirements are, one place that has that part covered, and a report writer, is Access. (Duck! Incoming!)
I think you may be creating a rod for your own back to a certain extent as RS ships with a few interfaces for report creation.
Mind you the end product is an rdl file which is nothing but xml, so you can write them by hand if you really like.
Multiple data sources are supported, but combining them on a single control/chart/etc are not, so you'll need to configure yourself a cross database capability from one of your data-sources prior to the report request if you want to do that.