mondrian stuff julian hyde - mondrian founder & lead developer 3 rd pentaho community meetup...
TRANSCRIPT
Mondrian stuff
Julian Hyde - Mondrian founder & lead developer
3rd Pentaho Community meetupCascaisSeptember 25th 2010
© 2009 Pentaho Corporation. All Rights Reserved 2
© 2009 Pentaho Corporation. All Rights Reserved 3
© 2009 Pentaho Corporation. All Rights Reserved 4
What’s new
Analyzer
Luc Boudreauolap4j 1.0
Mondrian 3.2
Mondrian 3.2.1
Mondrian 4
© 2009 Pentaho Corporation. All Rights Reserved 5
Pedrinho’s problem
Select [Measures].[Unit Sales] on
0,
[Time].[2010].Children on 1
from [Sales]
where [Time].[2010]
Solution: attribute-oriented MDX:
Select [Measures].[Unit Sales] on
0,
[Time].[Time].[2010].Children
on 1
from [Sales]
where [Time].[Year].[2010]
Schema:
<Cube><Dimension>
<Attribute><Hierarchy>
<Level source=a>
<MeasureGroup><Measure><DimensionLink><AggTable>
© 2009 Pentaho Corporation. All Rights Reserved 6
Richer Semantic Model
Physical schema:Only define attributes and relationships onceCompound keys
Attribute hierarchies
Hierarchies & attributes grouped into dimensionsE.g. Customers dimension contains Customer hierarchy (State-City-Customer) and Age, Gender, Salary attribute hierarchies
© 2009 Pentaho Corporation. All Rights Reserved 7
Measure groups
In Mondrian 3.x, if you want a cube with multiple fact tables, you
build a virtual cube:<Cube name=“Sales”> <Table name=“sales_fact”/></Cube>
<Cube name=“Warehouse”> <Table name=“warehouse_fact”/></Cube>
<VirtualCube name=“Warehouse and Sales”> <Cube name=“Sales”/> <Cube name=“Warehouse”/></VirtualCube>
© 2009 Pentaho Corporation. All Rights Reserved 8
Measure groups (2)
In Mondrian 4, cubes can contain multiple measure groups:<Cube name=“Warehouse and Sales”> <MeasureGroups> <MeasureGroup name=“Sales”> <Table name=“sales_fact”/> <Measure name=“unit_sales”/> </MeasureGroup> <MeasureGroup name=“Warehouse”> <Table name=“warehousee_fact”/> <Measure name=“inventory_units”/> </MeasureGroup> </MeasureGroups></Cube>
Virtual cubes are obsolete
(but still supported)
Many-to-many association between
measure groups and dimensions
Different ways to link dimensions to
fact tables
Sales Warehous
e
Time X X
Product X X
Customer X
Warehous
e
X
© 2009 Pentaho Corporation. All Rights Reserved 9
Physical schema
<Schema><PhysicalSchema>
<Table><Column><CalculatedColumn><Key>
<Link><Cube>
<Dimension><Attribute><Hierarchy>
» <Level><MeasureGroup>
<Measure><DimensionLink><AggTable>
© 2009 Pentaho Corporation. All Rights Reserved 10
Schema validation
Mondrian 3 validation sucks
In mondrian 4, can validate at runtime or design time
Generate multiple warnings, errors
Each error has a locationWorkbench should navigate to each error
Better validation in EE (!)
© 2009 Pentaho Corporation. All Rights Reserved 11
Transition to mondrian 4.0
Not easy…
Backwards compatible
Workbench functionality:Upgrade workbenchOR… extend agile BIOR… extend metadata editorOR…
Community can help!
© 2009 Pentaho Corporation. All Rights Reserved 12
Mondrian 4.0 summary
Attribute-oriented analysis
Physical model
Composite keys
Multiple fact tablesVirtual cubes obsolete
Better validation
Clean up of internals:Make aggregate tables look like fact tablesUnify native SQL optimization, aggregate table usage, fact table selection
Transition will be hard… but worth it
© 2009 Pentaho Corporation. All Rights Reserved 13
Questions?
© 2009 Pentaho Corporation. All Rights Reserved 14
Thank you for attending!