Don't produce report if there is no data - PDF - reporting-services

I have a report for which there is sometimes no data to output. This report is run along with several other reports and all are then output to PDF. However, this report still produces the header and footer with a blank page even tho there is no data.
I can move the header and footer into the report and have tried to hide those elements with =if(rownumber("PersonalProfile")=0, True, False) in the Hidden property of those elements. It hides everything so now the page is blank, but it will will output a blank PDF. Is there a way to completely suppress the report?
I'm using 2008 and I don't see a Report Visibility property. All the data for the report is inside a single Tablix which is inside a rectangle.
There are 3 datasets: PersonalProfile which contains the meat of the data; BoardNames which just produces the name of the board for the report; BoardMeetings which allows the user to pick a date parameter.

If you are distributing your report using subscriptions and you have Enterprise Edition, then you can look at using Data Driven Subscriptions which will give you control over how and when reports are distributed based on whatever logic you need. Otherwise, there is no way to do what you are asking - as trubs says, Reporting Services must first render the report before it has any knowledge of whether there is any data to display.
You haven't explained how you are "running the reports" (e.g. manually in Report Manager, report subscription, third party app using URL access) - if you do perhaps someone can suggest a workaround.

There is no way to do what you want. ssrs has to produce the report in order to determine there is nothing to display.

Related

How to export SSRS report having linked reports in to excel

I have a main report main.rdl and 2 linked reports like linked1.rdl and linked2.rdl as a drill through report from the main report.
I have deployed all the reports under one folder in the report server.when i view the main report its working fine and drilling through the linked reports. but my question is how can i export to excel which contains main report as well as linked reports as separate tabs in the same excel?
thanks in advance.
The easiest way to do this would be to put a rectangle on your page and then add your linked report as a subreport inside the rectangle.
then hide the subreports unless exporting to excel by setting the visibility property on the rectangle to
=Globals!RenderFormat.Name<>"EXCEL"
or for ssrs2012
=Globals!RenderFormat.Name<>"EXCELOPENXML"
There are a few problems with this approach. (but these can be solved)
Headers and footers are not shown in sub-report
Performance. The sub reports will run each time you view the main report
the above assumes the drill through reports are only executed with a single set of parameters
imho SSRS is a presentation tool, Excel is also a presentation tool (in this case) so your chaining your presentation tools.
Why don't you call from excel your reports data source and drop it into each tab for each report..main sub whatever.
As your reports should be bound to a named data source (SQL\ view\ sp) for the report you would be calling that.
You can add your main report ....but you cannot add the 2 linked reports, they would show all records. So if you then make your linked reports, reports like main this would then work ie feeding them the key filter field...the children records for linked reports would filter and give you sub tab report you need.
If you cant do this then you have to rethink whole approach... if it was me I would code it so I got all three sets of data and then populated Excel with each tab...save n email spreadsheet

First page of SSRS report not rendering on initial load

I've created an SSRS report in Report Builder 3 which contains a single-rowed Tablix that holds a sub report which produces a single report per page. The problem is that when I run the report it doesn't render the first page.
Within Report Builder I can never get this first page to display within the executed report and within the web forms ReportViewer control (v10.0.0.0) I can get this first page to appear when I page away and then back to it. Exporting the report also displays all of the correct data.
This issue has only started occurring since I made some slight changes to the layout of the sub report. I've checked the visibility on the tablix, group, row, sub report and all the other settings that I thought might be responsible, but they haven't changed since it was previously working.
I've also tried recreating both the tablix and the entire outer report based on an answer to a similar question and this didn't make a difference.
Any help with this issue would be much appreciated.
I was passing the data for my sub reports through as parameters to prevent the need to call 5000+ single line select statements, and it looks like they need a data set to execute to render correctly on the initial load. Previously, I had mistakenly left a data set within the report, which I must have removed when making the layout changes.
Creating a dummy data set with SELECT ' ' AS Dummy and then using that to populate a text box seemingly fixed the issue. It's not a clean solution but it works.

how to show some data at the time of report download

I have to make headers in my reports what i want when some one see the report in report viewer it should not show the headers of the report but when i export the report header should be present in to the report.
Is it possible to do this.
If you are using SSRS 2008R2, you can use Globals!RenderFormat.Name method to achieve your required output. But using this method, you can hide all the header controls but there will be blank space appeared for the report header in report preview.
Take a look into
Use of RenderFormat method in R2

SSRS Adding text box that accepts input for printing

Using Business Intelligence Development Studio, I am creating a report for SSRS that requires the user to add a few notes before being printed. The notes do not need to be sent back to the SQL Server that the report is being generated from, they just need to be included when the report is printed or exported. I have some other solutions including:
Exporting to Word for edit, then the user can manually publish to pdf & send
Including parameters for the note fields which involves pulling the report, then adding in the notes and lastly re-pulling the report again to include the data
But I really don't want to add the extra steps to the user's process unless necessary. Has anyone tried this before? I've been tinkering and searching and have had no luck.
Thanks in advance.
Input to an SSRS report comes from data sources and the parameters. Some server settings are applied, but all the per-report stuff is from either of those two places.
Based on the OP comment, I would add a text parameter that allows blank values. You can set a default value of ="" so that the report will run on first access. Then any text the users adds can be inserted into the report simply by referring to the parameter's value.(=Parameters!MyParam1.Value)
user is pulling the report first to analyze the data. So they would pull it once, then add the notes, and then pull the report again with the parameters added.

ReportViewer Web Control and Dynamic Connection Strings

So I have a report in Reporting Services 2005. In it is one parameter (ConnectionString) which determines which data source the report will use. It also has several other parameters which are dropdown lists derived from the data source chosen in the ConnectionString parameter.
In Report Manager, this works great. All of the dropdowns are greyed out at the beginning. When you choose your data source, the page requeries/repaints and all of the available parameter values for the other parameters are filled in based on the queries for those fields.
However ...
In the ReportViewer web control, when the report is first loaded up, instead of dropdown boxes all of the other parameter fields are just empty textboxes. Choosing a different data source for the ConnectionString parameter doesn't requery/repaint the other parameters.
I've been flipping through the ReportViewer programming reference to see if there's some way to replicate the Report Manager's way of reloading the webpage with the report viewer upon certain parameter changes, but I can't find anything there that isn't over my poor little .NET head.
Any ideas?
Not sure if this is any help but I do have a suggestion. I would try pulling the logic for dropdown boxes out of the report and put them in an ASP.net page. Then pass the parameters to the report and control the rendering/refreshing.
HTH
UPDATE: So it turns out you must provide a default value for any parameters which in turn affect other parameters in your report in order to get the dropdown box to load properly on initialization. Also note this is recursive - so if you have a parameter which affects another parameter which affects another parameter, both the first and second parameter must have default values.