SSRS Range Bar Display Data Labels Questions - reporting-services

So I'm attempting to create the below mock-up for a work project.
Within my SSRS Report I created a Range Bar with the Chart Series CustomAttributes set to "DrawSideBySide=False"
I understand how to show data labels, but ultimately what I would like to show the Start & End dates at each end of the bar segments. On top of this I am trying to figure out if it is possible to show additional dates that do not have their own bar segment. (Early Indicators, Today)
I appreciate any feedback you might have on this :)

You can create a custom label using an expression. You'll need to show data labels. Then click on the data label and input your expression, something like =(Min(Fields!StartDate.value) & " - " & Max(Fields!EndDate.value)). The min/max should be scoped to your category group automatically, but you can add the scope if you want.

Related

In SSRS 2008, how do I show the labels and values of a multi-value parameter together in a text box?

This seems like it should be trivial, but I just can't seem to find the correct expression or work it out myself.
Using Microsoft SQL server report builder SSRS, I have a multi-value parameter named "Diagnoses", with the following properties:
In a text box in my report, I would like to list the labels the user has selected, along with their corresponding values. For example if the user selected "Breast" and "Lung", you would see something like this:
You have selected the following site groups / diagnosis codes:
Site Group Diagnosis Codes
Breast (List of breast codes)
Lung (List of lung codes)
Are there any expression gurus out there who could help me? Maybe the solution is to use a Tablix?
You can achieve the result you want with 3 textboxes (optional: use rectangle for container), follow the layout I have below:
Use this in the Expr in Site Group:
=JOIN(Parameters!Diagnoses.Label, vbcrlf)
Use this in the Expr in Diagnosis Codes:
=JOIN(Parameters!Diagnoses.Value, vbcrlf)
If you want your labels to repeat across pages, I'd recommend putting them inside the report header section.

How to percentage and count in SSRS Pie Chart

I have a Pie chart generated using SSRS. I would like to Show both Count and percentage in the Pie chart.
Right now, I am able yo show the count in pie charts as well as in the report.
I want to show the name of the partition and also the percentage directly pointed out.
Example :
ALD 38% 56
please help me withe properties to do it.
I'm using VS 2008
1-right click on chart and select "show data label"
2-right click on label an select "series label properties"
3- general -> label data -> set this value = "#PERCENT (#VALY)"
4- it will be like this screenshot
write down an expression on series label data like -
=Sum(Fields!DATA.Value, "Chart1_SeriesGroup1") & "("
& Sum(Fields!DATA.Value, "Chart1_SeriesGroup1") * 100 /Sum(Fields!DATA.Value, "DataSet1")
& "%)"
Here Chart1_SeriesGroup1 is the group name if you look at series group setting
Here DataSet1 is the name of Dataset
Here is the final output
Cheers :-)
In the label Properties type "#PERCENT" in Label Data
This can be used on its own or in conjunction with the other value itself by adding "#PERCENT(#VALY)"
Place this in quotes if you are trying to concat other values with it. For instance, this would show the label with the accompanying percent below
=First(Fields!Data.Value, "Chart_Group") & vbcrlf & "#PERCENT"
Where "Chart_Group" is the name of the grouped on field

SSRS - Replace the Chart

I have a question, want some assistance.
Q) My question is that i have a chart in which analyst assigned for many incidents and some analyst have 1 or two incident assigned. just because of this the bar chart looks ugly some time. So thats why i used a new chart to represent Min incident count. But i want there some creativeness, for which i want there a radio button or OnClick event ( I do not know how to use both these. When report runs by default it`ll show Max incidents count chart and when we used radio button it will show Min incidents count chart, on the same chart area no need of new area or on new page.
Kindly help me or refer me some links and with ideas. As i have searched many blogs but i didn`t get any big achievement.
Below is my Simplified query;
SELECT
Count(IncidentDimvw.Id)
,UserDimvw.FirstName AS Analyst
FROM
IncidentDimvw
FULL JOIN WorkItemDimvw
ON IncidentDimvw.EntityDimKey = WorkItemDimvw.EntityDimKey
JOIN WorkItemAssignedToUserFactvw
ON WorkItemDimvw.WorkItemDimKey = WorkItemAssignedToUserFactvw.WorkItemDimKey
JOIN UserDimvw
ON WorkItemAssignedToUserFactvw.WorkItemAssignedToUser_UserDimKey = UserDimvw.UserDimKey
WHERE
WorkItemAssignedToUserFactvw.DeletedDate IS NULL
GROUP BY
UserDimvw.FirstName
Having (Count(IncidentDimvw.Id) = (#Count))
Having Clause is right or wrong, i donot know.
I used the following expresion in series as you suggested.
=iif(Parameters!Count.Value, Max(Sum(Fields!ID.Value)), Min(Sum(Fields!ID.Value)))
Sample data is as folows;
Regards
Muhammad Ahsan
I can think of a couple of ways to approach this:
Dynamic expressions based on parameter
Say you have a simple DataSet like:
And also a boolean parameter called showMax.
We can create a simple bar graph based on this:
The most important thing to note is that Series value is expression-based:
In the above example the expression is:
=IIf(Parameters!showMax.Value
, Max(Fields!value.Value)
, Min(Fields!value.Value))
i.e. when showMax is true, report the Max values, otherwise report the min values.
In this case I've also updated the Axis title, Chart title, and Custom legend text to be expression-based:
Axis Title: =IIf(Parameters!showMax.Value, "Max", "Min")
Chart Title: =IIf(Parameters!showMax.Value, "Max per group", "Min per group")
Custom legend text: =IIf(Parameters!showMax.Value, "Max value", "Min value")
The chart behaviour changes based on what parameter is selected as required:
Set Visibility based on parameter
Another option is simply to have to charts and hide one depending on parameter selection.
For example, for the Max chart the Hidden property can be set to:
=Not(Parameters!showMax.Value)
Setting this property correctly for each report will mean only one is ever displayed to the user, i.e. it will look dynamic.
Either of these options should work; the first keeps the layout simple in the designer makes the chart more complex, the second makes the layout more complex but keeps the charts simple.
Hopefully one option will work for you.

MS Access VBA Cross tab report legend sort order

The problem is hard to explain ,
I have an access report with a stacked bar chart to show the percentage fills over time like the one in this example : Click here
The legend for the chart i have is a number followed by the name, for e.g
1-Mango
2-Apple
3-Banana
etc
I want to sort this according to the above format but when i have more than 10 items the 10-Pineapple comes before 1-mango when it should appear after 9-somefruit .
The underlying query for the access report uses a Cross Tab query in which the items are created as
Column heading:[PrefixPriorityNumber]&"-"&[FruitName]
I even used the Sort:Ascending but it still doesnt affect my custom ordering that i wanted to show.
I also tried to google "sorting alpha numeric strings" but this is clearly more than that.Any assistance is appreciated
The problem is you are getting a text sort. You need to format the prefix number.
Column heading: Format([PrefixPriorityNumber], "00") & "-" & [FruitName]
Either use another digit, as Remou suggests (01 instead of 1) or start using letters. A > 9, B > A, etc.

Reporting Services - Group Name in Page Header

I have a report with one group (Office Name) which page breaks between each group - so the data for only one Office can appear on a given page. How do I get that Office Name to appear in the page header?
I tried creating a hidden textbox in the details section of the report which has the Office Name value and then referencing that in the Page Header, but I get the last Office Name value on page 1 and then it is blank on every other page.
Today, at last I found another way to do this.
On the group that you specified the page break, in the properties window, expand the Group section.
See Pagination in Reporting Services (Report Builder and SSRS)
You can set the BreakLocation property in the Tablix Properties,
Rectangle Properties, or Group Properties dialog boxes, but you must
set the Disabled, ResetPageNumber, and PageName properties in the
Report Builder Properties pane.
You should see a PageName field. This field can be set to that of one of the field data values from the dataset used by the tablix.
Once you have set the PageName field, you can add a textbox to the Page Header/Footer and set the expression to use the PageName field. Built-in Globals and Users References (Report Builder and SSRS)
=Globals!PageName
This should then change on each group change, and be visible on each page.
I have realy struggled finding a good solution for this, so if I need to clear up the answer, please feel free to suggest this.
I got it to work and I'll post the answer in case someone else runs across this issue.
For some reason referencing the text box did not work, but when I put a hidden column in the table with the same value, I could then reference that in the Page Header.
I am actually doing this in the footer and it worked! Thanks! Just wanted to add if you have multiple values you are trying to display in the header or footer, you can string them together with a delimiter in the pagename expression like
=Fields!FIELD1.Value + "|" + Fields!FIELD2.Value + "|" + Fields!FIELD3.Value + "|" + Fields!FIELD4.Value
Then you can create new fields (one for each value) and parse out each field like
=(Split(Globals!PageName, "|")).GetValue(0)
=(Split(Globals!PageName, "|")).GetValue(1)
=(Split(Globals!PageName, "|")).GetValue(2)
=(Split(Globals!PageName, "|")).GetValue(3)