trying to generate a report that would group by a header in SSRS - reporting-services

I am trying to create a unique report and I'm really struggling how I could do it. Here's an image to give an idea:
The report is has a parameter that I pass with a Client ID. I am able to pass multiple Client ID and I am hoping that this generate will display the correct data in a format that I hope to achieve.
let's say I enter ClientID 17,19:
on the first page of Client 17, I want to be able to see content in the red border, below it i will have a tablix and some more stuff. The tablix will have a lot of data and will go to the 2nd page. On the 2nd page, I only want to see the content in the green border.
For next client ID (19), I would again hope to see the content in the red border, and again, if the rest of the report goes to 2nd page, I would want to only see the content in green border.
Anyone have an idea?
I am able to create a report like this for just a single client, as I can make the PAGE HEADER not repeat on each page, and include the Organization: ABC COmpany and ClientName in the Tablix with the rest of the data.
But when it comes to doing multiple clients, I am struggling to make this work.

Put a table in your report that is grouped on your ClientID field. This will initially give you one table row per ClientID.
You can then insert a new row inside the group. This will give you two rows per ClientID.
In the top row, add everything in the red section from your question. You can do this either by adding a sub-table into the textbox that has rows and columns formatted to display the Client's address details, or you can add in a Rectangle to allow free form placement of other report items like text boxes.
In the row below this one, do the same again. Add in everything you would need to display your data as per your green section.

Related

How to get name and logo to repeat for every page of a table (tablix)

I'm trying to recreate a report created from Crystal Reports to SSRS.
The report has the company name and logo on top, a chart below and a table that can span multiple pages. If the table for a company takes more than one page to display, the comapny name and logo is displayed for every page.
I was somehow able to do this, except for the repeating name and logo.
I need it to look like this:
Add you company and logo information in the top line but INSIDE the group (assuming company is the grouping here). Then click on the little down arrow to the right of the "Column Groups" window (bottom right) and select Advanced Mode
It should show up some Static elements under the Row Groups windows.
Select one at a time and then click on the properties window.. then select RepeatonNewPage = True
Do this for all the static group above the detailed group. You many need to set the KeepwithGroup property as well..
Now if the group goes over a page.. it should repeat the top section of your report for that company
I just worked around my issue. Added a row, placed the company name on that row and hid the entire row. In my header I added a textbox and used the expression ReportItems!CompanyName.Value.

Print all group footer rows on the next page if they won't all fit on the first page

I have a purchase order form in SSRS. It's grouped on the Purchase Order number. There are four rows in the group footer for totals.
Is there a way to keep all rows in the footer together? That is, if all of them won't fit on the page, that all of them will be printed on the next page.
You have two ways of attempting to accomplish this. Using the KeepTogether property for the selected rows or the entire group
Or when SSRS inevitably doesn't do what you want it to do, you can do the ole Rectangle and Textbox trick. Insert a row above the subtotal that is also a group footer. Then insert a rectangle. Once you do this, you can insert a bunch of text boxes and move them freely around and structure them in the same way you had them formatted the 4 separate rows. It would look something like the below. With this way SSRS couldn't split the row onto multiple pages because its all in the same row. For insurance purposes check the KeepTogether box for this row as well.

Page Break on Change of Column Value

I have a simple customer history report that has the following elements:
Header that contains the customer name and customer ID pulled from 1 of 2 datasets
Rectangle that contains a list which provides some details order items like date ordered date shipped invoice number and such.
Sub report placed within the list area that contains table with order details.
This report functions fine if I call one customer at a time. I need to print multiple customers at a time so I have multiple values for my parameter. When I try to call more then one customer I get the following results:
The header prints with the first customer data and shows it on all pages. The list renders as designed but pulls all customers data so it appears there is just one customer.
What I need is a page break for each customer. When I new page starts I need the customer name to be shown on all of the pages that group will print. Placing the name at the top of the first page only does not work for my situation. I have tried placing pages breaks after the list. I have placed page breaks after the containing rectangle and I have created another rectangle and nested the original rectangle within this new parent with a page break on the new parent but none of these will work. I have also tried placing the customer info in the header but all I get is the information from the first record in the dataset.
This seems like a simple report but I just cannot seem to get the page break to fire when the customer ID changes.
In the properties of your List object, go to PageBreak, and set BreakLocation to "End".
Make sure Disabled is set to "False".
I was able to solve my problem by using the information at these 2 sites
Solved the problem of getting the page to break after the list
This allowed me to have a page break for each customer. It placed another row in the tablix that contained the group on field, which in my case was the name. I had to make a modification to hide this new row so I changed it's width to a very small space and set it property to hidden. I then placed a text box above my list to show the name there.
Solved name at top of every page in the group

