changing tablix width in reports - reporting-services

In MS Reports I need to hide the columns in the tablix, but I need to keep the tablix width as it was. By default, if I hide the columns in the tablix it will automatically reduce the width.
I also need to increase some other columns width when I hide the columns.
I will add some Screenshot here.
This is the Original report.
So I need to hide all columns that has the value zero. So I did it and I got the result as
So now I want to keep the tablix width as it was in the original report by adding space (increase the width ) of the "Design NO" column (2nd Column) .
Pls help me ,
Thank you..!!

The only way to hold the tablix width is to have something occupy the space. I suggest using conditional formatting to use a white font. If you don't have data for that cell, use an expression that checks if the field that is normally there is empty and return a constant value that gives you the width you need. If you need to increase the width of other columns, you're going to have to add embedded spaces or something. The dynamic sizing of columns depends on having something occupy the space, even if it's spaces or white text.

Related

Data not visible after adjusting the column width in SSRS designer

I have designed a SSRS report as shown below. If I preview the report without adjusting the column width I can see the data. But If I expand the column width of first column, few columns data is not showing. Need your input. Thanks

Tablix pushing other elements down

I have a report with a tablix in it. I just need to stay the tablix in a fixed position and shouldn't push down other elements down it. If say there are 4 rows which will be visible in the specified space and if more then it should not be visible and shouldn't push down other elements.
I tried several ways to prevent
Added tablix inside a rectangle(act as a container) so if it grouped it
will not push down other elements (didn't work)
Enable consume white space in report=true (didn't work)
Keep items together property is set to true in rectangle (didn't work)
Is there any other way to not to pushdown elements in the report even if the tablix gives more rows. It should only show the rows in the mentioned size.
Edit : 1 (7/28/2018)
All the three elements below is pushed down if the table has more rows.
Either I have to fit the rows in this table by reducing the size automatically if possible or It should not push down the elements.
Also if the tablix has less row the elements will move up. I just need to keep the elements (Expr) should stay in the same position.
You still didn't post your design but anyway, here is what I think you want.
The basic idea to to set the area you want you table to cover by using a rectangle of the same size. Then we will reduce the row heights within reason as the number of rows in the table increases. As you cannot directly change a row height, we can get round this by setting the row height to be very small and adjusting the font, as long as the can grow option is on the cells will grow to fit the font size, giving the effect of changing the row height.
Basic steps.
Create your report and add a rectangle that is the maximum size you want your table to be. In my example it's 38mm high.
Create a table inside the rectangle. I find this easier to create it outside then cut and paste it inside, simply dragging it over the rectangle will not work.
Position your additional text boxes, under the rectangle as desired. Set 'Consume Container WhiteSpace' on in the report properties.
Next we need to decide what the maximum and minimum font sizes are that acceptable. In this basic example I only use 3 sizes, 10pt, 12pt and 14pt. If you want to use more then you could write an expression to scale the fonts more accurately but you get the idea.
You'll need to determine the maximum number of rows you can fit into the rectangle when the minimum font size is used, in my case it's 5 rows at 10pt font. Your query will need to take this number into account and never return more rows than this.
On the table, the click row selector for the detail row (this basically selects all the cells in the row). Next, change the font size property to an expression. In this simple example I used this.
=SWITCH(
Parameters!topx.Value <3 , "14pt",
Parameters!topx.Value <5 , "12pt",
True, "10pt"
)
Next set the row height, choose any cell on the row and set the height to something small, I used 4mm but it doesn't matter as long as its' smaller then you will ever show.
In my example, for testing I added a 'topx' parameter and filtered the dataset using this, but this is only for testing.
The final design looked like this. I added a background colour to the rectangle so you can see how it remains static until it's filled.
Then running with various rows looks like this
finally, only if I exceed my maximum (5 rows in this case) does the text below move down.
You could include a column (let's call it RowNumber) in your dataset that shows the row number of the data. Then in your Tablix filter, you can set the filter to show only values from that "RowNumber" column that are less than or equal to the number of rows you want to display in the tablix.
You can use the same concept to limit the number of rows returned in your query, but without knowing how you are getting the data, it is not possible to help with that.
If you want your report to be that static, why not take a screenshot of the data and include that as an image in your report?
No serious reporting tool will "ignore" records that you pass to it using a Dataset, so that's the place where you will have to "ignore" all unwanted data yourself. Restrict the data in the Dataset to only 4 rows (maybe using SELECT TOP 4 ...).

SSRS (ReportBuilder 3.0) - How to remove whitespace taken by a hidden Tablix?

In the SSRS report, I've a tablix which has a single row and a single column (single cell). That row has a single rectangle that contains other rectangles containing other elements. The visiblity expression is set at the tablix level (both tablix visibility and row visibility), but not at the contained rectangles etc. The tablix has a visibility expression set as:
=Fields!ShipmentType.Value<>"Sales
The tablix row also has its row visibility set as:
=IsNothing(Fields!Calc_ShipToAddress.Value)
I've checked the values of these fields and per the values the tablix must be hidden which it is, however, it is still taking whitespace on the PDF.
There are three other tablixes; all three have just the tablix visiblity set, but not the row visibility. Interestingly, these tablixes don't take the whitespace when hidden.
I've searched online various solutions including various posts on SO too, but none has worked for me so far. I've even set the visibility of the column for that tablix, but still it takes the whitespace.
I'm putting this as an answer for any future searches in the hope that it might help someone with a similar situation.
In my case, the reason for the top tablix to be always visible as white space (although all the text in it was hidden) was the height of the top tablix. That tablix was overlapping the next tablix by a small notch and hence was visible as a white space on the report. I zoomed to 400% for something else and accidentally found this overlap.
Once I fixed tablix's height, the report functioned as expected and the tablix was hidden completely (no white space).

SSRS hidden column creates extra blank page

I have a report with a Tablix where I would like it almost full page width. "Gross Pay" is visible or not based on a parameter. I have also added a blank column to the left of this which has the opposite visibility to "Gross Pay" as a work around for the fact that I can't resize tablix width dynamically so the whole tablix stays the same width.
This is all fine and works but spits out an extra page when saving to pdf. This is because my body width is greater than 21cm. Below is the tablix, the red line is where page end is.
My body width must be 24cm in the designer to accommodate this hidden field but will always display under 21cm in the end. Can I have a body width in the designer larger than the page size? Alternate solutions would also be appreciated.
Thanks!
I ended up removing the blank column and just using expressions for all fields on the "Gross Pay" column that would fill it as blank if appropriate parameter was set.

Set Tablix row height to a specific number in SQL Server Report Builder 3.0?

I'm trying to set the row height of the detail row to a specific value, like 0.5 in. If I click on the Tablix handle for the detail row; it selects the row but the Size property does not expand for the Height property or allow entry for something like 0.5 in. in the Height property.
Outside of dragging the control to guesstimate a height is there a way to enter a specific number for the row height?
The height of any row in a Tablix can be adjusted by changing the height of a single cell in the row. All cells in that row will then take on the height of the last changed cell, i.e. if you change the height of a cell in the first column to 0.5” and then change a cell in the second column of the same row to 0.125” the entire row height will change to 0.125”. To change the row Height property in Report Builder or BIDS: Select a single cell, scroll down in the Properties window to the section ‘Position’, expand the subsection ‘Size’ and then edit ‘Height’.
A special note on Tablix row heights when the report is rendered; by default a row will adjust to the height of its content. Typically content is text and if the row height cannot accommodate a second line of text for long strings then the row will grow taller than the set row Height to accommodate the text. If the effect is not desirable then you can change the CanGrow property to False. To change the CanGrow property for a row: Select the row handle at the left to select all cells in that row, scroll down in the Properties window to the section ‘Genera’l and change’ CanGrow’ to False. This is most useful when you have a blank row in a Tablix that is being used for line spacing; otherwise the row will automatically take on the height of the font size even though there is no text, e.g. an empty row with font size 18 will not remain the height of 0.0625” when the report is rendered.
The same concept for rows holds true for columns when a cell’s Width is adjusted, except they cannot grow or shrink like the height can when the report is rendered. Also note that when cells are merged with the adjacent cells that typically the column that makes up the far right of the section will increase to the right when the merged cell’s width is increased. Therefore it is typically best to split the cells when adjusting column widths to avoid this and avoid columns that cannot be decreased in width.
To add to this, in Visual Studio 2010, click on a given cell in the tablix. Open the control Properties pane (ie View | Other Windows | Property Window ). Go to the Position | Size property. Set the cell to the desired height or width. As described by PerPlexSystem, this will affect the rest of the cells height or width in the row or column, respectively.