Release Notes¶
Release 0.2.x (Current Scope of Work)¶
- [ ] Rewrite documentation based on new syntax and current feature set.
- [ ] Slice to support and resolve boolean operations to define row and colum dimensions in a
single step.
e.g.
trucks.slice(rows=c.salesrep & c.customer, columns=c.lastmonth & c.actualmonth) - [ ] Support callable function to filter Context objects, e.g.
cdf.product.filter(lambda x: x.startswith("A")). - [ ] Collect real-world data sets for testing and validation and implement an automated tester for any dataframe.
Release 0.3.x¶
- [ ]
addressproperty to return the fully qualified address to rebuild the full context from that address. - [ ] add individual behaviours for key-errors per dimension into schema
- [ ] Extend Expression Parser to support more advanced filtering and mathematical operations
on
Contextobjects.
Future Releases¶
Just ideas, neither decided, nore scheduled or prioritized.
- [ ] Support for Linked Cubes to mimic DWH-style star-schemas.
- [ ] Custom Business Logic: Allow users to define custom business logic for measures.
- [ ] Custom Measures: Allow users to define custom measures.
- [ ] Custom Dimensions: Allow users to define custom calculated dimensions.
- [ ] Custom Members: Allow users to define custom calculated members.
Implemented Features, Issue, Bugs¶
Release 0.2.x¶
- [x] Date,time and Datetime resolvers for Englisch keywords like
yesterday,today,tomorrow,lastweek,thisweek,nextweek,lastmonth,thismonth,nextmonth,lastyear,thisyear,nextyearetc. as members of a dimension. Multiple words should either be written together or separated by_, e.g.last_monthvs.lastmonth. - [x] All member related functions should return a list of the member keys as defined in the
dataframe.
Not wrapped into a
Memberobject. - [x] Support for
inoperator on DimensionContext - [x] add feature/switch to return None vs. 0 for data without records.
- [x]
true&falseas members of a dimension should be resolved asTrueandFalserespectively. Aliases to be supportedyes&noandon&offand1&0if used via index. - [x] Support callable methods for all aggregation functions, e.g.
sum->sum(). see https://stackoverflow.com/questions/20120983/determine-if-getattr-is-method-or-attribute-call - [x] Further Cleanup and rewrite for Cube, Dimension and Measure object.
Move all none essential methods, properties and settings to respective properties,
e.g.
Cube.settings,Cube.properties,Cube.methodsetc. - [x] check string representations for all objects when in running in Jupyter
- [x] Check, adapt and activate the existing writeback functionality.
- [x] Implement
cdf.product.membersproperty to return a list of all members for a dimension. - [x]
top(n)andbottom(n)functions for dimensions, e.g.cdf.product.top(2). - [x]
countproperty for dimensions, e.g.cdf.Online.product.count, to count the number of distinct members. The current implementation counts the records for the default measure. - [x] Implement
Context.full_addressproperty returning a dictionary. - [x]
implement 'by(rows, colums)' feature forContextobjects to mimic GroupBy functionality over 2 axis. - [x] Boolean logic for
Contexobjects for advanced filtering.andandoroperators forContextobjects,andas default. - [x] Allow to set the default measure
- [x] Filter functions for dimensions: include, exclude, filter, like, regex, etc.
- [x] Filter functions for measures: gt, lt, eq, ne, etc.
- [x] Data Type Validation for columns
- [x] Update/rewrite all tests based on new syntax
Release 0.1.x¶
- [x] Initial Release