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.
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")
workspace.import_model("model.json")
Stores¶
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 schemaslicer
– connection to another Cubes servermixpanel
– 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 asdefault
) – 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:
[store]
type: mixpanel
api_key: MY_MIXPANEL_API_KEY
api_secret: MY_MIXPANEL_API_SECRET