Rdlc Report Grouping without repeating data - visual-studio-2010

I'm replicating a report from a legacy system
the report does grouping like this
Name Number Vocation
Bob 1 Farmer
Dave 2 Farmer
Banker
Where as RDLCs do grouping like this by default
Name Number Vocation
Bob 1 Farmer
Dave 2 Farmer
Dave 2 Banker
Repeating the entire row, not just the "interesting bits"
is there anyway to replicate this behavior in RDLCs?
I can think of a way to fake it by massaging the data in the c# so vocation looks like this "Farmer\nBanker", but I'd like to find a better solution.

Hide duplicates property set to the name of your dataset solved my issue.
I had to select all the text boxes for all of the detail rows manually and change it via the properties window..
To get labels on my 2nd detail row to repeat, I changed the Hide Duplicates property on those cells only to "group", and then the labels showed up on non repeating rows only.
To get the Hide Duplicates property you need to have the Properties window open and have the row, group or cells selected.

Related

Google Sheets - Dynamic Cell Range For Data Validation, Specifically List Of Items Criteria

I am having some issues with specifying a dynamic cell range for a "data validation".
I'm aware you can do some tricky stuff with = "Projections!M4:M"&O2. You can update the content of cell O2 for example to 3 and the output would be Projections!M4:M3.
This makes the value "dynamic". These tricks don't seem to work in the "Cell Range:" input field in the Data Validation selection/configuration screen.
My problem is, I hate seeing drop down arrows (call me o.c.d) for rows that have no content, my number of rows will grow in the future so I don't have any other option than selecting M4:Mfills the whole 1002 rows with drop down arrows.
Has anyone worked out a trick to make dropdown arrows only show up for rows that are filled?
I'm using = COUNTA(B4:B)to get the number of rows that are filled and = "Projections!M4:M"&O2 to make the desired Projections!M4:MX string but the "Cell Range" input field in the Data validation screen doesn't accept this as valid either.
Well I didn't find a direct solution, but something that I can work with to resolve my issue which was I hate seeing drop down arrows for empty rows.
I turned a filter on for a column that will always be filled in and filtered by conditions Cell is not empty but i'd prefer a better solution.

Multiple detail rows and page breaks on report

I have a problem with a rdlc page breaking and table with multiple detail rows. Tried everything that crossed my mind, none works.
As you can see on the picture below, the table has 7 detail rows.
Now, when report is rendered, the page gets spitted between, for example, rows 2 and 3 which is bad.
I wish to keep all of detail rows (that belong to one record) on the same page. How can I accomplish this?
I think you should create a group based on whatever joins the one record together, let's call it PlaceID. So right click, Add Group, choose what to group by.
Then, under the row groups you should have a group by PlaceID, and underneath that, a row marked "Details". Highlight Details in the lower section, which should highlight in the report the rows involved. Set the KeepTogether property of that section to True, should keep details on the same page.
If you don't want to use the Group option mentioned by Jerry, this option in the Table Properties may help...

Show tablix total outside of table

I have a weekly report which totals anywhere from 200 - 1000 rows of data. For my accounting people, the total is the only value of import as they simply use it for accrual purposes. I would like to either have the total appear at the top of the report or in a separate text box indicating this is the total for the report. Does anyone have a good idea on how to accomplish this?
If I understand correctly you need to get the result of some aggregate function on a tablix shown in a textbox outside the tablix.
That can be achieved by placing a textbox anywhere on the report, and in the expression for that textbox add a reference to the dataset you need to aggregate, e.g.:
=Sum(Fields!SomeValue.Value, "myDataSet")
Where SomeValue is the name of the field you need to aggregate, and myDataSet is the name of the DataSet that fieldis in.
Your question has already been answered by the other answer. Just as an alternative, you could try one more thing.
On the "details" row group(which appears by default), right click and choose "Add Total".
This will appear in a separate text box outside the report.

Hide some charts and show other in one report

I have a report with 24 charts, one for each hour of the day. The user can choose to show one, a couple, or all the charts, based on a drop down. The drop down is tied to a parameter that allows multiple values. See below:
The problem is that if the user chooses one or a few hours from the drop down, all the charts show, and the one(s) chosen give data while the others say "no data available".
Currently for each chart I've added the following to show data if the value was chosen in the drop down:
=Switch(Parameters!HOURINPUT.Value(0) = "0", false)
Is there a way to hide the charts that the user did not choose from the drop down?
It would look nicer to hide the chart and see only the ones chose than have a blank box that says "no data available" in them.
UPDATE:
More than one parameter.
Assuming that the only differences between the charts are the hour of the day specified, then I suggest:
Add a new dataset to the report with values 0 to 23 as selected in the entered HOURINPUT parameter - something like: with cte as (select 0 n union all select n+1 n from cte where n < 23) select n report_hour from cte where n in (#HOURINPUT)
Add a new tablix to the report, with a single detail cell only, bound to your new dataset.
Move one of the existing graphs into the new table's detail cell so that it becomes a subreport, replacing all hard-coded time references in the graph with references to the report_hour value from the new dataset.
You can then remove the other 23 graphs.
In addition to ensuring that graphs are only displayed for the times selected, this should also simplify future maintenance of the report, since any changes required to a graph will only have to be entered onto the one graph (instead of all 24).

Interactive sorting to matrix report in reporting services 2005

i created a matrix report that have 2 rows and 6 columns.
picture 1 (see album picture in the bottom)
i want so active a interactive sort on the last columns that named 'Matrix1_ObjName'.
to do so i clicked right click on the field and go to properties > interactive sort.
than i entered the parameters like in the picture 2 (see album picture in the bottom).
i have done some research and the closes answer was posted on this link
the interactive sort doesn't work.
to be clear i want that the LoginName column will be sorted by the grade that shown in the objName row.
sea picture 3 (see album picture in the bottom)
album pictures
thanks to all...
I never use interactive sort. When I want to be able to change sorting behavior, I do it with a parameter. Create a new report parameter and specify values. Use something descriptive for the labels, then I use integers beginning at zero for the values. After the param is set up right click on a field in report design and go to Row Group then Group Properties. Select Sorting from the menu and build an expression with an if statement similar to this:
=IIf(Parameters!sort.Value=0,Fields!First_Sort.Value,Fields!Second_Sort.Value)
Might help you.

Resources