Summary:
Thanks:
SQL:
Server:
Other:
Quick Summary:
Server:
Dimension defition can have a “template”. For example:
{
"name": "contract_date",
"template": "date"
}
added table_rows() and cross_table()
added simple_model(cube_name, dimension_names, measures)
To address issue #8 create_model(dict) was added as replacement for Model(dict). Model() from now on will expect correctly constructed model objects. create_model() will be able to handle various simplifications and defaults during the construction process.
added info attribute to all model objects. It can be used to store custom, application or front-end specific information
preliminary implementation of cross_table() (interface might be changed)
AggregationResult.table_rows() - new method that iterates through drill-down rows and returns a tuple with key, label, path, and rest of the fields.
dimension in model description can specify another template dimension – all properties from the template will be inherited in the new dimension. All dimension properties specified in the new dimension completely override the template specification
added point_cut_for_dimension
added simple_model(cube_name, dimensions, measures) – creates a single-cube model with flat dimensions from a list of dimension names and measures from a list of measure names. For example:
model = simple_model("contracts", ["year","contractor", "type"], ["amount"])
Slicer Server:
Planned Changes:
Summary: Range cuts, denormalize with slicer tool, cells in /report query
StarBrowser:
Slicer Server:
Slicer tool:
Summary of most important changes that might affect your code:
Slicer: Change all your slicer.ini configuration files to have [workspace] section instead of old [db] or [backend]. Depreciation warning is issued, will work if not changed.
Model: Change dimensions in model to be an array instead of a dictionary. Same with cubes. Old style: "dimensions" = { "date" = ... } new style: "dimensions" = [ { "name": "date", ... } ]. Will work if not changed, just be prepared.
Python: Use Dimension.hierarchy() instead of Dimension.default_hierarchy.
SQL backend:
new StarBrowser implemented:
- StarBrowser supports snowflakes or denormalization (optional)
- for snowflake browsing no write permission is required (does not have to be denormalized)
new DenormalizedMapper for mapping logical model to denormalized view
new SnowflakeMapper for mapping logical model to a snowflake schema
ddl_for_model() - get schema DDL as string for model
join finder and attribute mapper are now just Mapper - class responsible for finding appropriate joins and doing logical-to-physical mappings
coalesce_attribute() - new method for coalescing multiple ways of describing a physical attribute (just attribute or table+schema+attribute)
dimension argument was removed from all methods working with attributes (the dimension is now required attribute property)
added create_denormalized_view() with options: materialize, create_index, keys_only
Slicer:
Examples:
Slicer Server:
Documentation:
Added tutorials in tutorials/ with models in tutorials/models/ and data in tutorials/data/:
Slicer server:
Slicer server:
WARNING: Minor backward API incompatibility - Cuboid renamed to Cell.
Model Initialization Defaults:
Note: This initialization defaults might be moved into a separate utility function/class that will populate incomplete model
Slicer server:
This change is considered final and therefore we can mark it is as API version 1.
Cubes:
Slicer server:
Experimental: (might change or be removed, use with caution)