From e63c8747b59d01b624b4e1fb15f2614de39c7fa0 Mon Sep 17 00:00:00 2001 From: Petr Date: Wed, 18 Mar 2026 13:01:23 +0100 Subject: [PATCH] Fix metric expression extraction: use 'code' field OpenMetadata stores SQL in metricExpression.code, not .expression. This caused all metric expressions to export as empty strings. --- connectors/openmetadata/transformer.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/connectors/openmetadata/transformer.py b/connectors/openmetadata/transformer.py index 4100e46..b426357 100644 --- a/connectors/openmetadata/transformer.py +++ b/connectors/openmetadata/transformer.py @@ -102,7 +102,8 @@ def extract_expression(raw_metric: Dict[str, Any]) -> str: """ metric_expr = raw_metric.get("metricExpression", {}) if isinstance(metric_expr, dict): - return metric_expr.get("expression", "") or "" + # OpenMetadata uses "code" field for the SQL expression + return metric_expr.get("code", "") or metric_expr.get("expression", "") or "" if isinstance(metric_expr, str): return metric_expr return ""