@define()classAttributeHierarchy(SsasReadonlyRecord):"""TBD. SSAS spec: [Microsoft](https://learn.microsoft.com/en-us/openspecs/sql_server_protocols/ms-ssas-t/93d1844f-a6c7-4dda-879b-2e26ed5cd297) """attribute_hierarchy_storage_id:int=field(eq=True)column_id:int=field(eq=True)state:Final[DataState]=field(eq=False,on_setattr=setters.frozen,default=DataState.READY)modified_time:Final[datetime.datetime]=field(eq=False,on_setattr=setters.frozen,repr=False)refreshed_time:Final[datetime.datetime]=field(eq=False,on_setattr=setters.frozen,repr=False)defpbi_core_name(self)->str:"""Returns the name displayed in the PBIX report."""returnself.column().pbi_core_name()defcolumn(self)->"Column":returnself._tabular_model.columns.find({"id":self.column_id})deflevels(self)->set["Level"]:returnself._tabular_model.levels.find_all({"hierarchy_id":self.id})defchildren_base(self)->frozenset[LinkedEntity]:returnLinkedEntity.from_iter(self.levels(),by="level")|LinkedEntity.from_iter(self.annotations(),by="annotation",)defparents_base(self)->frozenset[LinkedEntity]:returnLinkedEntity.from_iter({self.column()},by="column")