0.5.3 (April 16, 2021)#
Added#
Ability to define an aggregated measure by combining multiple store columns. For example:
tt.agg.sum( - m["Quantity.SUM"] * m["Unit price.SUM"], + store["Quantity"] * store["Unit price"], # More efficient scope=tt.scope.origin(l["Sale ID"]) )
atoti.Session.securityto configure roles and restrictions on a running session.Glob pattern support in
atoti.Session.read_parquet()andatoti.store.Store.load_parquet()methods.atoti.config.create_logging_configto set the path of the file where the session logs are written.
User interface#
Tree table widget.
The tree table is like a pivot table where the row headers are squashed into a single column displayed as a tree.#
The Drillthrough context menu item already available in the app is also supported in JupyterLab.
Triggering the context menu of tables or charts from a selection with a single element allows to create a drillthrough widget that can be used to know the facts contributing to this aggregate.#
The Convert to Widget Below JupyterLab command is also available on DataFrames returned by
atoti.Session.query_mdx()andatoti_query.QuerySession.query_mdx.Query editor drawer in the app to manipulate the MDX query of the selected widget.
Changed#
DocSearch has been integrated to the docs to provide faster and better search results (issue #168).
The
atoti-pluspackage has been restructured from a standalone package that could be installed instead of theatotipackage to a plugin that can be installed alongside theatotipackage.Performance of
atoti.store.Store.append()has been improved (issue #255).Stores are no longer automatically partitioned.
Deprecated#
Creating roles with
atoti.config.create_role().Creating Basic authentication users with
atoti.config.create_basic_user().Creating Kerberos users with
atoti.config.create_kerberos_user().Displaying part of the logs with
atoti.Session.logs_tail().!tail -n 10 $session.logs_pathcan be used instead in Jupyter on Unix for example.
Fixed#
Issue where uploading a file from the project root via the source simulation widget would cause it to be deleted when restarting the session (issue #253).
Issue with date columns when using SQL sources (issue #263).
atoti.value()correctly differentiatesNonedue to different values andNonedue to missing data.