def test_read_dimension_composition_from_mdx_without_titles(self): mdx = MDX_TEMPLATE_SHORT.format( rows="{[" + self.dim1_name + "].MEMBERS} * {[" + self.dim2_name + "].MEMBERS}", columns="{[" + self.dim3_name + "].MEMBERS} * {[" + self.dim4_name + "].MEMBERS}", cube="[{}]".format(self.cube_name) ) cube, rows, columns, titles = read_dimension_composition_from_mdx(mdx=mdx) self.assertEqual(cube, self.cube_name) self.assertEqual(rows, [self.dim1_name, self.dim2_name]) self.assertEqual(columns, [self.dim3_name, self.dim4_name])
def test_read_dimension_composition_from_mdx_simple2(self): mdx = MDX_TEMPLATE.format( rows="{{ [{}].MEMBERS }}".format(self.dim3_name), columns="{{ [{}].MEMBERS }} * {{ [{}].MEMBERS }}".format(self.dim1_name, self.dim2_name), cube="[{}]".format(self.cube_name), where="( [{}].[{}] )".format(self.dim4_name, self.dim4_element_names[0]) ) cube, rows, columns, titles = read_dimension_composition_from_mdx(mdx=mdx) self.assertEqual(cube, self.cube_name) self.assertEqual(rows, [self.dim3_name]) self.assertEqual(columns, [self.dim1_name, self.dim2_name]) self.assertEqual(titles, [self.dim4_name])
def test_read_dimension_composition_from_mdx_asynchronous_single(self): mdx = MDX_TEMPLATE.format( rows="{([" + self.dim1_name + "].[" + self.dim1_element_names[0] + "], [" + self.dim2_name + "].[" + self.dim2_element_names[0] + "])}", columns="{[" + self.dim3_name + "].MEMBERS}", cube="[{}]".format(self.cube_name), where="([" + self.dim4_name + "].[" + self.dim4_element_names[0] + "])" ) cube, rows, columns, titles = read_dimension_composition_from_mdx(mdx=mdx) self.assertEqual(cube, self.cube_name) self.assertEqual(rows, [self.dim1_name, self.dim2_name]) self.assertEqual(columns, [self.dim3_name]) self.assertEqual(titles, [self.dim4_name])
def test_read_dimension_composition_from_mdx_asynchronous_multi(self): mdx = MDX_TEMPLATE_SHORT.format( rows="{([" + self.dim1_name + "].[" + self.dim1_element_names[0] + "], [" + self.dim2_name + "].[" + self.dim2_element_names[0] + "]),([" + self.dim1_name + "].[" + self.dim1_element_names[ 1] + "], [" + self.dim2_name + "].[" + self.dim2_element_names[1] + "]) }", columns="{([" + self.dim3_name + "].[" + self.dim3_element_names[0] + "], [" + self.dim4_name + "].[" + self.dim4_element_names[0] + "]),([" + self.dim3_name + "].[" + self.dim3_element_names[ 1] + "], [" + self.dim4_name + "].[" + self.dim4_element_names[1] + "]) }", cube="[{}]".format(self.cube_name) ) cube, rows, columns, titles = read_dimension_composition_from_mdx(mdx=mdx) self.assertEqual(cube, self.cube_name) self.assertEqual(rows, [self.dim1_name, self.dim2_name]) self.assertEqual(columns, [self.dim3_name, self.dim4_name]) self.assertEqual(titles, [])