Jasper Reports summarize all groups before showing group details - jasper-reports

Is there any way I can show total balances for all groups and then show details for each account?
For Example, Say I have 4 Accounts, I would like the following
Accounts Summary Header
Summary of Account A
Summary of Account B
Summary of Account C
Summary of Account D
Accounts Summary Footer
Account A Details...
Account B Details...
Account C Details...
Account D Details...
The report I am using now groups by the field that separates these accounts but is repeating in the following way:
Summary of Account A
Account A Details
Summary of Account B
Account B Details
...etc
I have thought of considering a subreport for the summary section but it would end up being the same query used for the details section which would make it redundant.

Jasper Studio has the idea of bands on which you drag and drop labels in the Design tab.
In general the solution would be to use Summary band, which would hold the details of accounts.
If you put everything in Detail 1 band, jasper will repeat that to fill all the page content and will not repeat them.
Also here you can find more details about the bands usage.
Quick info about the summary tab:
Summary
The summary band allows you to insert fields containing total
calculations, means, or any other information you want to include at
the end of the report.

Related

How to suppress a blank page at the end of a Crystal Report group

I have a rather complex Crystal Report that is displaying a blank page at the end of each group. This is an issue as my customer requires the next group to start on the next page without a blank page in between.
The report has four groups; the blank page appears at the end of each Group 1. Group 1 has four sub-group headers that dynamically display on a page given an employee's group. There is one group footer for Group 1.
I do know it is not an issue of the details page bleeding into the next page and falsely creating a blank page; this is consistent with each Group 1.
Solutions I have tried:
I have de-selected the option to display a "New Page After" in both the Section Expert and the Group Expert, just for Group 1 (as this is the group causing the issue).
Also added a formula to the Group 1 footer to the "New Page After" formula to display Not(OnLastRecord); the blank page remains
Tried selecting and de-selecting the "Keep Together" options, in both the Section Expert and Group Expert
Some of these solutions switch the blank page to the start of Group 1. I have dynamic paging for each employee, and can see that page 1 of 4 for the first employee in each group is blank.
I am at a total loss here; all of my normal strategies for grouping logic have not worked. Also attempted each of these suggested with no luck:
http://www.crystalreportsbook.com/forum/forum_posts.asp?TID=16733
Crystal Reports 11 - Useless blank page is added with just group headers that have data
https://answers.sap.com/questions/4160531/a-blank-page-appears-after-the-group-header.html
Posting the answer for those building complex Crystal reports and troubleshooting this issue: the "Keep Together" option was selected for Group 2, which was adding in the extra page for the first person in each Group 1.

Crystal Reports - Summarize Cross Tab Values

I'm using CR12 pulling from a database and trying to create a summary that will total values in a cross tab. Here is my scenario:
Report detail shows equipment used
Detail is grouped by Room and then Date/Time of session
Summary section totals up all equipment with discounts, tax, etc.,(via formulas) ending in Grand Total
Grand total is then divided by a distinct count of billing codes to calculate avg. $ amount per billing code that is due per room/date-time
This was placed in a cross tab to show Billing Code and $ Amount Due per billing code. Now I need either another cross tab or summary at the bottom of the report to show the total amount due per billing code.
Example:
Room/Date----Billing Code----Amount Per Code
101 3/2/16------ABC123----------------$50.00
101 3/2/16------DEF456----------------$50.00
102 3/2/16------ABC123----------------$25.00
TOTAL
ABC123: $75.00
DEF456: $50.00
Here is a screenshot example of what I have so far:
Report Example
Any insight provided is greatly appreciated.
Since you took a cross tab to show the individual summaries (though it can be done without a cross tab and it is more easy to show final totals in footer as well)
In report footer as well take another cross tab to show summary just take rows as billing codes and sum the amount.. which will do the task

Loop in Crystal Report to Evaluate Details Section Multiple Times

For simpler illustration of the problem, please refer the table below as the detail section part of the crystal report. This is the actual records in the details section part
In the group footer, below should be posted, what should reflect or be displayed in the group footer
Notes:
tenant2
tenant3
tenant5
tenant1
tenant4
Where in, the evaluation of the details section takes first those with "started remarks" to be followed by "ceased remarks" and displays their tenant name. It's like displaying the records in the details section in the footer with the order: Those with "started" remarks comes first.
As per the normal thing, using whileprintingrecords function, it will evaluate the report from top to bottom. Is this simple evaluation of records possible?
I currently used 3 way method formula in crystal report.

