class_docstr: Output the group-by-items relevant to the query and based on the inputs.
class_docstr_tok: ["Output","the","group-by-items","relevant","to","the","query","and","based","on","the","inputs","."]
code: def __init__(  # noqa: D
      self,
      parent_nodes: Sequence[
          Union[
              MetricGroupByItemResolutionNode,
              NoMetricsGroupByItemSourceNode,
          ]
      ],
      metrics_in_query: Sequence[MetricReference],
      where_filter_intersection: WhereFilterIntersection,
  ) -> None:
      self._parent_nodes = tuple(parent_nodes)
      self._metrics_in_query = tuple(metrics_in_query)
      self._where_filter_intersection = where_filter_intersection
      super().__init__()
  
imports: from __future__ import annotations
  from typing import List, Sequence, Union
  from dbt_semantic_interfaces.protocols import WhereFilterIntersection
  from dbt_semantic_interfaces.references import MetricReference
  from typing_extensions import override
  from metricflow.dag.id_prefix import IdPrefix
  from metricflow.dag.mf_dag import DisplayedProperty
  from metricflow.query.group_by_item.resolution_dag.resolution_nodes.base_node import GroupByItemResolutionNode, GroupByItemResolutionNodeVisitor
  from metricflow.query.group_by_item.resolution_dag.resolution_nodes.metric_resolution_node import MetricGroupByItemResolutionNode
  from metricflow.query.group_by_item.resolution_dag.resolution_nodes.no_metrics_query_source_node import NoMetricsGroupByItemSourceNode
  from metricflow.visitor import VisitorOutputT
label_desc: Use image node_id 1 to create a new QueryGroupByItemResolutionNode object from inherited base classes: GroupByItemResolutionNode with example: obj = QueryGroupByItemResolutionNode(parent_nodes, metrics_in_query, where_filter_intersection)