ssrs blank space between tables when table has been hidden - reporting-services

We have 41 tables in our report , when we show/hide based on the expression with in the tables we are getting blank spaces in between
We did below and analysed still gaps are appearing
1.consume white space property true in the report properties.
2. nested table
table inside our table and our expression where we place the expression based in rows/columns
3. shrinking the space.

Related

SSRS Reporting - How to repeat a series of different elements based on a parameter

I have a report with one input parameter, and based on that input, the report will have 1-3 different categories present. My issue is the report layout consists of the following elements: A header, 3 tables, and a bar chart.
What I am trying to accomplish is to repeat the above layout with ONLY categories available to the input parameter without leaving unnecessary whitespace. I've tried to achieve this by copying and pasting the layout three times and hiding the elements if the category does not exist. This works partially as I'm left with blank pages.
Instead of filling the report with a bunch of tables, try adding rows to the 1st table, adding a rectangle in that row, and adding a sub-report in the rectangle. Set the visibility of the rectangle instead of your 2 tables. This will ensure that there are no unnecessary white spaces.
Adding more than 1 table to a report has almost always ruined the layout of my reports. I've always added sub-reports instead. Even if you don't want to add a rectangle, just add a sub-report in a new row of your ONE table and that makes it a lot easier to deal with.

RDLC report, How to combine the bottom of tablix with page footer

Help me please.
A Tablix has 7 rows but I need to increase height of tablix until it matches the footer.
What should I do?
[Edited.]
According to below figure, I tried to insert a lot of blank rows to a Tablix.
And I used an Expression for setting visibility each row.
Example :
-If Dataset has one record. One Blank row will hide.
-If Dataset has two records. Two Blank rows will hide.
But It is inflexible because some rows aren't a single Line.
Using RDLC 2005 you can simulate this behaviour with:
a Body section with Body.Height = Page.Height - Footer.Height - TopMargin - BottomMargin
a Tablix without border
a Rectangle for every column to simulate with Rectangle.Height = Body.Height; set its RepeatWith property to Tablix
In order to simplify some operations you could put your Total textbox in the Footer or consider it when you build your Body section as explained before.
There is an example of what I mean (Tablix with red border and Rectangle with black border):
Another, though more complicated way, of forcing the height would be to use Subreports for each of the columns.
Each Subreport would list the table contents for that column as a single list.
You could then force height of a single table row to reach the footer... If the Subreport does not require the entire space it will return whitespace
Parent Report
Report 5
Report 4
Results in the following output report

Column Visibility in SSRS

I am using SSRS 2012 for my report. I want to hide certain columns in a report. I don't want to see spaces between columns in my report when a middle column is not visible. I have an expression that hides or make visible a certain column base on the value selected.=IIF(CBool(Parameters!Column.Value)=True,True,False)
But the issue I have with this is that I see spaces between columns in the table when the report is rendered.
In the image below, I want to be able to hide the Code column at the middle of the table without seeing any gap between columns in the table. Thanks for the help.
I'm assuming that you highlighted the Code column and then added the expression to the Hidden property in the Properties Pane?
Try right clicking on the column, selecting Column Visibility, and then entering your expression in the box under the 'Show or hide based on expression' radio button. This should collapse the column and not leave any whitespace when your parameter is set to true.

RDLC : No page break - four sub reports within table/tablix

