Filtering a Select List Based on Another Select Link - amazon-quicksight

I'm using QuickSight to plot vehicles' trips on a map.
Every record has a VehicleID and a TripId. A given vehicle can have multiple trips.
I want to create two dropdown filters, one for VehicleId and one for TripId. When a user selects a Vehicle, I want the TripId dropdown filter to show only trips associated with that vehicle.
I've explored cascading filters etc but this seems to only allow me to target visuals for filtering, not controls.
How should I approach this?
Thanks.

Related

Filter Tableau dashboard by selecting a table column

I have multiple visualizations in a dashboard and I'm trying to filter all of these views based on various fields which are all specified in one of the views.
For example:
The first view is a table which has columns like University, City, Population, Tuition fees, Ranking, Growth %.
The second view is a graph which shows top 10 universities based on population.
I want to be able to change the second view to "top 10 universities based on ranking" when a user selects the "Ranking" column in the first view.

Tableau: How can I display the filtered value passed via an Action while drilling down to another dashboard, in the filter field?

I have several dashboards displaying employee survey data at different roll-up levels.
I'm using an Action to move from a summary of all employees, to detail on a single employee. So my filter is configured to pass the "Employee Name" to the next dashboard on click. So I can click on an employee from the list, and jump to the dashboard showing the summary of a single employee. This all works great.
The problem I'm trying to solve is that the drop down list filter for Employee Name on the Employee Detail dashboard doesn't adjust to the employee the action filters the list to, it still says (All). I.E. if I click on the record for John Doe, the jump and filter of the data works correctly, but the actual filter selector still says (All), rather than John Doe.
Is it possible to get the filter selection to update?
Once you have created an Action filter, you can show that filter on a dashboard just like any other filters.
Henry, because you have a filter on your dash, the action adds another filter but the only filter it's updated is the Action filter, in the image you could see the two filters updated only on the action filter... you could do so by using only dashboards filtering each others, because the dashboards always show the data in them, and you could make the action filters each other....
here is the dahsboard from the Regional Example Database of Tableau Desktop.

Implementing drill down in Kibana 4

