Purpose is to provide a framework for giving analyst or any application end-user understandable and natural way of reporting using concept of data Cubes – multidimensional data objects.
It is meant to be used by application builders that want to provide analytical functionality.
Features:
The framework is very extensible.
The framework models the data as a cube with multiple dimensions:
The most detailed unit of the data is a fact. Fact can be a contract, invoice, spending, task, etc. Each fact might have a measure – an attribute that can be measured, such as: price, amount, revenue, duration, tax, discount, etc.
The dimension provides context for facts. Is used to:
Dimension can have multiple hierarchies, for example the date dimension might have year, month and day levels in a hierarchy.
Core cube features:
Logical model describes the data from user’s or analyst’s perspective: data how they are being measured, aggregated and reported. Model is independent of physical implementation of data. This physical independence makes it easier to focus on data instead on ways of how to get the data in understandable form.
More information about logical model can be found in the chapter Logical Model and Metadata.
See also developer’s reference.
Core of the Cubes analytics functionality is the aggregation browser. The browser module contains utility classes and functions for the browser to work.
More information about browser can be found in the chapter Slicing and Dicing. See also programming reference.
Backends provide the actual data aggregation and browsing functionality. Cubes comes with built-in ROLAP backend which uses SQL database using SQLAlchemy.
Framework has modular nature and supports multiple database backends, therefore different ways of cube computation and ways of browsing aggregated data.
Multiple backends can be used at once, even multiple sources from the same backend might be used in the analytical workspace.
More about existing backends can be found in the backends documentation. See also the backends programming reference reference.
Cubes comes with built-in WSGI HTTP OLAP server called slicer - Command Line Tool and provides json API for most of the cubes framework functionality. The server is based on the Werkzeug WSGI framework.
More information about the Slicer server requests can be found in the chapter OLAP Server. See also programming reference of the server module.
See also