Robertson Logo Graeme ROBERTSON Ltd.







Space & SuperSpace
Get a Better Grip ...
Joint Venture
Other Products
Publications
Business Systems Research Products Philosophy     

Space bannerProgrammable
Multidimensional
Space

Programmable, multidimensional Space is a system for manipulating, editing and viewing large volumes of intrinsically multidimensional data.

Every large company has huge volumes of accounting data. This data is inherently multidimensional because each element of data can be associated with a point in a space of more than one or two dimensions.

Consider the revenue accrued from selling one particular model and colour of motor car at the Ohio show rooms in February 2007. This $ figure fits naturally into a space of four dimensions: model, colour, location and month. This is how you will think about your data when you use this application.

Here we introduce the system through a fictitious example of the accounts of the Ford motor company. We look at a 5 dimensional demonstration file called Ford5D.Vol that has been created already, and then we show how you would create a database yourself from scratch.

On starting Space.exe, you are asked to enter a password. This is blank by default but may be changed to something else if required. Just hit OK for now.

This is how the password screen looks under all screen resolutions in Space Version 1.1
 

Then the main system opens up, with a standard set of menus.  From the [File] menu, select [Open] and find the file Ford5D.Vol in the ..\Data\ directory.  (Actually, you can open more than one file in one go.)

 

The Coordinates

A window opens showing the labels associated with each of the 5 dimensions.  The Years dimension has 6 items in the list.  Clearly these label the 6 years worth of data in the database.  The Months dimension identifies the month.  The Product dimension identifies each product, and also contains a subtotal relating to all the trucks for sale, and a grand total for all vehicles.  Similarly the Factories dimension identifies the factory that produced each vehicle and a grand total over all factories.  The fifth dimension contains the accounting items.  This dimension has some more complicated calculations.  For example, the Cost of Goods Sold is equal to the Average Unit Cost times the Sales Volume, in this model.

 

Arrays of Data

If at this point the Array tab is selected then a report is presented with the dimensions that were under the Row button placed on the rows of the report, the dimensions that were under the Column button placed on the columns of the report, and the dimension under the Page button placed in a combo box at the top of the report.

Some columns have been formatted differently from others, and data has already been entered into the database.  You can format items on one particular dimension by right-clicking on the chosen dimension list; at this point the text of each item may be changed.

To specify the formatting of each item, click on the format column. This switches the format column to the first position.

Double clicking on one particular item brings up a popup box that allows you to specify format details and colours in the Array view.

Right click again on the list returns you to the default list.  [File][Save] to keep changes.

 

Orientation of Arrays

You might want a spreadsheet that oriented the multidimensional database in a different way.  This is easily done by dragging dimensions in the Coordinate view from Row to Column or from Page to Row, etc.  For example, return to the Coordinates tab and click and hold down the left mouse button over the Months label of the Months dimension.  Drag the Months list to the left and drop it over the right end of the Years label of the Years dimension.  Do the same with the Product dimension - drag it and drop it over the Months label.  Finally drag the Account dimension into the Row column.

Now if you hit the Array tab you will see a different view of the data.

You can select the desired font name and size for the spreadsheet contents from the controls on the format bar.

 

Selection of Data

In this way, if the database is small enough, then the entire dataset may be viewed all at once and from any angle.  However, in most situation you don't want to see all the data at once.  In this case it is possible to select just a part of the data, at any angle, by selecting only those items that are required from each dimension.  For example, returning to the Coordinates view, you might only be interested in the expenses associated with Large Trucks in 2006 from just some of the factories.  So you might select the items shown below and get the Array shown alongside.

 

 

Editing Data

Any data that you wish to change may be typed directly into a cell.  The data is saved on file through the [File][Save] menu item, or the save button on the toolbar.  Any array may be exported to Excel from the [Tools] menu.

 

Calculating Derived Quantities

Calculations are specified in the Deduction tab.  The first line of the calculations for Ford5D says that the elements identified by the coordinates selected in the Result cell are all set to 23.57 (reshaped to the required shape).  Double click on the Result cell in the first row in order to view, and change if necessary, the elements involved.

The second row in the calculations says that the elements specified by the coordinates selected in the Result cell are equal to the elements specified in the Left Arg cell times the respective elements specified in the Right Arg cell.  And so on down to line 9.  New lines may be added by hitting the down arrow on your keyboard while in the last row of the calculations.

This is what you get when you double click on row 1 column 1, the Result column in the first line of the calculations.  The required selection may be changed here.

 

Multidimensional Programming

A more compact view of the deductive program may be obtained using [Format][AutoFormat].

