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.security
to 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_config
to set the path of the file where the session logs are written.
User interface#
Tree table widget.
The Drillthrough context menu item already available in the app is also supported in JupyterLab.
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-plus
package has been restructured from a standalone package that could be installed instead of theatoti
package to a plugin that can be installed alongside theatoti
package.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_path
can 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 differentiatesNone
due to different values andNone
due to missing data.