class_docstr: Class to bind a DataSet to transient properties associated with it at a given point in the SqlQueryPlan.
docstr: Direct accessor for the optional metric time name, only safe to call when we know that value is set.
docstr_tok: ["Direct","accessor","for","the","optional","metric","time","name",",","only","safe","to","call","when","we","know","that","value","is","set","."]
code: def metric_time_column_name(self) -> str:
      """Direct accessor for the optional metric time name, only safe to call when we know that value is set."""
      assert (
          self._metric_time_column_name
      ), "Expected a valid metric time dimension name to be associated with this dataset, but did not get one!"
      return self._metric_time_column_name
  
imports: from __future__ import annotations
  from dataclasses import dataclass
  from typing import List, Optional, Sequence, Tuple
  from dbt_semantic_interfaces.protocols.metric import MetricTimeWindow
  from dbt_semantic_interfaces.type_enums.time_granularity import TimeGranularity
  from metricflow.assert_one_arg import assert_exactly_one_arg_set
  from metricflow.dataflow.dataflow_plan import JoinConversionEventsNode, JoinDescription, JoinOverTimeRangeNode, JoinToTimeSpineNode
  from metricflow.dataset.sql_dataset import SqlDataSet
  from metricflow.plan_conversion.sql_expression_builders import make_coalesced_expr
  from metricflow.sql.sql_exprs import SqlColumnReference, SqlColumnReferenceExpression, SqlComparison, SqlComparisonExpression, SqlDateTruncExpression, SqlIsNullExpression, SqlLogicalExpression, SqlLogicalOperator, SqlSubtractTimeIntervalExpression
  from metricflow.sql.sql_plan import SqlExpressionNode, SqlJoinDescription, SqlJoinType, SqlSelectStatementNode
label_desc: Use image node_id 1 for calling the AnnotatedSqlDataSet obj's underlying member method code with example usage: obj.metric_time_column_name() and returns: self