using indicator in ssrs - reporting-services

I am trying to use indicator in a report on a matrix. There is a column in my matrix called %Change and want my indicator to reflect the data from that column. The data in that column is like in the following picture:
My indicator expression is the same as one in the %change data rows:
=iif(Sum(iif(Fields!Year.Value = Max(Fields!Year.Value) - 1, Fields!Fact_Person_Count.Value, 0)) = 0, 0, ((Sum(iif(Fields!Year.Value = Max(Fields!Year.Value), Fields!Fact_Person_Count.Value, 0)) / Sum(iif(Fields!Year.Value = Max(Fields!Year.Value) - 1, Fields!Fact_Person_Count.Value, 0))) - 1))
The indicator properties window looks like this:
The values in the start and end are the percentage value that the expression will output, and if the percent is between -1000% and -15% then it should be red downwards arrow if between -15% to 15% then it must be right yellow arrow and if more the 15% then green upwards arrow.
I am not sure what I am doing wrong because the output literally shows indicators at random data rows (see the following images):
Update:
After the changes I made:
There are a total of 7 outputs in the report, devided through different years. thats why 7 images. Whats funny is the 4th column throughout doesnt show any values

If your textbox expression and the indicator expression are the same then Try to change the state Measurement Unit proporty into Numeric
enter image description here

Related

SSRS Setting the color of the data labels in a stacked bar chart

I created a stacked bar chart to display ticket counts. The colors for the chart are dark so I set the color to display the data labels to white.
When one of the groups has a low number to display, the value is displayed above the chart so it cannot be seen. That color has to be changed to black. In addition, when the value is low and the first group, the value cannot be seen well.
Here is an image of the 2 problems:
The 'Closed' bar has a value of '1' in the first group but it is difficult to see. I don't know if there is a solution to this.
Is there a way to display this text so that it can be easier to see?
The second issue is that in the 'Open' bar, the top group has a value of 1 but the data label is above the bar so the color will have to be changed to 'Black'. Is there a way to determine if the value will be displayed above the bar or do I have to play with the values until it is displayed above and then create an expression when the value is below that value, then display data label in Black?
UPDATE
What I am trying to do with the values that are too low to see is to add to my current expression for the data label. Currently, I use an IIF statement to not show any data labels that are zero and it is working.
= IIf(Fields!TicketCnt.Value = 0, "", Fields!TicketCnt.Value)
I tried adding of the first condition to not display the label if greater than 0 and less than 6 and the ticket type is 'SPRs'. This is the code:
= IIF((Fields!TicketCnt.Value = 0) OR (Fields!TicketCnt.Value > 0 AND Fields!TicketCnt.Value < 6 AND Fields!TicketType.Value = "SPRs"), "", Fields!TicketCnt.Value)
UPDATE
I got the code working so the value is not displayed if it is between 1 - 6 and the Board is type SPRs. I was using TicketType and not Board.
= IIF((Fields!TicketCnt.Value = 0) OR (Fields!TicketCnt.Value > 0 AND Fields!TicketCnt.Value < 6 AND Fields!Board.Value = "SPRs"), "", Fields!TicketCnt.Value)
Try to look on the Smart Labels on properties pane of the chart. You have to click the bar to be able to see the SmartLabels property.

SSRS - Major/minor gridlines spacing

I have an SSRS report with a bar chart with multiple series by CountryName Category group. What I want to do is have gridlines which split each country like below:
However in SSRS the major gridlines seem to interval with the line in the middle of the country name when the grid interval is set to 1 like below:
Can someone point me in the right direction into how to rectify this?
Also is there a way of adding the X axis in SSRS to start from zero like I have in my first graph?
Thanks
You can do it, there is an offset property on the grid lines (horizontal and vertical are separate). Click one one of the gridlines and look in the properties pane. Change the offset to 0.5.
Gives you this.
I'm not sure what you meant about starting from zero on the X-Axis, you have negative values so you'll start from a negative number. If you meant you wantde zero aligned to the middle. You can do that to. You need to set the min and max values of the horizontal axis to the following
Min Value:
=MAX(ABS(Fields!MyValueField.Value), "MyDataSet")*-1
Max Value will be:
=MAX(ABS(Fields!MyValueField.Value), "MyDataSet")
Basically we take the ABSolute largest value and use that as the extent (*-1 for the min value). The problem is that zero might not show so you'll have to play around with the Axis properties maybe to get that working. I'm sure it's possible but I don't have time to test at the moment.
My test data is not great as the number are large

