Analytical Workspace

Analytical workspace is ... TODO: describe.

The analyital workspace manages cubes, shared (public) dimensions, data stores, model providers and model metadata. Provides aggregation browsers and maintains database connections.


Analytical Workspace

Typical cubes session takes place in a workspace. Workspace is configured either through a slicer.ini file or programatically. Using the file:

from cubes import Workspace

workspace = Workspace(config="slicer.ini")

For more information about the configuration file options see Configuration

The manual workspace creation:

from cubes import Workspace

workspace = Workspace()
workspace.register_default_store("sql", url="postgresql://localhost/data")


Cube data are stored somewhere or might be provided by a service. We call this data source a data store. A workspace might use multiple stores to get content of the cubes.

Built-in stores are:

  • sql – relational database store (ROLAP) using star or snowflake schema
  • slicer – connection to another Cubes server
  • mixpanel – retrieves data from Mixpanel and makes it look like multidimensional cubes

Supported SQL dialects (by SQLAlchemy) are: Drizzle, Firebird, Informix, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, SQLite, Sybase

See Configuration for more information how to configure the stores.

Model Providers

Model provider creates models of cubes, dimensions and other analytical objects. The models can be created from a metadata, database or an external source, such as API.

Built-in model providers are:

  • static (also aliased as default) – creates model objects from JSON data (files)
  • mixpanel – describes cubes as Mixpanel events and dimensions as Mixpanel properties

To specify that the model is provided from other source than the metadata use the provider keyword in the model description:

    "provider": "mixpanel",
    "store": "mixpanel"

The store:

type: mixpanel