I had a similar requirement recently and the action Filter fixed it.
From what I understand, when the user is redirected to back to Original dashboard , it is not working.
Can you attach a sample workbook.
(I have a support case open where I pass parameter values via URL in a hyperlink action. The parameters get passed. I know it because the display of the parameters in the new URL show the correct values, but the parameters do not impact the sheets on the new dashboard.)
I don't have time to look at this one today to see if it is related to my issue, but I'm making a reply here to remember to get back to this tomorrow.
You could but as to the requirement of the project, the dashboard must redirect to the worksheet via crosstab. I've presented a dashboard to him similar to this but he said no.
Thank you Joe! I'd appreciate it!
(Note to self: V 8.2 workbook)
I see what's happening here.
First of all, if I understand correctly, when I go from Dashboard1 to the "Worksheet" worksheet, I get there OK, but if I try to change the time unit there, the sheet goes blank. If that's what you're asking about, this is what's happening:
You are passing "All Fields" in the filter action. That means that you pass the value of [timeunit], which is set to whatever it is set to when you are on the dashboard. And the filter causes Tableau to grab only those rows that are [Year] or [Quarter], etc. Then when you are on the worksheet, the filter-action filter (designated as "Action (timeUnit)" on your filter shelf remains in effect. It's sitting there saying to get only a certain type of row. And when you change the parameter value to get something else, Tableau is looking for [TimeUnit]=[Year] AND [timeUnit]=[Quarter], and of course there is nothing like that in the data, so your sheet goes blank.
To demonstrate this, when you get to "Worksheet", right click on "Action(timeUnit) and do "Show filter". You can see what tableau has in there. Right now I'm looking at it. I was on "Month" and clicked an August 2012 cell. In Worksheet I am seeing August 2012 data. When I do show filter, I see Month YYYY values in the filter value. And Tableau's filter logic has that set to August 2012. Now select "Day" The filter changes to MM/DD/YYYY values, and none of them are equal to "August 2012" (obviously.)
Let me ask this: If you have gone to "Worksheet" and you pick a different time unit, what do you expect the user to see? When I get there via "Month" what do you expect the user to see when he changes the time unit to "Day". Or, going in the other direction, when he changes the time unit to "Year"?
Something to consider... You could expose the filter to the user as I described above. When Time Unit changes, you'll get the valid values in the filter list and the user can click one and see the data in the new time unit selection.
Exactly! I noticed that the filter is only getting passed the value of the parameter sent from dashboard and when the user tries to change the timeUnit value, it goes blank. What I'm expecting is that when the user gets redirected to the worksheet, whatever value they change for the timeUnit parameter, that the worksheet's data is reflected to that change.
Example: User is on the dashboard, changes timeUnit to "Day" value. Then user then clicks on the one of the elements in the cross tab and gets redirected to the worksheet. The user then decides, "I want to view hourly data on these KPIs". The user clicks on the timeUnit controller in the upper right hand corner of the worksheet and selects "Hour". The worksheet should then display the graph sliced by "Day" timeUnit data.
I just wonder if there a work around that will perhaps include all values for the action(timeUnit) filter without having the user to go in there and click on the "Use All" radio button.
I think I understand what you are saying. If I right click the Action(timeUnit) filter pill and select "Show Quick Filter" (exposing it?), it will create a list in which the user can select specific times.
I think this is what you are talking about. I'm not sure if this would be a feasible option with my team lead. It does make sense to me though, if the user clicks "All", then all the data will be displayed with the correct values for the filter selected but I think there should be a more automated way for the action filter to determine which values to choose. I hope this is what you mean!
If you want the user to click a crosstab cell and get the "Worksheet" viz with that specific time unit's data, you have to pass that value. Something has to get passed. And because it's a filter, that's what it's going to do on that subsequent sheet.
Workaround? I think you'll need to approach this differently. And a different approach will depend on what behavior you want to see on the second sheet when the user picks a different time unit.
Just a caveat: This is a recurring problem. Tableau treats a DATE field as a hierarchy. You have bypassed that (cleverly) in your approach. Trying to let the user select different time units messes up logic and behavior that are based on certain internal operative structures under the hood.
So I'll ask again: When I'm in WORKSHEET and I got there using "Month", what doe your requirements expect the user to see when he changes to "Year"? Or to "Day"? Which day should he see? All days in the month I selected from the dashboard? Or all days from the year I selected from the dashboard? The expected behavior will dictate how you might want to re-approach this design.
As for messing with the filter, yes, that's what I meant. And no, there isn't a way to automate that. The behavior of an action filter requires that certain things behave certain ways.
So are you hinting that if we're in the sheet via August 2012 from the dashboard, and then if I select "Day", then umpteen orange-and-green pairs should show up for all the days in the data source?
When I'm in WORKSHEET and I got there using "Month", what doe your requirements expect the user to see when he changes to "Year"? Or to "Day"?
- When the user changes the value to from Month to another value (e.g. Day), the data should be filtered by that new value. The timeUnit dimension contains several units of time (i.e. Month, Day, Year) that are calculated fields that have been defined outside the Date object.
Example: User changes from Month to Day. The graph should now display information from the date range defined by the startTime and endTime parameters, sliced by Day value that references the Day calculated field. The Day calculated field was created with the following:
Which day should he see?
- He should see all days specified from the range determined by the startTime and endTime parameters. They should be grouped by day if and only if the user selected Day, Hour, Minute or Second from the timeUnit controller.
All days in the month I selected from the dashboard? Or all days from the year I selected from the dashboard.
- All days from the date range determined by the startTime and endTime parameters. These too were passed from the dashboard but they can be tuned to a different date in the worksheet.
I hope this answers all the questions you specified. Please let me know on how I can clarify more if needed.
That changes the entire game!
I changed the [Date Filter] calc to grab dates based on the parameters. (I edited the parameters to have values within the dates in the data set we're using.)
I changed the action filter to have NO selected fields. Just go over to the sheet. the parameters will control the data displayed, not the action filter. Now you can change parameters once you get there.
The one thing we're NOT getting this way is the initial display of just one time period that was clicked on from the dashboard. Is that essential?
Sample 2.twbx 355.5 KB