marivo.semantic.semi_additive#

marivo.semantic.semi_additive(*, over, fold)[source]#

Declare a semi-additive nature: additive off the over time axis, folded by fold.

over must be a Ref[time_dimension] returned by @ms.time_dimension. Use as the additivity= value on a measure or a metric:

@ms.measure(entity=inventory,
            additivity=ms.semi_additive(over=snapshot_date, fold="last"))
def quantity(inventory):
    return inventory.qty
Parameters:
  • over (Ref[TimeDimensionKind])

  • fold (Literal['mean', 'min', 'max', 'first', 'last'] | tuple[~typing.Literal['percentile'], float])

Return type:

SemiAdditive