Generating dynamic displayed annotations in Tableau dashboard - data-visualization

Given the impressive flexibility of the platform, I feel certain there is a way to accomplish this but I'm having trouble putting it together. I have a dashboard in Tableau that is comprised of two data visualizations. On one sheet I have a bar graph of sales by category that is filtered by Month/Year of sale, pretty straight forward. On the other sheet I have a simple line graph of totals sales over time. This gives the user context for the sales per month they see represented in the bar graph.
What I would like to achieve is this: When a user changes the Month-Year filter for the bar graph, I would like an annotation to show up on the line graph that highlights that month in the overall sales data along with some summary stats (total sales, average order price, etc.). I have been reviewing the following dynamic annotations concept http://vizpainter.com/dynamic-annotations-part-3/ but I don't think it will get me where I want to go. Any suggestions would be greatly appreciated.
Thanks,
Ryan

There are three things you need to learn how to use in Tableau: Tooltips, Annotations and Worksheet actions.
Most data can be added to a tooltip and formatted however you want. Tooltips will appear dynamically when you hover over parts of the dataviz. If you want permanent labels then you can use Annotations (which can be attached to a data point or area and can contain dynamic data).
Worksheet Actions allow events on one sheet to trigger changes in what is shown on another. For example, a selection of worksheet A can Highlight an area on worksheet B, which is what you want.
The best way to learn how to use these is to follow the online documentation and help. But the first step is knowing what to look for. Search for Tooltips, Annotations and Actions in the online help.
As an alternative look for examples using these tools on Tableau Public. Here is a link to a dashboard that uses Actions and Dynamic Tooltips to explore the popularity of UK childrens' names: https://public.tableau.com/shared/NCJ6F59B9?:display_count=yes
Feel free to download and explore how actions and tooltips are used.

Related

Track clicks on a button based on preceding button clicks

I need to track clicks on a button at the end of a sequence of selections. As shown in the image, there are five different business plans (circled in red), and each plan can be for three different years (highlighted in blue). The user will checkbox a business plan type (e.g., market trend) and click a year (e.g., 2017), then click the PDF button (highlighted in black) to download that particular plan (market trend for 2017 in this case).
So instead of counting the total clicks of PDF downloads, the task is to count how many times a particular plan is downloaded based on the plan type and year.
The PDF button, the checkbox for each plan type, and the click button for each year all can be tracked individually. They are also all on the same URL.
GTM and GA are used for tracking. Can anyone share some thoughts of how to achieve this type of tracking?
Thanks!
Yao
If you are using google tag manager you can use dataLayer.push() to push to an array which can be used to differentiate the clicks based on the interaction.
Approach is described here
Google Analytics custom dimensions
In your particular case you could have the dataLayer configured to add the different key / values for the different report components and then the trigger will be configured to fire when the download button is clicked.
For example on each of the check boxes you could have:
<input type="checkbox" onclick="dataLayer.push({'plan_component': 'Market Trends'});">
You'd probably better having an array to store this info.
The resultant data can be viewed or aggregated via a custom report download. Described here.
Custom Dimensions and Metrics
It can be a bit tricky to understand and you'll need to change the site so that the dataLayer gets populated with the requisite data but this is the way to go. Best of luck.

Power BI Visualisation and Formating

Hi There I'm quite new to Power BI wanted to ask some advice on a Approach for visualising some data.
1) I Would like to Group together some values to display as a indicator (green or red) depending on the value.
for example:
VM Running= green
VM Deallocated= red
2) and to also list all machine names from the dataset into the report under each indicator
and example of the actual Test data is below i would like to visualise:
and an example of the visualisation i want to create:
Any Advice on Approach or how to achieve this in MS PowerBI?
Thanks!
To get exactly what you want, I think you would need to create your own custom visual.
Since creating a custom visual takes some time to figure out, I explored options with existing resources and I was able to create something close-ish to what you want. To get the custom visual into your report, click on "Home" -> "From Store" (in the Custom Visuals group)
In the dialog that pops up, search for "dot plot" and click on "Add" by the "Dot Plot by OKViz" visual.
You will now see a new icon in the visualization panel.
Before we use that visualization, let's look at the data I used. I created some sample data similar in structure to yours and then added one column using the below DAX formula.
Value = RANKX(Attendance, Attendance[Class],, ASC, Dense)
Now we create a new dot plot and fill in the fields as show below.
That results in something that looks like this.
You can then change the black circles to red, by clicking on the paint roller icon between the Visualizations panel and the data panel.
From there, it is up to you how you want to present it. I did some additional tweaking to the formatting and added some cards for the class name (configured as shown below)
In the end, it could look something like this.
You could also split it up by class (group) and get something that looks like this.

SSRS report, is there a way to switch templates based on configuration?

