Hi I have been working on a large matrix which displays the results of a stored procuedre with date fields for the dynamic columns. Prior to the dynamic columns i have several other columns of identifiers for the data. The problem i have is when i try and add column headings (in the tableheading textbox) for the identifiers i need to use spaces to pad the text so that the heading appear in the correct place, this works fine in preview mode, but when i publish the report the final version always has the padding spaces removed. This results in the text all appearing in one bunch on the left of the matrix. I have tried using individual text boxes but these then appear after the Matrix and not over the appropriate columns. Does anyone have any other ideas i might try? Thanks Jon
It appears to be a rendering error with overlapping objects. By moving the text boxes so they do not overlap the matrix they appear fine.
Related
Here is the crystal report pic. How can we achieve same in SSRS.
I think those can be emulated as merged cells in a table with two detail lines.
The cell with the CARTONS field is merged with the one to the right of it. The same for the Tag For field that has the STORE values.
Not sure how to get those lines that overlap the text though.
Although I have been able to split one of the legends into two columns on my map the other one is proving problematic in doing so. I cannot see any differences in the properties of each legend in terms of the item column customizing.
First of all, convert the legend to graphics (by right clicking the image and selecting convert to graphics). Follow this up by ungrouping the image into different elements. You can then just move the items across into a second column manually.
i have an ssrs 2008 R2 matrix with Accounts on Rows, Months on Columns and Sales in the data section. I need to “double underline” the sales numbers but I can’t figure out how to do this.
i tried using “double border” but that would create one giant line across instead of just underlining the sales numbers - in other words, the display would be a single long line across.
any idea how to achieve this? i am willing to use custom code in the report code. Thanks in advance for your help.
Edit: Adding a screen shot to show the desired output:
For some reason the Double text box BorderStyle property seems to be rather temperamental.
This MSDN thread suggests a few requirements to get this running:
Double Line border turn to be single in Reporting Service
The border width must be 3pt at least.
There must be at least one row beneath the Double border text box.
Let's test this out. A simple tablix:
And let's set the bottom text box to be Double at the bottom:
In Preview this is unsuccessful:
Let's test out the suggestions. First, set the width to 3pt:
Same result:
Let's add an extra row below:
It works:
What's going on here? It seems like if the width is too low, the two lines will squash together. Also, it seems like the border actually spills to an adjacent text box, so if this doesn't exist the bottom line is not displayed.
Put them together and it works.
One more note - this is not required for Excel - just add a 1pt Double border and it will be fine. The above series of steps are only required for Web, PDF, etc.
I am attempting to reproduce a form within SSRS and fill it with data. The original form has blocks with small labels inside of each box that identifies the entry requested.
I "thought" I could simply use two different tablixes: one for the blocks with borders and labels, and the other one with the actual datafields or expressions, and align the 2nd tablix directly over the first one so that it appears as though the fields are presenting data inside of the labeled boxes.
It looked as I wanted it in design view, but when I went to preview the report, it pushed the 2nd tablix below the first tablix, in effect creating two tablixes, one stacked on top of the other one (not displaying as how I intended).
So, how do I accomplish the form design in the manner that I am seeking?
You should be using a type other than tablix for your report. Use a 'List' instead and you can free float objects as you need them and also nest a tablix as well. A little explanation on list:
You can float images with text boxes and then even change syntax or draw boxes around them and decorate those.
The call out for a field in SSRS is [(value)] with the [] meaning: "Data Column in recognized Dataset"
You can call out Variables with an '#' in front of them [#Test] would be a variable a user would put in called 'Test'.
Whatever size 'List' element is will determine how large it is when it repeats. If you want a strict form ensure the length and width are set correctly on the properties of that element.
If you want it to break every page you can click on the 'List' > Right Click the top left corner > Properties > 'Add a page break before' checkbox.
My example shows a super simple textbox with a dataset that only has three ideas repeat as many times as there are id's, three times. You can apply this to your form as needed.
It looks like you could reproduce that form header quite easily with a single tablix. If you envisage the form as a set of tablix cells like so:
then all you need to do is set the Border properties for each cell to hide the borders as needed (or you could merge the cells e.g those for Applicant and Location).
You can use a tablix with only Header rows, deleting the detail row. If you need multiple forms per report, then put the tablix inside a List region.
I have a report in SQL Server Reporting Services 2005. It makes use of a page header and footer and has no subreports. The body portion contains a few smaller elements and then a simple single column table. The table has a single header row and a single detail row. The header is just a label, basically. The detail row is a single textbox with a simple Fields!FieldName.Value as its output.
The problem is that FieldName, in this case, is a highly variable length string. It can be a sentence up to 8000 characters (usually no more than 2 pages worth). The text can contain line/paragraph breaks (returns) but no other special formatting. Everything is fine so long as the content fits on one page. Once the text exceeds a single page (8.5x11), the text is very nastily cut off abruptly. Since this is a pagination problem, it is only visible when exporting to PDF or when viewing the report in Print Layout.
It seems as though there is a maximum size the row can grow to on the first page and then it chops it off and starts it up on the second. But this cutoff is not carefully managed in relation to the text. It can occur right in the middle of a line, causing it to show the top halves of the letters on the first page and the bottom halves at the top of the second page.
Obviously, this is unacceptable, as it looks very unprofessional and can impair the readability of the line that was so messily split. I also can never be sure it'll split badly, as sometimes it more or less ends the page evenly, though usually I can still see the hanging tails of certain letters on the next page (g and p for instance).
The secondary problem is that I'd really like the table row header to repeat on each page. Setting the obvious property, "RepeatOnNewPage" has no effect. I suspect this is because it's still trying to show the single really vertically tall row. It seems like it's okay repeating headers and splitting pages nicely between detail rows. But because this is basically just a big block of text, and thus just one really tall row, it doesn't split it nicely.
What can I do or use to solve this problem? I can live without the repeating header so long as it just doesn't cut off text in the middle of a line.
Unfortunately, page break fine tuning is one of the biggest weak points of SSRS.
I can only suggest that you break up the long text into multiple rows before SSRS ever gets it. You'd want to parse the text to look for word breaks. The result will be odd looking breaks in the output since you won't know where the break will come on a line in the printed report. However, it'd be much more readable than cutting text in half.
If the text is comprised of reasonably sized paragraphs, you could parse it out that way instead.
You might even go so far as to measure the text using SQLCLR and the System.Drawing.Graphics.MeasureString method to fine tune the output but I wouldn't recommend that route for the feint of heart.
In SSRS 2008 R2 and Visual Studio 2008:
Click (not-right click) a textbox and go to the properties window (lower right side of VS) -> KeepTogether = false.
The text will cleanly cut between a line and continue on the next page.
Just thought to add here as searching for this doesn't return many results.
I have done what JC has suggested in the past where I've broken down the text into paragraphs and each paragraph would in effect be its own row. Works pretty well given the limitations of SSRS.
One thing to be careful about is that you would need to make sure that your paragraphs sort properly. In most cases it would display them in the correct order, but adding in a column with sortID to give some sorting hints to the table would probably be a good idea.
In the end, the cut-off-text problem was due to non-standard padding on the textbox in question.
For whatever reason, having padding any greater than the defaults (2pt all around) seemed to cause its pagination to go sour. I imagine it is due to the algorithm not taking padding into consideration when deciding where to break the paragraph. With default padding, the line always ends cleanly and nicely on each page.
As a workaround (since I liked the extra white space the padding gave to the layout), I used a rectangle to achieve the border and made the textbox inside it smaller than the rectangle by about an eighth of an inch. This gave the box some inner padding while still apparently allowing the pagination to correctly determine when to break up lines.
Still, a lot of unnecessary headache.