Need more control over Pentaho PI chart slices - charts

Pentaho gives you the option of easily generating a PI chart using it's report designer. I have a query that can return the following values
Over Inflated
Under Inflated
Within Specification
These values will each represent a slice within the PI chart. I have two problems.
Problem number 1
I have a query returning the following,
Over Inflated
Within Specification
Within Specification
Over Inflated
Over Inflated
Over Inflated
Note that the results do not include a single value that is equal to Under Inflated. This will result in a pie chart as indicated below.
I need the pie chart to indicate to the user that there is also a third slice represented within this chart (Under Inflated). Even though the value for Under Inflated records is 0%.
Problem number 2
Pentaho gives you the option to specify the colors of the slices. I need to link the colors of the slices to a specific value. For instance Over Inflated should be displayed as red, Under Inflated should be displayed as orange and Within Specification should be displayed as green.
Is there any way in Pentaho to do this?

There is no easy way to bind colours in PRD other than by ensuring the data is in a consistent sort, and defining the colours in that order - i.e. it wont always work.
However saying that you can bind the actual data values if you use a beanshell chart processing script.
To get the 0% slice appear you just ensure your data set returns it. So the best way to do this is just to outer join from your dimensions to the actual data, then you'll always get the 3 values - even if one is zero.
If you want more/ultimate control you could move to ccc charts. PRD is moving to ccc charts in the future anyway - but unfortunately the only way to use these currently would be to link via CGG - not a perfect scenario (not least of all because that needs a running server too). But a possibility.

Related

How can I filter over a bar graph data while showing the average of the entire data set?

I am making an interactive dashboard in Tableau that looks something like this:
https://public.tableau.com/app/profile/monica.ionescu/viz/ExploringHIVStatisticsinSouthAmerica/Dashboard1?publish=yes
(for your best viewing experience, please view the dashboard in the fullscreen view - button on bottom right corner of the board)
I need some help with the bar chart.
I currently have a reference line in place to mark the two averages so that they don’t move as I filter through data. When using the average line feature, the filters on the left change all the graphs on the dashboard in real-time (and thus the average with it). So, it seems like the average line is built from the data points currently on display rather than all the data points in our data set.
I want to show the averages on the bar graph as they are in the image (a constant for the whole data set) without having to manually set the average each time I add/update the data.
How do I make it so that when I change the filters, the bar graph changes but the average stays constant?
Thank you so much!
You can self-blend the data sources - duplicate the data source, but DON'T join any fields/set up relationships. The lack of join can make the secondary source act as a constant.
Alternatively create a FIXED calculation to calculate the average. This should also act as a constant - just make sure none of your filters are in context.

Show Separate Mark Labels alongside Measure Value Labels

(source: tableau.com)
I'm using Measure Values for combining two measures:
1)Count of Clients (As a percentage)
2)% Retention (Calculated field which uses another calculated field called Numerator Retention in it's formula over the total to calculate the %)
Measure Value Mark Labels successfully show the respective percentages for the two measures. Now I wanna show the respective count of clients or numbers behind these percentages but I'm unable to do so since I've already used Measure Value Mark Labels to do something similar.
When I try editing the Labels text, it edits it for all labels together and hence I'm getting all labels for all rows and not how I want it to show selectively as I described.
Example Solution: For Private Residence, I only want 125 to show with 60% which is the actual number behind the percentage. And I want only 119 to show with 95%
You can do this, but not using Measure Values. You should mirror what I have done here. I do not know your calculation for the Respective Retention, so use your calculation.
You need to move both of your measures to the Columns shelf and make them a Dual Axis:
After doing that, you will have access to the individual measures - so you can give labels independently:
Just make sure you place the measures that you want for each axis respectively.

Tableau and modified Sankey diagram

I have been trying to recreate a modified Sankey based on Adam's work with the American Whiskey Viz and Beatles Analysis Viz that are found here:
https://public.tableau.com/s/gallery/beatles-analysis
https://public.tableau.com/s/gallery/american-whiskey-wheel
I am trying to create the same effect on my own data set. I am not sure how Adam was able to line up the sankey portion with the bar chart perfectly. I have tried many different ID2 field configurations and varying metric fields in the Curve calculated field options with no success. I haven't been able to get them to line up exactly. I would also like my bases to start in different locations along the sankey and not all originating from the left.
I realize that the examples are working with much smaller data sets but believe that this should still be possible with my data. I have tried Business ID in my curve formula and wondering if I need to have a more generic metric in my model. Andy uses Song ID which is a number between 1 and 45. My IDs range from 3-3000. You can see in the workbook attached how I am setting up these fields to get the curve of the Sankey. Is it possible to get them to line up with the barchart at the top of Dashboard 2?
UPDATE 3/22/16:
I was able to get the lines much closer to their bars by modifying the Curve-LoyaltyID2 field. I loaded it to Public for easier viewing. Some lines are still not aligning directly to their corresponding bars though.
Tableau Public
Thanks for any ideas you have!

GANTT Chart with Shapes

I'm trying to create something like a GANTT Chart where I would have start dates and end dates designated by a shape like a diamond and then the period of time in between connecting the start and end date shown as a line connecting the shapes. Does anyone have any tips on how to do that in tableau?
For data I have an identifier column, an event column, a date column, a start date column, and an end date column.
To make a basic Ghantt chart in Tableau, put the start date on the column shelf, convert it to continuous exact date. Put the identifier on the row shelf and change the mark type to Ghantt. This should get a short bar at the start date of each task, with a row per task (assuming the ids are unique per task).
Now you need to specify how long the bars should be by putting a field showing the number of days for each task on the size shelf. You can create a calculated field to compute those durations as datediff('day', contract_start, contract_end). Place that on the size shelf and you should be off to a decent start.
You can add more info to the tool tips and use color to show contract type or something else. add some reference lines by right clicking on the axis. You will need some tweaks in the calculated field to deal with things like null (unknown) end dates, maybe recurring tasks ...
If you want a few milestone markers, you can use reference lines or point annotations to add them by hand easily.
Or if you want to include milestones as shapes with your data, you can use a dual axis chart.
Here is an example showing how to combine shapes and bars into one char. The details vary slightly depending on how your data is organized, but if you examine how the data for this workbook is organized, how the data connection joins the tabs, and how the workbook displays the data, you should be able to adapt the approach to your own data. Just realize sometimes it is easier to revise the way your data is shaped to make the analysis simpler.
Also, you might want to consider if you need both planned and actual dates.
See also
Gantt over time with summed bar

SSRS sparkline with small difference in values

I have created a sparkline in SSRS. Since the values are small i get a straight line graph How do i improve the sensitivity of the graph.
the difference is like for every month
60.06
60.40
60.14
You need to look at the Sparkline Vertical Axis Properties.
Testing with data like yours and a simple Tablix/Sparkline I get results similar to yours:
Opening the Vertical Axis Properties I can see Always include zero is checked by default:
Unchecking this option has a major effect on the sparkline:
So this is one way of doing it. Other than that changing the Minimum and Maximum values here will also have an effect - you just need to play around and find the right combination for you.