def test_mdx_hierarchy_descendants_with_flag(self): member = Member.of('Dimension', 'Hierarchy', 'Member1') hierarchy_set = MdxHierarchySet.descendants( member, desc_flag='SELF_AND_BEFORE') self.assertEqual( "{DESCENDANTS([dimension].[hierarchy].[member1], SELF_AND_BEFORE)}", hierarchy_set.to_mdx())
def test_mdx_hierarchy_descendants_with_flag_and_member_level(self): member = Member.of('Dimension', 'Hierarchy', 'Member1') hierarchy_set = MdxHierarchySet.descendants( member, MdxLevelExpression.member_level(member), desc_flag='SELF_AND_BEFORE') self.assertEqual( "{DESCENDANTS([dimension].[hierarchy].[member1], " "[dimension].[hierarchy].[member1].LEVEL, " "SELF_AND_BEFORE)}", hierarchy_set.to_mdx())
def _build_drill_intersection_mdx(dimension_name: str, hierarchy_name: str, first_element_name: str, second_element_name: str, mdx_method: str, recursive: bool) -> str: first_member = Member.of(dimension_name, hierarchy_name, first_element_name) second_member = Member.of(dimension_name, hierarchy_name, second_element_name) if not hasattr(MDXDrillMethod, mdx_method.upper()): raise TM1pyException( 'Invalid MDX Drill Method Specified, Options: TM1DrillDownMember or Descendants' ) elif MDXDrillMethod.TM1DRILLDOWNMEMBER.name == mdx_method.upper(): mdx = MdxHierarchySet.members([first_member]).tm1_drill_down_member(all=True, recursive=recursive) \ .intersect(MdxHierarchySet.members([second_member])).to_mdx() elif MDXDrillMethod.DESCENDANTS.name == mdx_method.upper(): mdx = MdxHierarchySet.descendants( first_member, MdxLevelExpression.member_level(first_member), 'SELF_AND_AFTER') return mdx
def test_mdx_hierarchy_descendants(self): member = Member.of('Dimension','Hierarchy','Member1') hierarchy_set = MdxHierarchySet.descendants(member) self.assertEqual("{DESCENDANTS([DIMENSION].[HIERARCHY].[MEMBER1])}",hierarchy_set.to_mdx())
def test_mdx_hierarchy_descendants(self): member = Member.of('Dimension', 'Hierarchy', 'Member1') hierarchy_set = MdxHierarchySet.descendants(member) self.assertEqual("{DESCENDANTS([dimension].[hierarchy].[member1])}", hierarchy_set.to_mdx())