I have a situation where i have to display four reports based on checkboxes. So user can select different combination from four reports.
My problem is page breaks. I have tried different options (see below) from which two options (option 1 and 2) does not give page breaks at all whether option 3 gives page breaks for each tablix regardless of you do not want to see that report. Report is giving empty page for each tablix no matter there is no data in that tablix to be displayed.
With option 3 if i select all reports to show then everything is perfect.
I have tried these options
Option 1 (page break does not work)
Main Tablix -> each row : all subreports within rectangle within each row of tablix
option 2 (page break does not work)
Main Tablix -> each row -> Another tablix with group by ID within each row of tablix and then subreport inside each tablix. And I applied page break end on each tablix.
option 3 (page break works but gives empty page for non selected reports)
A List group by ID -> within a single row of this list I have places four tablix group by ID for each subreport.
Option 3 works but gives empty page break for those reports which are not selected. For example from Four reports if you select last two reports to display then you will get two empty pages in the beginning of report and third report on third and fourth report on fourth page which is correct. I have tried hiding tablix using table hidden and group properties hidden but still getting page breaks.
Any help will be much appreciated.
I have resolved this issue. For those who are struggling with same kind of situation, here is my work around.
I placed one list box and then four tables in a row and i placed subreports within these tables. i didn't apply any page break here. I am only showing and hiding tables based on report selection here.
Trick is within subreports.
As there were lots of tables and groupings in each report so i placed one table at the end of the each subreport.
This table should only have one cell. I removed header and 2 extra columns which were not required. Select dataset for this table. I did not want to pass dummy empty dataset so I selected my dataset but I created grouping on a parameter which I was passing from parent report and it has value 1. So now this table will only display 1 empty row. Reduce the height of the table. Plus I removed the border of textbox inside the cell. I checked 'Page break at end' option. In the Hidden expression I used following code which checks if there is any report which is visible after this (current) report. If yes then do not hide this table mean you want page break otherwise hide it mean no page break.
=iif(Parameters!AddReport_2.Value,false
,iif(Parameters!AddReport_3.Value,false
,iif(Parameters!AddReport_4.Value,false
,true)))
This solution works for me.
I would love to hear for a better solution.

How do I make a column in a report wrap and/or break in multi-column report?

I have a report where I've specified the Columns property to 3.
I want the data I have from a single query to spread across these columns.
When I print the report however, I just get a single column that spans across multiple pages till the rows run out of data.
How do I tell rs that I want the data to wrap into the next two columns?
UPDATE: Ok, found a link on technet to give me a better explanation of multicolumns (e.g. newsletter style):
Multicolumn, newsletter-style reports
display report data down multiple
adjacent columns. A newsletter-style
layout applies to the entire report.
When you define more than one column
in a report, Report Designer
calculates the width of the columns in
the report, the width of the report,
and the width of the space between
columns based on the number of
columns. It then displays a reduced
design surface so that you can place
report items on the report that will
fit within the column. Note that the
layout of the entire report must be
placed on the reduced design surface.
Additional columns are displayed so
that you can verify that the number of
columns you defined will fit the page
size dimension. You can adjust page
size, padding, and margins to fit more
columns on the page.
Only PDF and Image renderers support
newsletter-style reports.
I still haven't quite figured out how to make the column wrap...but I'll look into it further on Monday.
I addressed my issue by:
Putting 3 Tablix in my SubReport
Adding a Count Aggregate in my SQL results
Doing % calculations in the Tablix filters
For example, Tablix one has a filter formula like this:
=IIF(Fields!MaxRowNumber.Value <= 10, 10, Fields!MaxRowNumber.Value * .4)
So, if only ten rows are returned, display those ten rows in column 1. If more than ten rows appear, then put 40% of the results in Tablix 1.
I do similar calculations for Tablix 2 and 3 to display the 30% in each Tablix respectively.
Feels like a bit of a hack...but it works.
So one approach is to use multiple tablix with a filter that checks RowNumber and accordingly displays particular records in each table.
The other way is called Newsletter-style report (link). This formatting is retained only when report is exported as PDF or Image. It can be previewed only when you select 'Print Layout' on the Preview tab in Visual Studio. Here is an example:
Create a new report with the foll. dataset: SELECT ID,NAME FROM TABLENAME
Add a new table to the report and select the ID and Name as columns
Click on the tablix and press F4 to edit the tablix properties. In the properties window, change the Size - set the width to 2in
Click on the report area outside the report page boundary and press F4 to edit the report properties. In the properties window, change the Column value to 3, and column spacing value to 0.1
On the report scroll to the right hand side, you will notice that there are 2 new columns (so totally 3 columns on the report - because you selected 3 in step 4 above). Now click on the margin at the start of the column 2 and pull it further to the left to bring it as close to the column 1. This is only to reduce the need for huge page size.
Right click on the report area outside the report page boundary and select Report Properties. Change the Page Size - Set the width to 10in
Preview the report. Now select the 'Print Layout' tab to see the result. This formatting is retained only when report is exported as PDF or Image.
As noted in points 5 and 6 - since the report body flows into multiple columns, you must ensure that the page size is at-least equal to -> ([Original report body size times the number of columns] + all the column spacing values). Otherwise it will look messy.