Is it possible, and if so, how, to implement drill down in Kibana 4?
For example, lets say a dashboard has a pie chart which represents products.
Beneath that, there could be a table which shows component parts which are used to make products, together with supplier name, cost, availability, and other details. Clicking a product in the pie chart will filter the table to only show parts for that specific product. Selecting the supplier field would drill to another table showing the details for the supplier.
This requires that there be a multi-column table widget which would be used to display the details for each part, and that each column in the table could potentially be a link to another table.
In addition, lets say that there are three charts at the top of the dashboard. Clicking on each one should swap out the area below to display a table with a specific query and data columns relevant to the selected chart.
Is this kind of functionality abailable in Kibana?
You can mostly achieve this type of functionality in Kibana 4. What you'll want to do is create a search that has the fields that you want to display and save that. Next you'll create your visualizations that have the things you want to drill down on.
Finally, create a dashboard with all of the visualizations on it, and then also add the Search (when you hit +, there's a tab that says Searches. Choose your saved search there.
When you click on your widgets, it will start adding filters and refreshing the page, including your "search".
On the search widget that's on the dashboard, you can click on the rows and they will expand to show the fields. Next to each field is a +/- that will let you filter to that value or exclude that value.
I Think Kibi has this feature But again I think it is for relational database tables
Please refer to this issue
https://github.com/elastic/kibana/issues/4439

How to hide rows if one of the cells is a duplicate of the one above it

I'm trying to filter a contact list that contains each contact's name, company, email address, etc. As it currently is, the contacts are sorted by their company name and I have various contacts from the same company. I want to be able to have only one contact from each company.
Here's how the Google spreadsheet looks: . The company names appear in column G. Notice how "23andMe" appears several times? This is because the first 5 contacts work at 23andMe. I only want to have 1 of those contacts from that company in this list. Throughout the rest of the spreadsheet, I have numerous contacts at the same company.
How can I view only one contact per company? Should the formula hide the row if the cell in column G (the company column) is a duplicate of the cell above it? If so, what is this formula?
One method would be to use a helper column, and then apply the filter tool to the data. So something like this in row 1 of a spare column:
=ArrayFormula(IF(ROW(G:G)=1,"Display",IFERROR(ROW(G:G)=MATCH(G:G,G:G,0))))
which will apply TRUE and FALSE values according to whether that row should be hidden or not. Apply the filter (funnel icon second from the right on the toolbar) to the whole data set, and you can toggle the "Display" column to only displaying TRUE values.

GUI patterns to edit data with many-to-many relationship

I often run into a situation where I need to come up with a GUI to edit data that has a n:m relationship. I'm looking for user friendly GUI ideas.
[table1]
|
/|\
[table2]
\|/
|
[table3]
Usually the GUI resembles something like this:
Grid that shows all items from table1
Add table3 item... (shows modal window with table3 items)
Grid that shows all items from table3
After the user picked a table3 item, I add a new row to table2 and refresh the grids.
Disadvantages:
You can only add table3 items to table1, and not the other way around;
You can only browse table1 items and see related table3 items;
I need to have one filtered grid of table3 items, and a similar one to pick new items;
My question:
Does anyone know a better way to visually browse and edit data that has a n:m relationship?
Or any nice patterns that I could "steal" from existing software packages?
Solution 1
If the data sets are not too big, use a table and allow users to place checks in cells (table 1 is X axis and table3 is Y axis).
You can probably do this for larger table1/3 data sets as long as you allow users to filter or otherwise limit which values are displayed on x and y axis.
Solution 2
To quote from this page, "A many-to-many relationship is really two one-to-many relationships with a junction/link table".
As such, you can, as one solution, simply take your own solution and resolve your first 2 dis-advantages by having screens/dialogs to go table 1=>3 as well as 3=>1.
Not a perfect solution but at least provides all the needed functionality
Solution 3
Somewhat similar to your own solution:
Show a table based on table1, with:
B. col1 containing table1 elements
C. col2 containing a list of all elements from table3 already associated with this element from table1.
The list can be either horizontal if there are usually few elements associated, or vertical (scrollable) if horizontal to too wide.
The important part is that every displayed element from table3 has a "delete" icon (x) next to it to allow removal quickly.
Allow choosing which element from table1 you want to add mappings to.
There are 2 ways of doing this - either add a checkbox to every row in your table, and have one button labeled "add relationships to selected rows" (wording needs improvement),
or simply have a 3-rd column in the table, containing button/link for adding relationships to that individual row.
The former is a good idea if the user is likely to often add exactly the same set of element from table3 to several rows from table1.
When "Add" button/link is clicked, you display a filterable multi-select list of elements from table3, with "add selected" button.
As in your solution (see my #2), this is a-symmetrical so you should implement a mirror UI for mapping from table3 to table1 if needed.
This is an old question, but as I faced the same problem again just now, I came up with this:
2 grids, side by side, showing table1 and table3 items, with paging, if necessary.
Both grids have a top toolbar which allows filtering by a value from the opposite table. Depending on your data and your gui framework, it can be a drop-down combo grid, or an auto-complete text input.
Both grids have checkboxes (last or first column)
Both grids contain an inline button/action on each row, to automatically filter the other grid on that item.
Only one grid is shown/marked as "active" or "master" at any given time (to make it clear to the user, which side of the relationship they are viewing/controlling).
When you select an item in grid1, grid1 becomes active and all items in the other grid have checkboxes ticked if they are associated with the selected item.
Vice versa, when you select an item in grid2 (table3), grid2 becomes active, all checkboxes in grid2 are blank (or dimmed-out) and checkboxes in grid1 indicate an association with the selected item.
The filtering part is made easier based on the inline button described in step 4.
I believe this solution would satisfy all your requirements.
Here's a possible solution, given in the form of an employees-to-projects m:m relationship. Each employee can work on many projects, each project can involve many employees.
From left to right, you show the following:
A panel showing the details of the currently selected employee.
A list of all employees, where each item in the list shows the employee's name as a clickable link or button (to display details in the detail panel). At the head of the list is a toggle button which filters the projects list to only those associated with the currently selected employee. At the foot of the list is a button to add a new employee, which display an empty details panel ready to accept input.
A vertical space in the middle with a single "Link" button allowing the user to link the currently selected employee with the currently selected project. Clicking this button would open a dialog allowing the user to enter details of the link (i.e. how long the employee is assigned, what role the eployee will play, etc).
A list of all projects, where each item in the list shows the project's name as a clickable link or button (to display details in the detail panel). At the head of the list is a toggle button which filters the employees list to only those associated with the currently selected projet. At the foot of the list is a button to add a new project, which display an empty details panel ready to accept input.
A panel showing the details of the currently selected project.
Obviously, you'd have to limit the size of the details panels, maybe by only showing the details relevant to the m:m relationship. You might even add a button on the details panel to open a more detailed pop-up window, or you might do away with the details panel altogether, if you're mainly interested in managing the links. This UI would work really well on wide-aspect screens.
HTH! Klay
Let me use the One Customer Has 0 or many Orders relationship example. If user wants to see the Orders of particular form I would suggest the following Use Case:
The User clicks the Search Customer link:
The System presents the Search Customer Form having the search criteria to filter on
The User fills the Search Criteria and hits the Search button
The System presents a list of the Customer ... by the matched criteria
The User hits the Open button in front of A Customer
The System presents the Customer ( in totally new page with "Back to Search Button ")
The new Page has 3 panels - 1 panel for Customer Details , second Panel for the list of Orders and 3 panel which gets populated when a Order is clicked. If the number of Orders is greater than 20 I would put a Search Orders link which guides to entirely new Search form for Orders with a predefined CustomerId fixed with the current CustomerId selected.

Resources