0.5.2 (March 04, 2021)#
Added#
Project template to be used as a starting point for projects intending to go into production.
atoti.Session.start_transaction()
to group a set of store operations in a single transaction.mode parameter to
atoti.Cube.query()
. The"raw"
mode uses a faster data transfer technique than the one used by the default"pretty"
mode, leading to drastic performance improvements for larger query results (issue #146).include_totals parameter to
atoti.Cube.query()
andatoti_query.QueryCube.query()
to indicate whether the returned DataFrame should include the grand total and subtotals.keep_totals parameter to
atoti.Session.query_mdx()
andatoti_query.QuerySession.query_mdx()
to indicate whether the returned DataFrame should contain, if they are present in the query result, the grand total and subtotals.atoti.config.create_kerberos_authentication()
to support Kerberos authentication providers.
User interface#
Convert to Widget Below JupyterLab command available on (unmutated) DataFrames returned by the
atoti.Cube.query()
andatoti_query.QueryCube.query()
methods (issue #49).right-clicking on the DataFrame and selecting the corresponding context menu item.
selecting it in the command palette when the DataFrame cell is the active one.
Defer updates checkbox in the JupyterLab extension sidebar (issue #25).
Pivot table columns can be resized (issue #206).
Pivot tables support expansion by another hierarchy.
Experimental#
atoti.experimental.create_date_hierarchy()
to create a multilevel date hierarchy based on a date column.
Changed#
Improve
atoti.where()
performance when either:no false_measure is passed.
the passed condition on levels is made only of
==
or!=
comparisons toNone
and at most one==
or!=
comparison to a non-None
value.
Fixed#
Issue when accessing query session hierarchies and levels (issue #202).
Issue where switching to an incompatible widget type would crash the JupyterLab extension (issue #211).
Issue with glob path on Windows.
Prevent redefining special roles such as ROLE_USER and ROLE_ADMIN by raising an error in
atoti.config.create_role()
.Respect sampling mode when adding rows with
atoti.store.Store.append()
and the+=
operator.