I need some help figuring out how to accurately display the labels in a stacked chart in SSRS; I need a single represenation of the upper stack in the below chart.
The chart itself has two states, it can either be based on red or green data, both are in the same data source.
At the moment the chart looks like this (this is based on green data):
As you can clearly see both the labels inside the chart and the legend is absolutely cluttered. The idea is to have a legend where we have two items (Late issues and Not finished issues); one that displays any non-finished issues and one that displays any non-finished issues that are outside the estimated due-date.
For reference: The above chart should have 1 non-outstanding issue and 5 outstanding issues (3 Ongoing and 2 Open, see below for further info about stages).
Inside the chart we want to have a numerical respresentation of above requirements. Basically a number representing the outstanding issues and one that shows any non-finished issues.
This is what a red representation looks like:
At this point I'm not sure what could be wrong anymore. As mentioned they both run on the same dataset, but with slightly different values.
The red tracker has a simple True/False value that it runs most of its data from whereas the green tracker has a numerical representation of three values (5-7). Where the data it represent is: 5 - Open, 6 - Ongoing, 7 - Closed.
I've attempted to only get the green data both when the series is either of the three above mentioned numbers, but also when it's only getting anything that is un-closed (5,6 but not 7).
This is the code to set the labels for the maroon part of the chart (it's only a workable snippet.):
IIF(Count(IIF(Fields!Outstanding.Value = 1 AND
Fields!TRK_TrackerStatus_LKID2.Value <> 7, 1, Nothing)) = 0, "",
Count(IIF(Fields!Outstanding.Value = 1 AND
Fields!TRK_TrackerStatus_LKID2.Value <> 7, 1, Nothing))))
Basically what it does is checking if there are more than 0 items that are outstanding and that aren't finished (are not 7). If there are more than 0, it sets the label. If there are 0 counted items, the label should be the empty string.
I think what you are wanting to do is group your Series data based on a status number. You can either do this as a case statement in your dataset query or you can use an expression in your Series Group:
The expression I have used there is as follows:
=switch(Fields!Status.Value = 5, "Group 1", Fields!Status.Value = 6, "Group 2", Fields!Status.Value = 7, "Group 2", TRUE, "Group 3")
This esentially assigns a grouping value to your data based on the values in the field. In this case, a Status of 5 becomes Group 1, a Status of 6 or 7 becomes Group 2 and all other values become Group 3 just to ensure bad data is obvious on the report.
What this does is takes the chart as it would be displayed with the raw data (On the left) and turns it into what I think is how you want to see it (On the right):
You will need to apply the same logic to your chart labels as well. For this reason I would recommend you add a column to your original SQL script that does this grouping for you, so you only have to make changes once.
Related
I'm trying to figure out how to connect checkbox with chart.
What I need to do is the following:
I have a chart showing two lines (two sets of data, lets name them A and B).
After checking a checkbox "compare A with previous period" or "compare B with previous period" those data disappear and instead of them a suitable comparison is shown.
I know that it is possible to make checkbox dependent chart like here:
https://datastudio.google.com/reporting/23a0d8ac-96c0-42cc-a991-5a21bc7c9962/page/VvbsB?s=rw4uzVA5G9Y
but I don't know how to do it.
I tried looking for the solution on the Internet, but nothing found.
Thank you for your help in advance.
A step by step introduction how to blend data and add checkboxes to show/hide graphs. Also how to do a calculation across datafields in different datasets, which were blended.
Add to the dataset a checkbox with the name compare_a_with_previous_period the field 3days average on/off with
case when compare_a_with_previous_period then 3days average else null end
Depending on the checkbox data is shown in that field or not (null). For blending/joining the data over different dates, a timeshift has to be done. Therefore, create a field date_old with
datetime_add(Date,interval 30 day)
Create an parameter show_differences with range 0 to 1 and add a field show_differences with
case when show_differences = 0 then 0 else 1 end
This will later be used to switch on/off the graph for the difference calculation.
Blend the data with itself using date and date_old as join and range. And rename the 3 day average to 3 days_old
Add the chart and click on the "add metric"
and enter
case when show_differences > 0 then 3days average - 3days_old else null end
to do a calculation between the bend datasets. Under Style set the missing data to "Line Breaks".
For some reason stacked column chart displays "Blank" value even though data behind doesn't have any Blank or '0'.
And my X-axis doesnt have "Type" where I can choose between continuous or categorical:
In a data behind I have 12 months, no blank or 0 :
The (Blank) value can occur even though your underlying data set has no blank values. It is because when you have established relationship between tables, and there are other visuals or filters on the same report page, leading to a joining or filter which results in blank values.
It can be hard to pinpoint sometimes, so the easiest thing you can do is to filter it in the Visual level filters as follows:
As for the X-axis continuous or categorical type setting, it is only available when the data type is numerics or date/time. The MonthShort column you're using is just text to Power BI and it has no idea in what way it should be continuously linked. You need to use the MonthNumber or a date column if you want to achieve so.
I am writing a report where I have an indicator determined if a person is under a percentage for a certain category of orders. If the person is below threshold, then a big X is displayed by the percentage.
Outside of the group I am looking to put a red flag within the same column for the week to show that if there is at least one X for a category, then this red flag will display.
Mainly I am using this because there are a lot of drop down lists within the report and it will be easier to view if a red flag is displayed instead of a bunch of X's.
Thus, my question: is it possible to select an indicator within a child group in an expression?
I have been searching the internet for a while now and i can't really seem to find any answers for my query what i am looking for is this...
Runescape Grand Exchange Market
For example:~
Runite Bar Is "14,378 coins"
But it changes from time to time depending on the "game economy"
How can i use this number to auto update in google spreadsheet?
For example 1 bar is 14,378 coins. If i choose to put 2 Bars I would like the price of the item to be changed also so it's 28,756 coins.
What i have done at the moment is to make this Runite Bar you require certain items such as:
1. Runite Ore x1
2. Coal x8
I have set the value to auto update when i choose to purchase 100 Runite Ores It will automatically update how much Coal i need which would be "800" but what i want is to auto update the "PRICE" of the BAR
So if I choose to purchase:~
300 Runite Ore (1) - 10,975 - i would like this also to be updated automatically.
2400 Coal (x8)- 2,504 - i would like this also to be updated automatically.
Cost would be: 4,043,700 Coins - This is the total and should be updated automatically.
But if somebody tells me how to get price of an external site i can maybe do the Runite Ore & Coal myself i hope..lol
Runite Bar Website = Runescape Wikipedia - Rune Bar - as you can see it says "Exchange price" THAT is what i want in spreadsheet to be updated automatically.
Best Regards
Antartika
Please try:
=substitute(left(index(importxml("http://runescape.wikia.com/wiki/Rune_bar","//td"),15,1),6),",","")*1
the //td part should import the entire table (the one in the middle of the page). It is XPath code that seems to me not at all well documented but ZVON might help.
index 15,1 then takes the fifteenth row and the first column (ie 14,573 coins) of that table. These are the parameters to change to select other cells from that table.
left strips off the coins part, but since a function that manipulates text results in a string, so the comma is a 'character' rather than formatting feature. However
substitute replaces the , with ""(ie with nothing) so that when we multiply by one (*1) we get a number that we can then multiply again by however many bars are involved.
I am developing an SSRS 2008 report which contains a number of simple charts. On the x axis I have the 12 months of this year - Jan 2009 thru December 2009. On the Y is an integer value ranging from 0 to 100 in increments of 10. I am plotting the number of times an issue occurred per month. So January could have a value of 10, February 30, etc. etc.
I would like to have a horizontal line/series that is constant and shows the yearly average for 2008. So, say the average was 30 issues per month in 2008, I would like for that line to be shown in my chart. Basically, I want to draw a straight line across the chart for that value... I can see how to add more complex series, but this seemingly simple task is getting the better of me.
Doe anyone have any idea how this could be accomplished?
Thanks in advance,
Jason
[Update] To add some further details, I am already pulling the average for each row in my dataset and have it set up as its own series. However, rather than plotting a line, this approach plots individual points for each month. While this is close to what I want, I need to join the dots so to speak. The chart is of the Error Bar (Range) variety.
Can you use a column / line hybrid chart? If so then add a constant or dynamic target value to the chart:
Design the chart.
On the Data tab in the Chart Properties dialog box, add a new data value (for example, Target).
Set the target value (see the example in Figure 9 on link this uses a constant target value of 100000 across all categories but you can do it dynamically too). Make sure to use an expression starting with = (equals). Otherwise, the value is not interpreted as a numeric value.
See the example on the MS charts page at http://msdn.microsoft.com/en-us/library/aa964128.aspx
Add the yearly average to each row in the underlying the query. Add data series on just that value.
I managed to solve this issue myself.
As I mentioned, I was using an Error Bar graph. Right-clicking on the series of interest, I was able to change the graph type for that particular series - essentially leaving me with a chart with multiple graphs in it...particularly simple if you know where to look - which i did not! Thanks everyone for your suggestions.