You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+68-1Lines changed: 68 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -53,10 +53,77 @@ Options:
53
53
-`--schema` Schema type: eppo (default) or dbt-model
54
54
-`--sync-prefix` Prefix for fact/metric names (useful for testing)
55
55
-`--dbt-model-prefix` Warehouse/schema prefix for dbt models
56
+
-`--allow-upgrades` Allow existing non-certified metrics/fact sources to become certified
57
+
58
+
#### When to use `--allow-upgrades`
59
+
60
+
The `--allow-upgrades` flag is useful in the following scenarios:
61
+
62
+
-**Promoting existing metrics to certified status**: If you have existing metrics or fact sources in Eppo that are not currently certified, this flag allows them to be upgraded to certified status during the sync process.
63
+
-**Migrating from manual to code-managed metrics**: When transitioning from manually created metrics in the Eppo UI to managing them through YAML files, this flag enables the promotion of those metrics to certified status.
64
+
-**Avoiding conflicts during migration**: Without this flag, attempting to sync metrics that already exist in a non-certified state may result in conflicts or the sync process not upgrading their certification status.
65
+
66
+
## Validation Rules & Constraints
67
+
68
+
The following validation rules are enforced when syncing metrics. Understanding these constraints upfront can help avoid validation errors during development:
69
+
70
+
### Winsorization Constraints
71
+
72
+
Winsorization parameters (`winsorization_lower_percentile`, `winsorization_upper_percentile`) can **only** be used with these aggregation operations:
73
+
- ✅ `sum`
74
+
- ✅ `count`
75
+
- ✅ `last_value`
76
+
- ✅ `first_value`
77
+
78
+
**Not supported for:**
79
+
- ❌ `count_distinct` - Use different outlier handling approaches
80
+
- ❌ `distinct_entity` - Binary metrics don't need winsorization
When using guardrail metrics (`is_guardrail: true` with `guardrail_cutoff`):
121
+
- If fact's `desired_change: "increase"` → `guardrail_cutoff` must be **negative**
122
+
- If fact's `desired_change: "decrease"` → `guardrail_cutoff` must be **positive**
56
123
57
124
## Documentation
58
125
59
-
For detailed information about metric configuration and available options, see Eppo's [documentation page](https://docs.geteppo.com/data-management/certified-metrics/).
126
+
For detailed information about metric configuration, available options and constraints, see Eppo's [documentation page](https://docs.geteppo.com/data-management/certified-metrics/).
0 commit comments