There have been a few different ideas along the way for making the interface for table calculations easier to use with regards to partitioning:
(and at least one more post in the old forums that I can't find)
I think Tableau could go a step further. I'd like to expose as much of the table calculation configuration as possible to direct user manipulation, so the process of "Select the table calculation pill->Click Edit Table Calculation -> Click Advanced... in the Compute using drop-down-> twiddle fields->Click OK->See what happens->Scratch head->Come up with another idea->Repeat" can be much more visual and speed up the iterations. In addition, this interface could show some things that aren't so apparent right now, like how important the ordering can be, or how all the other fields in the view affect padding, or how useful sorting can be.
The "apple falling from the tree" inspiration for me came when I was watching Bret Victor's Inventing on Principle talk (totally worth the 1/2 hour for anyone ever designing an interface):
The current table calculation configuration interface with multiple levels with various options is an excellent example of the point Bret makes that the best programmers are the ones who are the best at playing "be the computer". To manipulate table calculations requires some extremely abstract thinking because the current view only displays the results and not much of how Tableau got there, so the people who write table calculations have to get good at playing "be Tableau." I think Tableau can expose more of the magic of table calcs and let the user be themselves.
Another inspiration for me is the layout of the Table Calculations Primer PDF, particularly all the diagrams of partitioning:
Why not users *see* that partitioning on the screen, and manipulate it just as easily as they already do all the other elements of the view? I propose adding some new views of table calculations within the Tableau interface that would let users drag and drop pills to change the view and the table calculations.
Caveat: This is not a feature-complete replacement for building table calcs, I haven't spent that long on this and there are details to be worked out, for example how to deal with nested table calculations, how to show the level and "Restart every". My hope is to stimulate some discussion and get the brilliant minds at Tableau to finish this off.
Table Calculation Card
I started with creating a "Table calculation" Card that would be selectable from the table calc pill context menu, a menu item, etc.
This card shows all of what can be set in the Advanced view of the table calc. All of the pills used in addressing and partitioning would be shown here. Users could drag and drop the pills from one to the other, or even out of the view (to ignore them in this table calc). As the user manipulated other parts of the view that affect addressing and partitioning (Row, Columns, Level of Detail, Color shelves, etc. ) then the pills shown here would automatically change. The order of Addressing and Partitioning is explicitly made clear by the order of the pills, and the Order Along is clear as well.
The (Table Across ) with the down arrow is a convenience tool for users to automatically set up the addressing and partitioning using Tableau's addressing & partitioning defaults. This would also help users learn the defaults because they can immediately see in this card what Tableau is doing, whereas the current 7.0 interface requires users to hover over the Table calc pill to get an English language translation of the partitioning and addressing. Another advantage to this interface is that it makes very clear what parts of a date field are being used where, which can also be confusing to users. The (Table Across ) would show something like "Advanced" or "Custom" when the users customize the addressing and partitioning, and there should also be something like a "Reset calc" option to go back to the default addressing and partitioning.
(A thought for nested calcs is the Card title at the top would show a drop-down when there is a nested calc.)
The Live - Partition - Crosstab controls what the table calc view is.
Live Table Calc View
The Live view shows the active data and view. The table calc pill that is being edited changes color so it's visually highlighted for the user. I used the same color for the background of the Live/Partition/Crosstab selection, there might need to be a HUD overlay on the view (like the Nulls display in 7.0) to show this instead/as well. As noted, when users drag and drop fields on Columns, Rows, Color, Size, Level of Detail, etc. then the details of what is shown in the Table Calculations card would reflect the changes and the displayed view would change. Likewise, when users moved pills around on the Table Calculation card the view would immediately change.
For large datasets, the user could use the turn updates off/on functionality when moving the pills around, or work with one of the other table calc views.
In this view, the partitioning is being shown, with the addressing pills highlighted in orange and the partitioning fields in blue. The arrows in the detail of the view show the size and "direction" of each partition, similar to what is shown in the Table calcs primer PDF. One thought is to complement this with something like the Abc that shows up in a blank view that shows how Tableau is padding data and where there would be empty data.
It might be more useful to have this kind of view just be an optional overlay to the Live and Crosstab views.
This view shows a cross tab of the results of table calculation in the current context. When multiple results are returned, then Tableau would display overlapping text like it does currently. This would give users a tremendous amount of feedback about their calculations and help solve problems where a table calc seems to work fine in a user-built cross tab and then fails when brought into the view due to Tableau's padding or other cases. Also, the ability to do drag-and-drop partitioning and addressing would make table calculation operations incredibly transparent.
A thought for working with pills on the Color, Size, and Level of Detail shelves is that they could be shown as additional headers in the cross tab, so that way the result every mark could be shown in the cross tab.
I think an interface like this could give users (well, users like me, at least) the same kinds of feedback, "a-ha!" moments, and delight as other parts of the Tableau interface, and expose the power of table calcs to many users who need some assistance to be able to see the "magical" manipulations that table calcs can make.