SSRS group header shows on all but last page - reporting-services

I have had some trouble getting group headers to show on each page, but the steps to achieve this are well documented on here and elsewhere online, but I have a new problem.
I have a group header that appears on each page except for the last one.
My report is set like this-
<group on IDs>
<group on description>
<group on desc_num>
<static>
<static>
<static>
<group on other>
<static> -- this is my header causing trouble
<group on other_num>
<static>
in my dataset query, i have something like this:
Select 'Description', ROWNUM desc_num, x,y,z, null null etc...
UNION
Select null null null null etc... 'Other', ROWNUM other_num, a, b, c
In my report, i use the group by description to group together all from the first part of the query, and then i group by desc_num so that i can do a keep together so my static rows stay together. I do the same for other.
Each ID can have many descriptions each containing multiple groups of details. They can also have many "others" containing multiple groups of details. The description and other groups can contain several pages worth of data.
For my heading for the other group, I have the advanced properties set to True, After, True for KeepTogether, KeepWithGroup, and RepeatOnNewPage which allows it to show on each page of the other groups.
This works perfectly, except that the other header will not appear on the last page. For one specific id, there are 3.5 pages of "description" group, followed immediately (no page break) by 6 pages of "other" group. The word "Other" shows appropriately at the beginning of the other group halfway down page 4 and at the top of each following page except for on page 10, which only contains a half page.
This header has similar result when there are less pages, it always does not show on the last full page of "Other" group members.
If anyone has any ideas or advice for this, i would greatly appreciate it.

Related

SSRS report tables mutiple lines not showing

I am doing Microsoft Dynmics D365 report layout. I have a table in my report that need to show the lines from the table in MS Dynamic D365. Which have only 2 lines.
D365 frontend system:
In the report layout, it is only showing the first line and the second line is not showing.
Report layout first line only showing:
I want the 2 lines to be showed in the report. I am not sure if my coding is not right or the row group that I am grouping in the report design. Please help me please. Apperciated.
here is my code in the dp class to get the table lines:
PurchPurchaseOrderTmp.MGAItemLabelName = PurchExtendedMaster.ExtName;
PurchPurchaseOrderTmp.MGAColValue1 = PurchExtended.ColValue1;
PurchPurchaseOrderTmp.MGAColValue2 = PurchExtended.ColValue2;
PurchPurchaseOrderTmp.MGAColValue3 = PurchExtended.ColValue3;
PurchPurchaseOrderTmp.MGAColValue4 = PurchExtended.ColValue4;
PurchPurchaseOrderTmp.MGALabelId = PurchExtended.LabelId;
//PurchPurchaseOrderTmp.MGALabelIdString += int2Str(PurchExtended.LabelVersion);
if (PurchPurchaseOrderTmp.MGAItemLabelName != "") {
PurchPurchaseOrderTmp.MGALabelIdString = strFmt("%1-%2",
PurchExtended.LabelId, int2Str(PurchExtended.LabelVersion));
}
else {
PurchPurchaseOrderTmp.MGALabelIdString = "";
}
Here is my report design row grouping:
Thanks
This is not really an answer at the moment as I can't see enough to be certain but...
Looking at the report design, it 'appears' that you don't have anything in the details row(s). The details group rows have been reduced in height so I'm guessing there is nothing in there.
That means that the text boxes below this must be in a group header or footer which is why they will only appear once.
The best way to get your head round this is to dump all the data from your dataset into a simple flat table, then see what you want repeating.
For exmaple, it looks like Label ID (MGAItemLabelName ?) should only be shown once, so there needs to be a group for that - which it looks like you have.
Then within that label name group, you have two rows of data that you want to show, so these must be at a lower level than their parent group. That might be the details row group, or another row group between the header and details depending on your needs.
The details row group typically contains fields that you want to show every instance of and that does not have any subordinate/child data.

SSRS Showing a textbox when a second page is displayed

