class_docstr: Parse a qualified name into different parts.
  
  e.g. listing__ds__week ->
  entity_links: ["listing"]
  element_name: "ds"
  granularity: TimeGranularity.WEEK
class_docstr_tok: ["Parse","a","qualified","name","into","different","parts",".","e.g",".","listing__ds__week","-",">","entity_links",":","[","``","listing","''","]","element_name",":","``","ds","''","granularity",":","TimeGranularity.WEEK"]
docstr: Renders the qualified name without the granularity suffix.
  
  In the list metrics and list dimensions outputs we want to render the qualified name of the dimension, but
  without including the base granularity for time dimensions. This method is useful in those contexts.
  Note: in most cases you should be using the qualified_name - this is only useful in cases where the
  Dimension set has de-duplicated TimeDimensions such that you never have more than one granularity
  in your set for each TimeDimension.
docstr_tok: ["Renders","the","qualified","name","without","the","granularity","suffix",".","In","the","list","metrics","and","list","dimensions","outputs","we","want","to","render","the","qualified","name","of","the","dimension",",","but","without","including","the","base","granularity","for","time","dimensions",".","This","method","is","useful","in","those","contexts",".","Note",":","in","most","cases","you","should","be","using","the","qualified_name","-","this","is","only","useful","in","cases","where","the","Dimension","set","has","de-duplicated","TimeDimensions","such","that","you","never","have","more","than","one","granularity","in","your","set","for","each","TimeDimension","."]
code: def granularity_free_qualified_name(self) -> str:
      """Renders the qualified name without the granularity suffix.
  
      In the list metrics and list dimensions outputs we want to render the qualified name of the dimension, but
      without including the base granularity for time dimensions. This method is useful in those contexts.
      Note: in most cases you should be using the qualified_name - this is only useful in cases where the
      Dimension set has de-duplicated TimeDimensions such that you never have more than one granularity
      in your set for each TimeDimension.
      """
      return StructuredLinkableSpecName(
          entity_link_names=self.entity_link_names,
          element_name=self.element_name,
      ).qualified_name
  
file_path: metricflow/metricflow/naming/linkable_spec_name.py
imports: from __future__ import annotations
  import logging
  from dataclasses import dataclass
  from typing import Optional, Tuple
  from dbt_semantic_interfaces.type_enums.date_part import DatePart
  from dbt_semantic_interfaces.type_enums.time_granularity import TimeGranularity
label_desc: Use image node_id 5 for calling the StructuredLinkableSpecName obj's underlying member method code with example usage: obj.granularity_free_qualified_name() and returns: StructuredLinkableSpecName