I started working with Tableau and found out how to do waterfall charts (Gantt-charts, rolling sum for y-axis and negative value for length of bar. See here: tableau tutorial waterfall charts)
Now my question would be if there is a possibility to split the color by some category? To show what I'm talking about I set up some waterfalls with excel powerpoint. The first one without a split by a category and the second one with a split by category.
I would appreciate any help
It is as simple as dragging the right field to Color, and adjusting the table calculation.
If it's a simple running sum (for the positioning of the bar), you need to go edit the table calculation, select Compute using Advanced..., then drag all fields to addressing. Then you need to sort your data by the master field (in your case the one that has Coffee, Coke,...) maximum (ascending or descending, doesn't matter).
This way you guarantee that the running sum is being applied to one category at a time (at not one color at a time or something like that).
It's really important to understand the concept of table calculations so you can understand what's going on, how Tableau is calculating stuff. Read this http://onlinehelp.tableausoftware.com/current/pro/online/en-us/help.htm#calculations_tablecalculations_understanding_addressing.html
And if you actually understand what you're doing, it's easier to find a solution. For instance, this hack of Gantt Chart to make a waterfall. What goes on rows the chart will understand at starting point of the data, and what goes on size is, well, the size of the chart. You put negative values cause you want the bar to go down.
That being said, dragging a field to color won't mess up with the size, but it will mess up with the running sum used to determine the starting points. How to solve it? make it calculate all the colors together. How to make it? Understand table calculations and reach my solution.
This is the simple approach, if your database or fields have some peculiarity, this might not work perfectly, and you'll need to explain so I can try to understand how to solve
Related
I am kind of a newbie with Excel, so asking this question here. I have already checked some videos but the examples do not fit my need, so I am wondering if this is even possible.
I have a line chart with 10 data points, and for each data point I am currently using a built-in dot marker. The data values can go from 1 to 5, which corresponds to a net promoting score where 1 is "extremely satisfied" and 5 is "extremely satisfied": I would like to have an emoticon to represent each value, e.g. sad face for 1 and happy face for 5, and have this in a systematic way, so that every chart I generate will have these custom markers displayed depending on the value.
I would go with:
having a separate sheet with a table containing the values and the related images (not sure if this is even possible)
creating some sort of magic formula to link the data value to the image
apply the magic formula to the charts
Is this approach correct? Is this even possible?
Thank you.
I wanted to make a dynamic chart that plots out the graph of a standard curve for a bio assay we perform frequently. Often to boost the fit of the curve you may drop one or two data points on either end of the data set. So using vlookups and if statements I have a scheme that performs that data trimming, such that my data always starts in Row 1 and the column length simply shortens.
My table works great, but my xy scatter chart goes bananas on these changes. I have the plot on a log log scale, which looks fine if the full data set is present. I lose the x axis detail when I perform a trim. The x- axis then resets to range of 1 to length of my data set.
How can I prevent this?
UPDATE
I added some information. I know there are VBA ways to do this but I would prefer to keep the spreadsheet as simple as possible. I would think excel should be able to handle this.
So if I have a bad fit I may want to trim the data series either from the beginning or end of the data set. I accomplish that with the spinner buttons to dynamically change the table but the following happens
My formula that updates the columns looks like the following. Its messy.
=IF(ISNA(IF(VLOOKUP(F6,$C$4:$D$11,2,FALSE)+1>8-($B$5-1),"",INDEX(C$4:C$11,VLOOKUP(F6,$C$4:$D$11,2,FALSE)+1))),"",IF(VLOOKUP(F6,$C$4:$D$11,2,FALSE)+1>8-($B$5-1),"",INDEX(C$4:C$11,VLOOKUP(F6,$C$4:$D$11,2,FALSE)+1)))
In the formulas use NA() instead of "". Filling cell with "" does not result in a true empty cell and is the reason why you are experiencing issues with your chart.
Hope that helps.
I may be missing the obvious here, but just hard-code the graph with a range of your choosing. In the sample screenshot, making the graph auto defaults the max range to 100,000. I went in and hard-coded the maximum to 50,000 (circled). Afterwards, the 5th data point is not displayed in the chart. Doesn't matter what the data shows at this point.
I have the following table. Now, what I want to do create an XY-plot of each risk ID against X-axis = ProjectPhase (a risk can either be in phase 1 thru 4 and they're non-numerical) with Y-axis = Risk Factor (numerical). I want to color each risk based on its theme. Is this even possible?
I tried messing around the PivotCharts, but without any luck. I was able to get the X-axis right, but I couldn't figure out how to make Risk Factor = Y-axis.
What's the most efficient way of achieving a chart that I am describing?
I truly appreciate your help!
If your Phases really are named Phase 1 ... Phase n then you could simply drop the word "Phase" from the phase names and move it to the axis title.
The theme colours would need to be applied manually to each data point, if feasible (not sure how large your true data set is); otherwise, #Sam Hall is probably correct, that you need to handle this through VBA.
I have a table of data similar to this:
I want to create a bar chart like this:
But I get this:
or, when I add major gridlines, I get this:
However, I want a quick way to visually differentiate between the different quarters (Q1... Q4) by shading them with a different background color each or marking a border around them.
I don't want to export the chart as an image and edit it because:
1. This is a weekly report, it would be very repetitive and error prone.
2. It would be time consuming when I need to do it for 100s of records.
3. My manager prefers the data and the chart to be sent as part of the report. Hence, changing it to other formats is not possible.
Is it possible to create such a graph using Excel 2010? If so, how? I don't mind writing a macro for this, but am currently lost on the approach.
If you want to do something like this:
It's a bit tricky, but can be done. First you must add a fourth data series so you have the data like this:
Then you have to put the three "real" data series in the secondary axis. You must set the maximum values both in secondary and primary axes to the same value (30 in my example). Next, you delete the secondary axis. And finally, in the fourth series settings you let it overlap and put the separation to zero. Sorry, I don't know the exact english name of the settings, as my Excel is not in english.
I am facing this difficulty :
I want to indicate where my user is in a range of data in a chart, as well as where the average is.
That's not too difficult, that part I figured out already :)
However, if I have several charts in 1 report, my "user bar'" sometimes gets a different color, according whether it's below or above average.
This is very confusing for my users, because they can't think, let's say, "the yellow bar is always me".
The legend always has to be read, and that's not so user-friendly.
I'll illustrate the problem in an attachment.
I know how to have the same series color, but within this series, I want 1 particular color to always represent the value of the average, another to represent my user, etc.
Is this possible ?!
Thanks a lot in advance.
IMAGE CAN BE FOUND HERE : http://www.kava.be/cms_bldn/jaspercharts.jpg
EDIT: I'm working with the ChartCustomizer now :
BarRenderer renderer = (BarRenderer) chart.getCategoryPlot().getRenderer();
renderer.setSeriesPaint(0, Color.blue);
renderer.setSeriesPaint(1, Color.yellow);
renderer.setSeriesPaint(2, Color.green);
renderer.setSeriesPaint(3, Color.red);
Still, this handles the series in the order they arrive from the resultset.
What I'm looking for is how I can use the series expression (as entered in 'series expression' field in the categorie series dialogue), instead of fixed indexes like 0-3.
I would suggest checking whether the sequence of your series is same in both the chart's chart data, plus color series in chart properties is also or not.
If it is same than it should print same.