0.8.11 (April 04, 2024)#
Added#
Support for loading headerless CSV files with
read_csv()
andload_csv()
by passing aSequence
to columns.Support for passing a broader set of conditions to
atoti.Cube.query()
oratoti_query.QueryCube.query()
’s filter parameter:Conditions using inequality (e.g.
filter=l["Year"] >= 2022
)Conditions on a deep level of a multilevel hierarchy (e.g.
filter=l["Geography", "City"] == "Paris"
where Geography’s levels could be Continent, Country, and City)
Support for passing Arrow tables containing
pyarrow.decimal128()
andpyarrow.decimal256()
values toread_arrow()
orload_arrow()
. These decimal values are stored asDOUBLE
in the correspondingTable
.
Changed#
Upgraded Atoti UI to 5.1.16 and Admin UI to 5.1.7.
Deprecated#
Passing a
tuple
to one of the keys ofswitch()
’s cases parameter. Pass aSet
instead:m["Continent"] = tt.switch( l["City"], { - ("Paris", "London"): "Europe", + frozenset({"Paris", "London"}): "Europe", "Singapore": "Asia", "NYC": "North America", } )
This will allow using
tuple
(or anySequence
) forINT_ARRAY
,LONG_ARRAY
,FLOAT_ARRAY
, orDOUBLE_ARRAY
constants in a future release.
Fixed#
KeyError: ‘formattedValue’ being raised by
atoti.Session.query_mdx()
oratoti_query.QuerySession.query_mdx()
when explicitly omitting the FORMATTED_VALUE property in the passed mdx. When a cell does not have a FORMATTED_VALUE, its stringified VALUE will be used instead.ValidationError being raised when setting a measure to infinity:
m["Infinity"] = math.inf
.