Report vertical layout - crystal-reports

I have existing report w/ "groups" for Total/Directs/Warehouse/Credits that span horizontally. I need to now stack these groupings vertically. What is the best way to do this in CR? I am used to SSRS, Excel, PowerBI, etc. Crystal Reports is much less intuitive than those tools.
Do I need some kind of funky nested groups? Sub reports? How should we approach this? We assumed it would be a pretty simple formatting/layout change. But it looks like it's actually quite complex to do this.
Original:
How it needs to be re-worked:

If the entire table you're showing is in a Footer, you can just add 3 new footer sections and duplicate the table in each (removing any columns you don't need.) Just right click the relevant section and Insert Section Below.
Otherwise you'll need to use subreports. But since you have the columns already configured, all you really have to do is:
Save 4 subreports, Total, Directs, Warehouse, and Credits. (Just save a copy of your existing report, and delete everything that doesn't need to show up in Total. Rinse and repeat.)
Import each and add the parameters as subreport links
Give them each their own section

Related

Formatting Excel Output of Crystal Reports with Multiple Subqueries

I've put together a summary report in Crystal Reports 2013 that has about 10-12 subreports. Each subreport is a fairly basic query that produces one or several lines rows and columns of data. I'm using SAP's Central Management Console to produce the reports, with the output an Excel output.
My problem is that my excel output is coming out unstandardized i.e. random extra empty rows and columns, data and header mismatches, different widths of rows and columns, etc.
I've been messing around with the formatting setting w/in Crystal Reports (standardizing size and shape of subqueries on the preview screen, supressing empty areas, etc.) but can't come close to getting the Excel output to look the way I want.
Is there a specific export formatting function/area within Crystal Reports that will allow me to design the export in the way I'd like? And if not, are there any ways to format multiple subqueries w/in Crystal Reports so their format in an Excel export is uniform?
If i really understood your issue, you have troubles with the alignment of data, cells and stuff like that in the spreadsheet, is it correct?
If so, the solution is to review the align of your fields in the report. It is very boring. You can use some functionalitis like:
right click a field and use "align to grid"
select two fields, right click and use "left align" and "top align"
change the property "gridsize" of the "report" to a higher value and use the keyboard to position the fields.
Avoid empty spaces between field at most.
Keep your eyes on the rulers.
Furthermore, check the version of Crystal Reports you are using. There is a good improvement about it from version 11 to 13.
Exporting to Excel seems a bit qwerky because the same steps do not necessarily work for all reports (my experience at least). Keep this in mind when reading the following steps. Perform the following steps on both the detail(footer if using grouping) and header rows where applicable:
Choose driver “Microsoft Excel(97-2003)”
Make sure the header and detail sections have no spaces in between the columns
Make sure the header and detail column boxes align perfectly (should see red crosses when alignment is correct).
Select all fields on the row, right-click, align to top (if this does try aligning to grid)
Right-click to the left of the detail columns and “Select All Section Objects”
Right-click in the same location and choose “Arrange Lines” then “Fit Section”
Perform steps 4 & 5 on the header columns as well
Open Section Expert, select “Suppress Blank Section” for all unused sections
If none of the above work, use driver “Microsoft Excel (97-2003) (Data Only) “
Headers will still appear in the report but will not be in bold

Grid/table in report

I need to display data in a basic grid, with borders, column headers, etc. How can this be done in a Crystal Report without having to draw every single line and position/size every field?
I've tried a lot of different things, but it is all so sloppy and time consuming. Isn't there an easy way to just display a table in a grid?
the solution here turned out to not use Crystal Reports. To use alerts in SAP BizOne. It works great for a quick well formatted data subscription case
A Crosstab can display results in a footer after the main report has been run. This is the least "time consuming" option, as you put it.
Otherwise the quickest way to turn an existing report into a "table" is to simply add line elements that span from the header to the footer, dividing your fields into columns. The line elements will resize such that they cover all sections:

Rearrange fields in crystal report (in bulk)

I have a report with about 20 fields and 1 group by field. When I create a new report and follow the wizard, it helps me create the complete report but all the field are really cramped in togather. They are not really usable in its default layout. I would like to rearrange them (increase size, and move them apart). Can I do that in Crystal Report by selecting multiple fields and change the size. Is there a work around?
Another option for me would be to have all the fields layout on page page sidwise and an top of eachother as if in a table. This actually does look pretty and professional except that headers are missing in this case. Since I am using group by and 1 group contains about 1-5 records, this layout really suits me. Any suggestion what you do when you too many fields in a Crystal Report. I am new to Crystal.
Yes, you can rearrange all the field into crystal report design. you can change the page size from portrait to Landscape. Default wizard provided you some default design. you can change all things after the completing wizard.

Crystal Reports Crosstab Suppress subtotals when there is one row

I am using a crosstab in crystal reports that has 3 grouping levels this can create a lot of subtotals across the rows. Often the subtotal row is useless if there is only one row it is summing from. Is it possible to supress subtotals where there is only one row of data? Leaving the useful subtotals (I know I can suppress the lot).
Illustration below this is how I currently have it:
This is how I would like it to be:
Notice the sub totals for the Middle Grouping B and T have been removed leaving just C as it has two distinct rows below it. To me that looks much cleared and I would be surprised if this can't be achieved.
I recommend skipping the Crystal Crosstab and making your own:
Make a subreport where you want the crosstab to appear (you may not need a subreport, but I'll assume you do).
Group the subreport by your 3 levels.
Drag & drop your fields onto your design however you want them.
In the group footer sections, add some custom field formulas with the sum({number},{group}) for the custom formula.
Using the section expert, suppress the fields as you see fit. The count({number},{group}) would be useful here.
It'll take a fair bit of tweaking to get it right, and of course the columns in your manual crosstab will be fixed, but this allows for the most customization.

Crystal Reports: Cross-Tab Column Arrangements

I am looking for a way out in cross tab, so that if the columns exceed in cross tab, they shouldnt go on next page..rather a new cross-tab should repeat after the first one.
For example, two columns are displayed in a cross tab :
Now if a new column is added, and assuming that it could not be accomodated within the given page width limit, it will go to a page next to it in CR by default.
But in my report it is required to be shown below the first cross tab (and not on next page), which will look as follows:
Please do suggest me if there's a way out :)
Thanks in advance
Your question is perfectly reasonable, but I'm pretty sure that in CR-XI, there is no automatic way to do this. I recommend skipping the cross-tab designer completely and just making your own:
Make a new CR using a placeholder table that has exactly 1 record.
In this CR, suppress everything but the details section. Add a new details section so you will have Da and Db.
In Da, add a subreport. Use your real datasource and add Column1 and Column2.
In Db, add a subreport. Use your real datasource and add Column3 and Column4.
I don't have time to test this, but I think it will display all the columns as you requested.
(Instead of step 1, you can probably use a placegrouper group in your report that only has 1 group. Then, when you add the subreports, make sure to not add any links to the main report.)
Edit
A dynamic number of columns makes this request much more difficult to do in Crystal.
Maybe you could autogenerate the entire report from a script. I couldn't help you with that, but I'm sure someone else on StackOverflow will.
You can use MS Excel to achieve something similar. Use MS Access or something similar to set up a crosstab of your data. Open a new Excel workbook and import your crosstabbed datasource using Data->Import External Data->Import Data (this imports the entire table, regardless of number of rows). In Page Setup, change settings to Fit to (blank) pages wide by 1 pages tall. You can format the data however you like and the format will be retained. This Excel method will squeeze all your columns into a 1-page wide area. It's not quite what you're asking for, but it will work.
The number of columns may be dynamic, but do you know what the field names could be? For example, your columns include 0-50 US States, then you know what the column names will be, just not which ones or how many. If this is your situation, then use my first suggestion (check off the suppress if blank options to hide unneeded subreports). It won't be pretty (alot of white space), but it can get the job done.
A possible solution can be a multi column report. But it can be difficult to make the row labels and values in the same line.
If you can create an additional row grouping then you have the solution that you want. For example if your columns have number like in your sample. Then you can add a formula like:
columnId \ 2