Skip to content

Commit a318501

Browse files
committed
Propagate measure.config to metric.config when specified during create_metric:True
1 parent 65a122b commit a318501

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

core/dbt/parser/schema_yaml_readers.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -633,14 +633,19 @@ def _create_metric(
633633
measure: UnparsedMeasure,
634634
enabled: bool,
635635
semantic_model_name: str,
636+
meta: Optional[Dict[str, Any]] = None,
636637
) -> None:
638+
config = {"enabled": enabled}
639+
if meta is not None:
640+
# Need to propagate meta to metric from measure during create_metric: True
641+
config["meta"] = meta
637642
unparsed_metric = UnparsedMetric(
638643
name=measure.name,
639644
label=measure.label or measure.name,
640645
type="simple",
641646
type_params=UnparsedMetricTypeParams(measure=measure.name, expr=measure.name),
642647
description=measure.description or f"Metric created from measure {measure.name}",
643-
config={"enabled": enabled},
648+
config=config,
644649
)
645650

646651
parser = MetricParser(self.schema_parser, yaml=self.yaml)
@@ -758,7 +763,10 @@ def parse_semantic_model(self, unparsed: UnparsedSemanticModel) -> None:
758763
for measure in unparsed.measures:
759764
if measure.create_metric is True:
760765
self._create_metric(
761-
measure=measure, enabled=parsed.config.enabled, semantic_model_name=parsed.name
766+
measure=measure,
767+
enabled=parsed.config.enabled,
768+
semantic_model_name=parsed.name,
769+
meta=config.meta if config is not None else None,
762770
)
763771

764772
def parse(self) -> None:

0 commit comments

Comments
 (0)