class_docstr: Describes an issue with the query where there are no matching items for a measure.
  
  This can happen if the user specifies a group-by-item that does not exist or is not available for the measure.
class_docstr_tok: ["Describes","an","issue","with","the","query","where","there","are","no","matching","items","for","a","measure",".","This","can","happen","if","the","user","specifies","a","group-by-item","that","does","not","exist","or","is","not","available","for","the","measure","."]
code: def ui_description(
      self, associated_input: MetricFlowQueryResolverInput
  ) -> str:
      lines = [
          f"The given input does not match any of the available group-by-items for\n"
          f"{self.query_resolution_path.last_item.ui_description}. Common issues are:\n",
          indent(
              "* Incorrect names.\n"
              "* No valid join paths exist from the measure to the group-by-item.\n"
              "  (fan-out join support is pending).\n"
              "* There are multiple matching join paths.\n"
              "  (disambiguation support is pending)."
          ),
      ]
  
      if len(self.suggestions) > 0:
          lines.append(
              f"\nSuggestions:\n{indent(mf_pformat(list(self.suggestions), max_line_length=80))}"
          )
      return "\n".join(lines)
  
file_path: metricflow/metricflow/query/issues/group_by_item_resolver/no_matching_items_for_measure.py
imports: from __future__ import annotations
  import logging
  from dataclasses import dataclass
  from typing import Sequence, Tuple
  from typing_extensions import override
  from metricflow.mf_logging.formatting import indent
  from metricflow.mf_logging.pretty_print import mf_pformat
  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 2 for calling the NoMatchingItemsForMeasure obj's underlying member method code with example usage: obj.ui_description(associated_input) and returns: str