@@ -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