SSRS Chart. How to plot line to decrease totals by date

I have a chart in SSRS that has dollar totals by date. I would like a line chart that starts with the total dollars and then decreases the total by date until it gets to zero. How can I do that?
Create a Line Chart
In "Chart Data" add the following expression to the "Values" part (with the green plus sign): "=RunningValue(Fields!colVal.Value,Sum,"DataSet1")" where colVal is the field that you want to sum up, and "DataSet1" is the scope
Then right click on the horizontal axis -> Properties -> Side Margin Disabled + Scale Options = Reverse Direction
Hope this helps!

SSRS Matrix banded rows

I'm looking to do banded rows in SSRS.
I've Googled it but only seen examples of it in a table Report not a tablix with multiple groupings.
Lets say I have a dataset
Employee..............Product.........Date...............Amount
Jose..................TV..............2013-12-01.........150
Jose..................TV..............2013-12-02.........100
Jose..................Stereo..........2013-12-01.........50
Jose..................Stereo..........2013-12-04.........100
Jose..................Camera..........2013-12-02.........400
Brad..................TV..............2013-12-03.........100
Brad..................TV..............2013-12-04.........50
Brad..................Stereo..........2013-12-03.........100
Hector................Stereo..........2013-12-04.........50
I want to make a report that looks like
Employee.......Product.......2013-12-01....2013-12-02....2013-12-03....2013-12-04
Brad...........Stereo....................................100
...............TV........................................100............50
Hector.........Stereo...................................................50
Jose...........Camera......................400............................
...............Stereo........50.........................................100
...............TV............150...........100
I wanted to do banded rows.
Let's say
Brad's Stereo line is Blue
Brad's TV line is Green
Hector's Stereo line is blue
Jose's Camera Line is Green
Jose's Stereo Line is Blue
Jose's TV line is Green
The rownumber trick doesn't work because the rows come no particular order
and in the case of Jose's stereo line, the cell under 2013-12-01 and 2013-12-04 would have different values.
I saw a trick using running values and count distinct, but that won't work either.
Anyone have any ideas how to do banded rows in SSRS using a matrix/tablix?
I'm assuming you are starting with a matrix that looks like the image below: two row groups and one column group.
Right click on the row group for Product and choose Add Group -> Child Group. In the Group By box enter "1".
Rename the group to RowColorGroup. Rename the textbox (in the details row to the right of textbox contining the product field) to RowColorGroupTextBox.
Select the value for RowColorGroupTextBox by entering the following as the Value expression: =iif(RunningValue(Fields!Employee.Value & Fields!Product.Value,CountDistinct,Nothing) Mod 2, "LightSteelBlue", "White") (You can change the colors to whatever you want.)
In the textbox properties for RowColorGroupTextBox change the fill color expression to =Value
Remove any text in the header field above RowColorGroupTextBox.
Remove the right border on the textboxes in the column containing RowColorGroupTextBox.
Remove the left border on the textboxes containing the date field and the amount field.
Set the width of the RowColorGroupTextBox to 0 and the CanGrow property to false.
Select the textbox containing the amount fill and set the fill color expression to =ReportItems!RowColorGroupTextbox.Value
This results in a report where the details rows alternate in colors.
Here's a blog post I found that uses the same method.

SSRS chart does not show y-axis data labels when values are very small (<1)

I have chart that plots values of Y-axis less than 1 (0.1, 0.24, etc).
When the chart is built, Y-axis label just shows 0 at the origin and no other values along the axis.
My solution was a little ugly. Data series labels show up with the correct % signs, but the % signs do not show up on the Y axis.
Y axis: set Y axis range from 1-100 (or 1-120 so there is room to display the data labels that say 100%) Make sure you set your tick marks to Auto or a number between 1 and 100, otherwise you'll get one long bar of tick marks running all the way up the y axis.
Data series: on the series tab, change your Value Field formula to multiply your data series by 100.
Data series labels: on the series data label properties window > general tab, copy the formula from your data series Value Field into the Label Data value field. round it to 0 decimal points and add &"%" to the end to concatenate a percent to the end of it.
That way the right numbers display for my data series and my Y axis, but the % just doesn't show up on the Y axis. not perfect yet. and too much work.
I just tested this and it seems this happens in SSRS 2005 and not 2008. You can fix this by right clicking on your chart and going to properties. It should bring up the full Chart Properties, go to the Y Axis tab and set Major Gridlines at a value like .25/.5 or whatever you want.