Handling more difficult source spreadsheets

Consider what could happen if the first spreadsheet example had the year axis in the 3rd column, instead of the first. It is very clear to the human operator of the spreadsheet that Year is meant to be a third axis of the datacube, as years and sales are not two items of the same thing, but Ravel will instead assume that Year and Sales are separate slices of some unnamed third dimension, because both columns contain numerical data. You can force Ravel to have the correct interpretation by pressing the "context button" (usually the right mouse button) on the Year column, and selecting "Make column a Ravel axis".

More precisely speaking, "Make column a Ravel axis" indicates the right-most column of the slice labels. Everything to the right of that are data columns. Similarly, one can specify the rows which contain slice label data, of which there may be more than one. For example

The text in the columns is coloured in blue to indicate the boundaries between metadata (dimension names and slice labels, or coordinates), and the actual data.

Year   1990       1991      
Quarter   Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
Country Gender                
Australia Male 612 3060 2012 535 1036 833 2045 4013
Australia Female 734 1296 456 3456 220 2102 21 623
UK Male $\cdots$
UK Female $\cdots$
$\cdots$            

This example is available as RavelEx3.xlsx. When newRavel is run, a separate axis is created for every quarter! If you open the input sheet “Sheet 1”, you will immediately see the problem — all text is colour blue, indicating that the automatic algorithm failed to determine where the metadata stopped and the data started. By selecting the context menu on column B and selecting “Make column a Ravel axis”, and then also selecting “Make row a Ravel row on row 3, you will see the meta data coloured blue, and the data black, and four axes showing in the Ravel window (“Year”, “Quarter”, “Gender” and “Country”).

Ravel will normally treat rows with a single non-vacant cell as a comment. However, you can also manually indicate that rows and columns are comments using the “Ignore row/col (treat as comment)” context menu item.