0.4.1 (2020-06-17)


  • New tutorial exploring the main basic features of atoti.

  • rank() returns a measure ranking the members of a given hierarchy based on the value of another measure.

  • array.prefix_sum() performs the prefix sum of array measures.

  • Hierarchies can have the same name if they are in different dimensions. To avoid conflicts, a hierarchy can be accessed via a tuple containing the dimension and the hierarchy: cube.hierarchies["Product", "Size"].


  • Bumped the minimal required version of JupyterLab to 2.1.

  • Upgraded from ActiveUI SDK 4.3.7 to 4.3.8.

  • Better messages for Java known errors (#43).

  • The Auth0 support in Atoti+ has been replaced by the more general OpenID Connect authentication protocol. The structure of the configuration can be seen in config.create_oidc_authentication().


  • filter()’s measure parameter accepts any value that can be converted to a measure (#22).

  • filter() and where() support inequalities on dates as conditions.

  • Issue when loading data into a scenario with truncate=True (#53).

  • Issue with agg.quantile() combined with scope.origin().

  • Issue when aggregating .VALUE measures using any of the agg.xxx functions (#52).

  • Type issue that sometimes happened when chaining operators such as array.quantile() and date_shift().

  • Blinking cell updates not appearing in pivot tables with real time queries.