SSRS Report Custom Sorting rows - reporting-services

I have report which shows data of site and some values of each calender week. There is 1 row which contains values for whole group. I want group row on top and other sites alphabetically. I tried to sort but group row does not come on top. I cannot manually sort it 1 by 1 as sites column is random as sites may vary every week, is it possible somehow to have GROUP row on top always and other sites below?
I want sorting like given in screenshot

You need to "add total - before" to row groups.

You could right click "Details" in Row Group to "add total->before". In addition, if you want to sort column, you also could refer to this post
and this post for details.
Zoe

Related

SSRS Visual Studio 2017 - Grouped by date, but same date showing separately

I am working on a report that displays the returned items in a date range. I have configured the report to be grouped by the returned date and checked the box for the page break between each instance of a group so that each page of the report will display items with each returned date.
When I preview the report, only the first page displays the date and the items returned on the date. From the second page and on, the report displays one item per date, even though there are multiple items with the same date. It just shows all the items separately on each page with the same date.
I tried grouping the items, but it still did not work.
Below is how the report is set up right now. The [ActionDate] is the only one that is grouped.
Look in your row groups under the main design window.
You will have at least
one group for your returned date. This should only be grouped on the columns you want to exclude from the detail (in your case probably just returned date)
You should also have a details group (the icon to the left of the group name will be 3 lines rather than a '['. This details group should have no grouping
If you have any more groups listed, check if they are needed
Here's a sample of a report design with a single group (in this case email) and a details row group (which has not grouping).
If this does not help, edit your question and show a screen shot of you report design including the row groups panel and I'll edit this answer.

SSRS 2014. Show RunningValue Before Page Break

So I have this ssrs 2014 report, with a table in the body that has a LineAmount column
Say my report has 300 lines, and each page fits about 50.
Is there any way I can insert the SUM RunningValue of LineAmount at the bottom of each page? Ideally this Running value will not be in the last page.
So I know the formula es
=RunningValue(LineAmount,SUM,MyDataSet)
But I can't figure out, how to make the Page Break a trigger to display this amount
In short, you will need to add a row group and add a simple SUM() there. The row gorup will also force the page break.
Assuming you currently only have a 'details' row group (if not then you will have to decide at what level the row group needs to be)
You need to do the following....
First determine how many rows you can fit on a page, for this exmaple we will use 50 although you may have to reduce that to take account of the addiotnal row.
Right-clck the 'details' row group and choose "Add Group => Parent Group".
In the Tablix group dialog box click the 'fx' button next to the Group By drop down.
Set the expression to
=Ceiling((RowNumber(Nothing)) / 50)
Check the "Add group foter" option then click "OK"
Right-Click the new group you created and choose "Group properties". Click the "Page Breaks" tab and check the "Between each instance of a group" option.
Click the sorting tab and delete the sort. If you find data is not sorting correctly then sort by the same sort as your "details" group.
Click OK
You will now have a new row in your tablix. In this new row, in the LineAmount column set the expression to
=SUM(Fields!LineAmount.Value)
This will give you the total for that group and as each group is now a p[age full of data the group total shoudl give you what you want.
This is not the solution I was looking for, but if following the row counting approach, I think there is an easier way.
Just add a new row to the affected tablix
Set the row visibility to something like:
=IF(RowNumber("Table_Lines_Group2") MOD 20 ,TRUE,FALSE)
Here 20 is the number of rows that can fit the page
"Table_Lines_Group2" is the DataSet group you are counting rows on
In this new row, add the running total in one of the columns, Expr like for example:
=RunningValue(Fields!LineAmt_SalesInvoiceLine.Value,SUM, Nothing)
So basically, each 20 rows, you will get a running total

SSRS - Merging cells of specific columns

I am developing a complex report in SSRS which should like below
Screenshot 1
output returned by stored proc have multiple rows of one User ID and based on that columns "Successful Orders -- Online - Total Orders", "Successful Orders -- Online - Total Amount" & likewise Retail - Total, Other - Total columns cells should be merged based on respective User Id.
I have used tablix control and tried adding grouping over columns which needs to be merged but it is not working as expected. in order to group I am setting Sum of returned Value in cell but yet no luck.
Can you please provide me some pointers in order to achieve whats expected. please let me know if you need more information
output after adding nested tablix
ScreenShot 2
also, distorted output with inner tablix. borders are causing issues
ScreenShot 3
Try placing a tablix in the cells containing the multiple rows to display them. Basically, you need to switch your approach from "How do I merge these cells?" to "How do I split these cells." Set up your grouping at the level you want your totals and then in each of the columns where you want the details displayed, add a tablix to display the details. You'll need to play with the grouping a bit to get it display correctly.
More details:
The sample you provided above should be one group level row, not multiple detail level rows. Add your group to that Tablix and the summaries you want for your Total columns. Then Merge each of the "Mode" and "Count" column pairs and insert a Tablix into that merged cell with the same grouping as the row with the Totals, but with only the Details row displayed (don't add group header or footer and delete the blank row and summary column that automatically gets added). Now just set your field values for Mode and Count and adjust your column widths to match the headings.
Here's a REALLY simple report that displays a Plant and the employees associated with that plant. This is the top level where you Totals group would go. The next image is the "inner" part, where you would add in another Tablix with the same group(s), but only the details displayed.
This is super simple example and you may need to include additional levels of grouping to match your report, but the fundamentals still the same - an "outer" Tablix with an "inner" Tablix with matching group(s).
There's a lot you can do with this approach by manipulating the groups, hiding/displaying different groups or even hiding the details and displaying subtotals.

SSRS Pivot Creating Extra Rows

I have a report and need to pivot on SLOC (storage location). It all works great except it creates extra rows due to the storage bins being different even though I'm not grouping on them. The first image shows what I have. The second image shows what I want. How do I 'push up' the rows?
Rows Grouped on "Part Kit" then "Material"
Columns Grouped on "SLOC"
Currently Looks Like this
I want it to look like this
You can achieve the desired format by adding a row number to group on. This will tell the report where to position things. In this case I added a row number like this:
ROW_NUMBER()OVER(PARTITION BY SLOK, PartMaterial ORDER BY StorageBin) as RN
Here is a sample of how it looked before:
And here it is after I grouped the rows by the row number:
Of course, you can hide the row number, but this shows why and how it works. In this case, I added a child row group after the part material and grouped and sorted it by the row number.

Exclude hidden table row from total

I've created a table with a group filter so some values stay hidden.
However, the row that shows the sum() of the above values, still counts the filtered values.
Usually I would apply the filter to the query, but I'm also using this same dataset in other tables on the same report so that's not an option.
Am I missing something here, or is this a flaw in MS Reporting Services?
This appears to be a "feature" of SSRS, apparently because it calculates values in table headers and footers before rendering the detail section of a data table.
One way around this would be to add a derived Boolean column to your dataset (assuming your data source is SQL Server, using a CASE statement or similar) showing whether the row should be excluded from the table where the filter is required.
You can then change your table filter to check the indicator, and use a expression to carry out a conditional sum to aggregate the correct total. Something like
=SUM(Iif(Fields!ExcludeRow.Value = True,0,Fields!ValueToSum.Value))
It's more of a question than answer...
How to resolve this issue if you know whether the row is hidden or not ONLY at the Row Group level?
i.e. if you're filtering on the totals by this Row Group, i.e. you cannot have a field indicating if Row is excluded or not in a dataset.
ex: I have AR Aging report which has totals per months, patients. I need to filter out negative totals per patients (Patient row group), but I have column groups as well - per month, so my dataset cannot be per-patient granularity and therefore, the only place SSRS can decide whether to hide or show the row is on the Row Group level...
I had the same issue but I had too many column totals where to enter the Iif().
I resolved it by removing the filter from the group and putting the filter into the Tablix Properties dialog box (Select Tablix, Right-click the top left corner grey box and choose Tablixc Properties).