manager_definition
manager_definition ¶
KPI definition manager for DomoCard.
Provides access to the card's kpi definition — column mappings, filters, beast modes, and dataset schema — via the composition pattern (card.Definition.get(), card.Definition.used_columns, etc.).
DomoCard_DefinitionManager
dataclass
¶
DomoCard_DefinitionManager(
parent: DomoCard_Default = None,
kpi: KpiDefinition | None = None,
)
Bases: DomoSubEntity
Manager for a card's kpi definition.
Provides typed access to: - KpiDefinition with subscriptions, formulas, and column schema - Convenience properties: used_columns, available_columns, unused_columns
Usage
await card.Definition.get() card.Definition.kpi # KpiDefinition card.Definition.used_columns # set[str] card.Definition.available_columns # list[str] card.Definition.kpi.main.columns # list[ColumnMapping] card.Definition.kpi.formula_by_id # dict[str, Formula]
With dataset beast mode resolution
await card.Definition.get(is_resolve_dataset_beastmodes=True)
Now formula_by_id includes dataset-level beast modes¶
and filter/group_by columns resolve calculation_xxx IDs¶
available_columns
property
¶
available_columns: list[str]
All available columns from the dataset schema. Empty if not loaded.
unused_columns
property
¶
unused_columns: set[str]
Dataset columns NOT used by this card. Empty if not loaded.
used_columns
property
¶
used_columns: set[str]
Columns used by this card. Empty if definition not loaded.
get
async
¶
get(
is_resolve_dataset_beastmodes: bool = False,
*,
context: RouteContext | None = None,
**context_kwargs
) -> KpiDefinition
Fetch the kpi definition for this card.
Populates self.kpi with a typed KpiDefinition.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
is_resolve_dataset_beastmodes
|
bool
|
If True, also fetch the card's
datasets and resolve any |
False
|
context
|
RouteContext | None
|
Optional RouteContext for request configuration |
None
|
Returns:
| Type | Description |
|---|---|
KpiDefinition
|
KpiDefinition instance with typed access to all definition data. |
Source code in src/crew_dcs/classes/DomoCard/manager_definition.py
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | |