These are dimensions that are related, so that making a selection on the higher order (eg, "Continent") dimension selects the dimension values that are displayed on a lower order (eg, "Country") dimension.
The data importing routine can be modified to support creating these on import. For example the Our World in Data coronavirus database https://covid.ourworldindata.org/data/owid-covid-data.csv has a column for "Continent" as well as "Country". It should be feasible to mark these as Conjoint, with Continent the high-order and Country the low-order dimension.
Time can also be handled this way: Decade contains Year contains Month contains Day, etc. However, if the data doesn't contain the structure--if the imported file doesn't have separate identifiers for Year, Month, Day etc but simply a composite date string--then there would need to be some fancy footwork on the right-click axis menu to enable replacement of an existing time dimension (say Quarter) with a higher order one (say Year). All the data reduction operations--Sum, Average, Min, Max, StdDev--would need to be supported as aggregation methods.
Playing with a sample Pivot table file in order to fulfil Mari's request for a Ravel valuation, I realised that this feature is actually what a lot of Pivot Table users apply. The attached pretend data file illustrates this. The data column Region is conjoint with City (or in more obvious language for novice users, City is contained within Region--maybe we should use contained rather than conjoint here), the data column Product is contained within Category.
On import, we should make it possible for users to specify that one dimension contains another. This would have two impacts on Ravel manipulation.
The easiest one is that selecting the containing dimension would limit display of the contained dimension: so if you chose the CONTINENT "Asia" for a house price database, only cities in Asia would be displayed on the CITIES axis.
The more sophisticated one--and this relates to how people seem to use Pivot tables--is that the display of the CONTINENT axis could be expanded to show CITIES within continents.
Playing with a sample Pivot table file in order to fulfil Mari's request for a Ravel valuation, I realised that this feature is actually what a lot of Pivot Table users apply. The attached pretend data file illustrates this. The data column Region is conjoint with City (or in more obvious language for novice users, City is contained within Region--maybe we should use contained rather than conjoint here), the data column Product is contained within Category.
On import, we should make it possible for users to specify that one dimension contains another. This would have two impacts on Ravel manipulation.
The easiest one is that selecting the containing dimension would limit display of the contained dimension: so if you chose the CONTINENT "Asia" for a house price database, only cities in Asia would be displayed on the CITIES axis.
The more sophisticated one--and this relates to how people seem to use Pivot tables--is that the display of the CONTINENT axis could be expanded to show CITIES within continents.
Here's a sample data set with a Ravel import of it.
This is an example from a Tableau video of what PC Express calls conjoint dimensions--which we could call contained dimensions). In Ravel, it would mean that a Sheet (or plot) could be multidimensional in 2 dimensions: so if you fed a Ravel with Category and Sub-category and order date as here, the container dimension would be the first column of the Sheet and the contained dimension the second column.
It might also be possible to use the idea I gave in #289 Plot and Sheet Arrays: there would be 2 options here, show them on one sheet (as done here) or display each on a separate sheet in a 2D view of the sheet (so there would be 3 mini-sheets within the one view here), or 3D, so that the first would be Furniture with 4 rows (Bookcases, Chairs, Furnishings, Tables), the second Office Supplies with 9, etc.
The more I play with Tableau, the more I think this capacity needs to be in the first commercial release of Ravel otherwise it won't do something users expect it to do, from familiarity with Tabelau or Pivot Tables in general, and therefore wouldn't continue with Ravel.
Ticket moved from /p/minsky/ravel/159/