I have been googling for a good description of this but am not having much luck. I am pretty new to SSRS reports and I am probably not using the correct terminology here. If someone could point me towards an article that describes this that would suffice.
Basically I want to pull a bit into my report, and based on the value of that bit (or maybe a varchar) I want to render an address in different formats, or add/remove some sections completely form the report. I suspect this is basic functionality but am having trouble finding an example. Any help would be appreciated!
Thanks!
If you have a table/matrix the best place to put stuff like this is in columns that are outside of the detail or any groups at the top of the table. You can merge all the cells and add rectangles to add specific formatting. The neat part about using header columns is they can be hidden and the space used will not be rendered.
Say you have a table and Row1 and Row2 contain different formatting of the same data. If you have a report parameter named ShowFormat1 then you can optionally hide/show the correct row with formatting.
Click Row one and Set its Hidden property to =!Parameters!ShowFormat1.Value
Click Row two and Set its Hidden property to =Parameters!ShowFormat1.Value
The same concept can be applied to all elements if you are not using a table or matrix. Non-repeating controls, Rectangle or Image for example, can be hidden but the space used will still be rendered.

Get Geolocations from SQL database to be used in Bing Maps

Basically I have a set of geolocations and other information corresponding to each point in a table in a SQL database. I have a Bing Maps website with checkboxes to set different filters for which geolocation pins should be displayed. I'm basically wondering how I can most efficiently query the database and update pins on a map, based on given checkboxes.
Alternatively, as requerying may be expensive as the table size increases, how could I load the entire database and only display certain pins based on the selected checkbox filters?
When researching this I found answers regarding GeoRSS files, but those solutions are specific to points that are all loading at once and that will continue to stay in view. It doesn't seem like filters can be applied in this process (without further requerying).
EDIT: When I say 'filters' I'm basically talking about narrowing down the currently displayed pins by things like the date the geolocation was recorded, and various other things that will use checkboxes. Let's say I have a list of restaurants and they each have their ID, geolocation, date added (to the database), and a foreign key for their type of food. I'd like to be able to select through the available food-types to limit results to Italian and Mexican restaurants but still provide the functionality of showing Chinese restaurants with the click of a button.
And to make it easy, I'll initially take all database entries in.
You could use an SSRS Report with a Map Control to display the info on a Bing Map. That way you can use an expression in the "hidden" property of the marker to determine whether or not to show the pushpin and map your checkboxes to parameters.
See
http://technet.microsoft.com/en-us/library/ee240845.aspx for using a map control.
If SharePoint is an option you can have a completely interactive experience with PowerView.
Here is an introduction http://office.microsoft.com/en-gb/sharepoint-help/maps-in-power-view-HA103005792.aspx

Listen for Table Filter Activation

I have a table that has a series of filters across the top of it (as per usual.) This table feeds a massive graph that has multiple series of data in it. In order to hide different series of data I have grouped the information in the tables. I can then click on the minus button to remove a series of data from the graph by collapsing the group, or click the plus button to add it back in the same way. Yes, I know, not the best solution. It was an early effort, what can I say? My default is for all data to be hidden (all groups collapsed).
I have a user (a very important user) who wants to be able to use the filters across the top to find the specific series they are looking for. The filter will find the collapsed series just fine, but the series will not display because it is collapsed.
So, What I'm trying to do is get all groups to auto-expand when the filter is activated. This should work as a stop gap measure until I can simply redesign the chart.
The Problem: I can't figure out how to make Excel notice when the filter has been clicked on (or otherwise used). I've tried using Worksheet_Change and Worksheet_SelectionChange, but neither of them activate the code I have set up in the listener. That code, FYI, checks to make sure the filter is in use and adjusts the groupings accordingly. It should work fine if I can just get Excel to notice it's existence.
I've looked into making my own listener, but there's nowhere in the code I can insert it to make it activate. I just need a listener that will notice when the filter has been changed.
Any thoughts? After an hour of searching I'm stumped...
Okay, after some research I figured out a work around. The big problem here is that changing a filter does not raise any events that can be heard by VBA. Big problem.
Simple Solution: Create something that will activate a listener.
What I ended up doing was finding a cell somewhere outside of my table that wasn't going to be affected by the collapses, then I added a very simple formula (=Count(H:H)). Now whenever the table is collapsed the count is affected which activates the Worksheet_Calculate listener. And voila! I can dynamically change the groupings all I want :-).
So there you have it. If you need to detect a filter being activated via a Worksheet listener, you just need to set up a formula to activate the calculate listener.
Reference: [MSDN Article on the same thing].1 There is apparently a much more robust way to fix this problem as well which is detailed in the article.
You mentioned table, so assuming it's PivotTable you may try,
Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
If it's simply a Targe Range change then,
If Intersect(Target, Range("A2"))