Metric Methods
define_metric
define_metric(
name: Optional[str] = None,
expression: Optional[str] = None,
aggregation: Optional[Union[str, Callable[[Any], Any]]] = None,
metric_filters: Optional[Dict[str, Any]] = None,
row_condition_expression: Optional[str] = None,
context_state_name: str = 'Default',
ignore_dimensions: bool = False,
ignore_context_filters: bool = False,
fillna: Optional[Any] = None,
nested: Optional[Dict[str, Any]] = None,
) -> None
Persist a base metric for later use in queries.
Parameters:
-
name: Label of the resulting column.
-
expression: Formula using [column] references and optional @functions.
-
aggregation: Pandas aggregation name or callable; aliases like avg, count_distinct supported.
-
metric_filters: Filters applied only when evaluating this metric.
-
row_condition_expression: Row filter (DataFrame.query style; use [col] references).
-
context_state_name: Context state to read from.
-
ignore_dimensions: True to compute a grand-total metric (ignore query dimensions), or False to compute per-dimension values. -
ignore_context_filters: True to ignore all context filters when computing this metric, or False to respect context filters. -
fillna: Single value to fill NA on referenced columns before evaluation.
-
nested: Dict with keys: dimensions (str|list[str]); aggregation (str|callable, default 'sum'); compose (str template or callable(row)->str).
Notes: - Column references must use square brackets: [qty], [price], ...
- Aggregation accepts pandas names, callables, lists/tuples/dicts, and common aliases.
define_derived_metric
define_derived_metric(
name: str,
expression: str,
fillna: Optional[Any] = None
) -> None
Persist a post-aggregation derived metric computed from aggregated columns (metrics or dimensions).
Parameters: - name: Result column label.
-
expression: Formula using [MetricName] and/or [Dimension] references.
-
fillna: Optional value to temporarily fill NA on referenced columns during evaluation.