Hiding one textbox in the table header when it is not in the first page

Help me please. This thing drive me crazy. It really should be a simple solution but I can't find it, even with Googling.
I have a subreport that display deposit transaction banking statement from account (customer).
This subreport will be accessed through main report that loop all accounts in one branch, so it's like a batch report processing for all customer in a branch. Rendered to pdf and distributed to all our branches.
Since I know that subreports header footer won't work on main report, I decide to move the subreport header into subreport table header and make it looks like it was a report header. But this is one problem I can't solve: there is address box that should only visible on first page for each customer, along with the other header that always visible.
And this will be printed on pre-printed paper, so I cant make the address box outside the other header since the report would be shrunk, without the address box, at page 2 and the rest of the pages from each customer, which will make the table header and the content go up and the positions will not match with our pre-printed paper borders anymore.
What am I supposed to do? Please help, I've been searching andn trying for 3 days and can't find any working solution.
Thanks.
I suggest:
Set the subreport table header row property RepeatOnNewPage to be True (in the Properties window).
Set the subreport table header cells Visibility>Hidden property for the address box cells to be a formula that evaluates to False for the first page, and True for all subsequent pages, such as:
If PageNumber = 1 Then False Else True
This should ensure that the table header is printed on every page, with a blank section the size of the address box included on all pages after the first page.
yes.
the address box is only at first page for each customer since it is for posting address. i cant tolerate address box in each pages of each customer because it would be very awkward.
and i have to maintain the space on page 2 onwards so the report don't collapse (header going up of the paper) and not match with our already-printed (already have company logo and borders) papers.

How to keep List contents on the first page? (SSRS 2005 - PDF Export)

I've got the following report setup:
1. Letterhead (not in the header, since i only want it on the first page)
2. List control with some data
when i export the report to PDF, and the contents of the List are less that one full page - my letterhead is displayed on the first page (the rest of the page is empty) and the List content gets moved to the second page.
if the List grows over 1 page - reports is showing up just fine (Letterhead and portion of the list on the first page - the rest on the second page)
It looks like it tries to keep the list on 1 page as long as its contents fit on the page - but when you add the letterhead to the contents it overflows the page, and the list gets bumped down to the next page.
Is there any way to keep the list on the first page regardless of its size.
Putting the letterhead in the list is my last resort, I'd like to hear some other solutions.
uploaded a sample .rdl to illustrate the problem
got rid of the list for simplicity, the problem seems to be with a textbox wanting to show up on 1 page
p.s. see this question for more details
What is the source of your text? Is it coming from a dataset? If so, Add a paragraph id in it, set your table to group on the paragraph id and show only the group header. In the group, add a bottom padding value of say 5. The table will handle the paragraph breaks for you, and if it grows more the a page it will handle it for you. Make sure that keep together is set to false. The paragraph id will be used to sort the dataset by id ascending.
sorry I didn't notice your comment at the end. The only other thing that i can think of is to shift your list up closer to the header and eliminate all empty space at the end. Also, make sure the KeepTogether option in the list is set to false. This way it will break up your list rather than move it to the next page.
you can put both the letterhead and the list inside a rectangle so they are always grouped together.
Reporting services also tries to keep the relative spaces you have in the designer, so if you list is aligned to the bottom of the page and there is a space form the header; it will keep the space on top and align everything to the bottom of the page.