Many different calculation functions are available for selection in the combo boxes in the Function column, including plus, minus, times, divide, max, min, log, rotate,  transpose, inner product, determinant, .. , trigonometric, relational and user-defined functions. The following selection has been implemented in Space, Version 1.0:

 plus (+), minus (-), times (×), divided by (÷), minimum, maximum, to power, logarithm, residue, binomial, equals (=), not equal (¬), and (^), or, less than (<), greater than (>), less or equal, greater or equal, dimension sum,  reshape.  Many more functions will follow in Version 1.1, along with their precise definitions.

 

Viewing Graphically

You can get a graphical view of any array of data by selecting the items you require at the orientation you want.  For this example, select the items below.

On the Array tab, insert some random data in all the selected cells using the Random menu item or otherwise. (In order to enter constant data in all cells, enter the fixed value in the top left cell and select [Insert][Data][Constant].)

Save the data (or it will immediately be lost) and then select the View tab.

The red lines point down and correspond to negative numbers.  You can hover the cursor over any line. A diamond identifies your choice and a small window pops up with information to identify the data item and its value precisely.  (Beware, some views identify the wrong points in Version 1.0)

Many views are possible in SuperSpace and it takes time before you will be comfortable with all of them.  Any view can be copied onto the clipboard by [Edit][Copy].

 

Inferring Base Quantities

You can start from a small amount of data and fill up your database by inference.  For example, starting from some known figures for the total for all vehicles, for all factories for the earning from operations, you can spread these figures evenly over the third and fourth dimensions. You can infer plausible figures for the gross profits and total expenses from the earnings figures. Then infer plausible revenue and costs from the gross profits, and finally infer possible volumes and average unit costs from the costs.  The induction program uses rules which can be replaced by precise deductions, if and when required.  (Note that this feature is still being developed in Version 1.0)

 

Creating a Database

When creating a new volume, the first major decision that has to be made is how many dimensions is your database going to have.  The system can handle up to 15 dimensions which is likely to be far more than you will ever need.  If there were just 6 elements along each of 15 dimensions then the full database could be as much as 4 Terabytes in size. The system can cope with this size (assuming you have the necessary memory).  Usually there would be many fewer dimensions and many more elements along each.

Let's create a 4D database of stock prices from Yahoo.  Select [File][New] from the menu and select 4D from the big combo box.  We'll call the file Yahoo4D.Vol.

Hit Next and fill in the Dimension Names and Maximum Lengths along each dimension.  We allow for up to 100 Stock Symbols, each with up to 10 associated price elements.  We have separated the days into weeks and allowed for up to 1400 weeks worth of data because Yahoo history can go back as far as 1984 for many stocks.  Since time series are likely to be the main angle at which we shall look at the data, the date dimensions are placed to the right where they will be treated more contiguously on file, and therefore more efficiently extracted.  Since stocks are more likely to be viewed separately, they are placed towards the left where elements along dimensions are more likely to be stored in separate components on file.

Hitting Next shows that the database could be up to 79 Megabytes when full.  This is not particularly large and is easily handled with Space.  The system will provide suitable cell and frame sizes if you prefer not to impose them yourself on the database.

The default database coordinates then look like this:

Let us gather more meaningful item descriptions and put them on the clipboard in order to paste them into the appropriate lists.  First we select the rows to be changed and then using Shift+Insert we paste the descriptions into the item rows. 

To add historic BP prices downloaded into Excel from http://uk.finance.yahoo.com/, we orient and select appropriately.

On the Array tab, select the grid items to be pasted in from the clipboard, and then hit Shift+Insert to put them into the database, remembering to save on file as soon as the data is entered.

 

 On the View tab, after right clicking and collapsing the date dimensions into a single dimension,  we get a view of the opening price of BP stocks over a few years.  One anomalous data item is clearly visible corresponding to the opening price on 25th November 2003. This needs to be corrected on the Array tab (and in Yahoo Finance).

   

After correcting the spurious value and saving again, let us set up and run a calculation that works out the difference between the opening and closing prices.

Viewing the differences between opening and closing prices for Mondays, Tuesdays,.. and Fridays gives a measure of the volatility:

Collapsing the two date dimensions into one shows the changes in BP prices for weekdays between 2003 and 2008.

 

Tiling Windows

Many volumes can be opened at once and the data from one volume may be passed into another volume. In Version 1.1 calculations in one volume may invoke data from another.

 

  Minimizing Windows

Icons on minimised windows are intended to pictorially represent the selected data in the corresponding volumes thus giving a quick clue as to their referent.

 

 THIS SYSTEM IS CURRENTLY UNDER DEVELOPMENT BY GRAEME ROBERTSON LIMITED. 
ALL INTEREST IN THIS VENTURE IS ENTHUSIASTICALLY ENCOURAGED.


Send eMail ♥ contact us ♦
© 2009 Graeme Robertson Limited