I am creating an Invoice in SSRS and I need to be able to show a textbox with "Balance Brought Forward" in if the amount of lines in the invoice goes over one page limit. So if i restrict the page to 5 lines and there is 10 - 15 lines which will equate to 2 or 3 pages, I need to be able to show this value from the previous pages total on invoice, but only on the 2nd and 3rd pages not on the 1st page. I am able to code in VB if that is the best way to do it, I am just really stuck on how I would achieve this.
Should this be done before generating the report in SQL or can it be achieved in the report it's self?
Can you put that in a header row and hide it on page 1? Or add the textbox and toggle the hidden property based on the number of rows returned.
IIf ((calculate # rows) > 5, False, True)

SSRS Matrix header repeat on each page (but outside of group to show every header from ds?)

I have a Matrix which I am trying to get a specific header to repeat on each page. To keep it simple it looks something like this:
| | Months |
|Division| |
| Name | Sales |
--- new page for each division ---
If I include the [Month] columns inside the Division group, it only shows the [Months] that have activity for that [Division]. For each page (per [Division]) I want to show all active [Months] within the dataset, not just that particular [Division].
So I tried creating a new row above, OUTSIDE of the [Division] group. This worked great for the first page, but I cannot get it to repeat on each page.
Is there a way to somehow set a Matrix row as a header for each instance/page of that tablix in the report?
Or
Show every [Month] from the dataset, inside of the [Division] group, and not just the active [Months] inside the [Division]?
Hopefully that makes sense, if not I will try my hardest to explain better.
Thanks in advance!!
I found the answer here:
https://msdn.microsoft.com/en-us/library/dd207045.aspx
Under "To Display a static row or column on multiple pages"
Thanks

SSRS - Textbox Linebreak (or) Linking Table w/ Textbox

My SSRS report contains 4 tables, all of which have line breaks at the bottom.
I'm trying to find a way to tie my text boxes (titles for each table) to only show up on the first page of the start of each table. I'm honestly at a loss for this particular issue.
--Unrelated --
Originally I had a parameter with a visibility expression and a toggle option to switch between each table, but due to a recent change request the entire report needs to be on one screen.
(=IIF(Parameters!SelectAScreen.Value = "InvoiceDetails",false,true))
I think if you add an extra row above your data (outside the group) and set the RepeatOnNewPage to False, it should work the way you want it too.
Some version of #StevenWhite's comment above is the only way I know to do this. One way to do it is to do a union with a dummy key to force the title row to the top of each table:
select 1 as dummyKey,
'Title text for table1'
union all
select 2 as dummyKey,
<columns> from <table1>
order by dummyKey, <other sort columns>
and repeat for each table's dataset.
If necessary you can also do conditional formatting to make the title row stand out and look like a title.

SSRS - Changing tab name when exporting to excel

I have tabbed my report in SSRS 2012 by having my page breaks based upon grouping classname and it works great. How do I change the tab names when exporting to Excel? I tried having an expression for page name =Fields!classname.Value. In doing so, it makes all 4 of my tabs equal the first page break of Sales Division.
My tabs are based upon the grouping of classname, which in returns gives me the 4 tabs: Sales Division, VRS, ClearCaptions, and IP-relay.
You need to set the PageName of the Tablix Member (group), NOT the PageName of the Tablix itselfs.
If you got the right object, if will say "Tablix Member" (Tablix-Element in German) in the title box of the properties grid. If it's the wrong object, it will say only "table/tablix" (without member).
Also, be advised to set the sort order of the group expression, so the tabs are alphabetically sorted.
If you get the tablix instead of the tablix member, it will put the same tab name in every tab, followed by a (tabNum). That is exactly your current problem.
This solution was not working for me.
I had to add group break page.
https://www.mssqltips.com/sqlservertip/3527/export-sql-server-reporting-services-report-data-into-multiple-excel-worksheets/