class_docstr: Describes an issue where metric_time is required, but not included in the query.
  
  metric_time is required as a group-by-item when querying offset metrics.
class_docstr_tok: ["Describes","an","issue","where","metric_time","is","required",",","but","not","included","in","the","query",".","metric_time","is","required","as","a","group-by-item","when","querying","offset","metrics","."]
code: def ui_description(
      self, associated_input: MetricFlowQueryResolverInput
  ) -> str:
      return (
          f"The query includes a metric {repr(self.metric_reference.element_name)} that specifies a time offset in "
          f"input metrics: {repr(self.input_metrics)}. However, group-by-items do not include "
          f"{repr(METRIC_TIME_ELEMENT_NAME)}."
      )
  
file_path: metricflow/metricflow/query/issues/parsing/offset_metric_requires_metric_time.py
imports: from __future__ import annotations
  from dataclasses import dataclass
  from typing import Sequence, Tuple
  from dbt_semantic_interfaces.naming.keywords import METRIC_TIME_ELEMENT_NAME
  from dbt_semantic_interfaces.protocols import MetricInput
  from dbt_semantic_interfaces.references import MetricReference
  from typing_extensions import override
  from metricflow.query.group_by_item.resolution_path import MetricFlowQueryResolutionPath
  from metricflow.query.issues.issues_base import MetricFlowQueryIssueType, MetricFlowQueryResolutionIssue
  from metricflow.query.resolver_inputs.base_resolver_inputs import MetricFlowQueryResolverInput
label_desc: Use image node_id 1 for calling the OffsetMetricRequiresMetricTimeIssue obj's underlying member method code with example usage: obj.ui_description(associated_input) and returns: str, repr, str, repr, str, repr, str