Crystal Reports: Showing only first record in each group

I searched to get the required answer but not found exactly what iam looking for - please help me.
Please follow the steps i made in crystal report:
Using crystal report command (i created a query to get the required business number)
--> which gets 5 Business numbers
Note: Every business is having many receipt numbers (1st installment receipt, 2nd installment receipts... like that....) - these receipt details are stored in table_receipts.
In table_business - i have all details about business number, customer, product details...
Please understand the links:
table_business - table_customer - table_product - table_receipts
Relationship between tables are:
table_business.Bno=table_receipts.Bno
table_customer.Cno=table_customer.Cno
table_product.Pno=table_product.Pno
After creating the crystal report command; i just drag the required table in crystal report (table_business, table_customer,table_product,table_receipts)
Now i created a group for Business Number "BNo"
I need to display all the required details about that selected Business Number using parameter - its coming fine except receipts.
I mean its showing all receipts (all installment receipts). I need to display only the first receipt only (i.e: receipt number starst with letter "F" )
Hope you understand my requirement - Please help me in this regard.
Expecting your valuable reply.
Regards,
Sensa.
Here is what I tried for the same issue and it worked. It's a 2 step process involving using Running Total Fields and Suppressing in Section Expert.
First step is to create a Running Total Field (Right under Parameter Fields)
Right click on it and click New and name your field i.e. CountFirstOnly
On the left you will see the fields you can perform functions on.
Select the receipts field. Bring that over to field to summarize and select count.
Under Evaluate select For Each Record
Reset on Change of Group and select your grouping, in this case business number and click OK
Drag that field into your report.
Part 2: Section Expert
Bring up the section expert on details and click on the suppress X-2 button
Your formula should be: CountFirstOnly >1
Click OK
Refresh your report
Hopefully this did the trick.
You should be able to do this by creating a forumla for suppressing the field (table_receipts.Rno).
Right-click the {table_receipts.Rno} field and select Format Field...Common tab...Check the 'Suppress' box and then click the X-2 box to the right. When the new window appears paste this:
not ({table_receipts.Rno} startswith "F")
I might have a solution for you.
1)Open the ‘Report’ menu then select ‘Section Expert’
2)Select the ‘Details’ section from the left hand menu
3)Tick the ‘Suppress No Drill-Down’ option and click on the icon to the right of it and in the formula option put
4)RecordNumber > 1
This should suppress the whole ROW/Record and not just the field. I saw your problem from this thread, I needed the exact same solution and this worked.
show only in the first row in crystal reports details section
It sounds as though the simplest way to meet this requirement would be to add a selection condition to the report - something like:
Left({table_receipts.Rno},1) = "F"
This should ensure that only the associated products and customers for the first receipt for each business are reported.

Crystal Reports subreports

Here is the scenario where I need help
I ve got a report - XYZ Summary Report (with embedded sub-report) and the XYZ Details report (the sub-report)
The requirement is that the XYZ Details report be a sub-report to XYZ Summary Report and also be available as a Stand Alone report through a Parameter.
Report Information:
1) A Parameter allowing the user to select the report they would like to run, either the XYZ Summary Report or the Agreement Details Report.
2) The XYZ Details Report should also be a sub-report to XYZ Summary Report which would allow the user to launch the XYZ Details Report through the XYZ Summary Report by selecting the linked Document Number.
I dont know if I am clear here. Let me know if you need more informaion
The combination of being able to drill down to the agreement details interactively, and being able to specify whether to run the report at detail or summary level makes this quite tricky - the former is implemented in Crystal using Hide functionality, while the latter requires conditional Suppression.
I recommend not doing the detail report in a subreport if you can avoid it - I find them awkward to develop and maintain. Additionally, due to the need to drill down interactively or at initial run-time, you will need to link to the subreport twice - once for the drill down, and once for the parameterised selection of the detail report. Consider linking the Documents table to the Agreement Details table, instead.
If you have to go down the subreport route, then:
Set up your parameter with an appropriate name (eg ReportType).
Group the main report by Document Number (if it isn't already) and place the detail items in the group header section, with the group footer section suppressed.
Split the details section of the report into two subsections.
Set the first details sub-section to Hide (Drill-Down OK) and add the subreport to it, with appropriate links on Document Number.
Set the second sub-section to be conditionally suppressed (in the Section Expert dialog) based on the value of the parameter, and add the subreport to it, with appropriate links on Document Number.
Alternatively, consider the method suggested by PowerUer, in the comments.