def test_execute_view_dataframe_pivot_one_row_one_column_dimensions(self): view_name = PREFIX + "Pivot_one_row_one_column_dimensions" view = NativeView(cube_name=CUBE_NAME, view_name=view_name, suppress_empty_columns=False, suppress_empty_rows=False) view.add_row( dimension_name=DIMENSION_NAMES[0], subset=AnonymousSubset(dimension_name=DIMENSION_NAMES[0], expression='{ HEAD ( {[' + DIMENSION_NAMES[0] + '].Members}, 10) } }')) view.add_column( dimension_name=DIMENSION_NAMES[1], subset=AnonymousSubset(dimension_name=DIMENSION_NAMES[1], expression='{ HEAD ( { [' + DIMENSION_NAMES[1] + '].Members}, 10 ) }')) view.add_title(dimension_name=DIMENSION_NAMES[2], selection="Element 1", subset=AnonymousSubset( dimension_name=DIMENSION_NAMES[2], elements=("Element 1", ))) self.tm1.cubes.views.create(view, private=False) pivot = self.tm1.cubes.cells.execute_view_dataframe_pivot( cube_name=CUBE_NAME, view_name=view_name) self.assertEqual((10, 10), pivot.shape)
def setUp(self): for private in (True, False): # create instance of native View native_view = NativeView( cube_name=CUBE_NAME, view_name=self.native_view_name) # Set up native view - put subsets on Rows, Columns and Titles subset = Subset( dimension_name=DIMENSION_NAMES[0], hierarchy_name=DIMENSION_NAMES[0], subset_name=SUBSET_NAME, expression='{{[{}].Members}}'.format(DIMENSION_NAMES[0])) self.tm1.dimensions.subsets.create(subset, private=False) native_view.add_row( dimension_name=DIMENSION_NAMES[0], subset=subset) subset = AnonymousSubset( dimension_name=DIMENSION_NAMES[1], hierarchy_name=DIMENSION_NAMES[1], elements=['element1', 'element123', 'element432']) native_view.add_title( dimension_name=DIMENSION_NAMES[1], subset=subset, selection='element123') elements = ['Element{}'.format(str(i)) for i in range(1, 201)] subset = Subset( dimension_name=DIMENSION_NAMES[2], hierarchy_name=DIMENSION_NAMES[2], subset_name=SUBSET_NAME, elements=elements) self.tm1.dimensions.subsets.create(subset, private=False) native_view.add_column( dimension_name=DIMENSION_NAMES[2], subset=subset) # Suppress Null Values native_view.suppress_empty_cells = True # create native view on Server self.tm1.cubes.views.create( view=native_view, private=private) # create instance of MDXView nv_view = self.tm1.cubes.views.get_native_view( cube_name=CUBE_NAME, view_name=self.native_view_name, private=private) mdx = nv_view.MDX mdx_view = MDXView( cube_name=CUBE_NAME, view_name=self.mdx_view_name, MDX=mdx) # create mdx view on Server self.tm1.cubes.views.create( view=mdx_view, private=private)
def test1_create_view(self): # create instance of native View native_view = NativeView(cube_name=cube_name, view_name=self.native_view_name) # Set up native view - put subsets on Rows, Columns and Titles subset = Subset(dimension_name=dimension_names[0], hierarchy_name=dimension_names[0], subset_name=str(uuid.uuid4()), expression='{{[{}].Members}}'.format( dimension_names[0])) self.tm1.dimensions.subsets.create(subset, private=False) native_view.add_row(dimension_name=dimension_names[0], subset=subset) subset = AnonymousSubset( dimension_name=dimension_names[1], hierarchy_name=dimension_names[1], elements=['element1', 'element123', 'element432']) native_view.add_title(dimension_name=dimension_names[1], subset=subset, selection='element123') elements = ['Element{}'.format(str(i)) for i in range(1, 201)] subset = Subset(dimension_name=dimension_names[2], hierarchy_name=dimension_names[2], subset_name=str(uuid.uuid4()), elements=elements) self.tm1.dimensions.subsets.create(subset, private=False) native_view.add_column(dimension_name=dimension_names[2], subset=subset) # Suppress Null Values native_view.suppress_empty_cells = True # create native view on Server self.tm1.cubes.views.create(view=native_view, private=self.random_boolean) # create instance of MDXView nv_view = self.tm1.cubes.views.get_native_view( cube_name=cube_name, view_name=self.native_view_name, private=self.random_boolean) mdx = nv_view.MDX mdx_view = MDXView(cube_name=cube_name, view_name=self.mdx_view_name, MDX=mdx) # create mdx view on Server self.tm1.cubes.views.create(view=mdx_view, private=self.random_boolean)
def test_execute_view_skip_contexts(self): view_name = PREFIX + "View_With_Titles" if not self.tm1.cubes.views.exists( cube_name=CUBE_NAME, view_name=view_name, private=False): view = NativeView(cube_name=CUBE_NAME, view_name=view_name, suppress_empty_columns=False, suppress_empty_rows=False) view.add_row( dimension_name=DIMENSION_NAMES[0], subset=AnonymousSubset(dimension_name=DIMENSION_NAMES[0], expression='{[' + DIMENSION_NAMES[0] + '].[Element 1]}')) view.add_column( dimension_name=DIMENSION_NAMES[1], subset=AnonymousSubset(dimension_name=DIMENSION_NAMES[1], expression='{[' + DIMENSION_NAMES[1] + '].[Element 1]}')) view.add_title( dimension_name=DIMENSION_NAMES[2], subset=AnonymousSubset(dimension_name=DIMENSION_NAMES[2], expression='{[' + DIMENSION_NAMES[2] + '].Members}'), selection="Element 1") self.tm1.cubes.views.create(view=view, private=False) data = self.tm1.cubes.cells.execute_view(cube_name=CUBE_NAME, view_name=view_name, private=False, skip_contexts=True) self.assertEqual(len(data), 1) for coordinates, cell in data.items(): self.assertEqual(len(coordinates), 2) self.assertEqual( Utils.dimension_name_from_element_unique_name(coordinates[0]), DIMENSION_NAMES[0]) self.assertEqual( Utils.dimension_name_from_element_unique_name(coordinates[1]), DIMENSION_NAMES[1])
def test_execute_view_raw_skip_contexts(self): view_name = PREFIX + "View_With_Titles" if not self.tm1.cubes.views.exists( cube_name=CUBE_NAME, view_name=view_name, private=False): view = NativeView(cube_name=CUBE_NAME, view_name=view_name, suppress_empty_columns=False, suppress_empty_rows=False) view.add_row( dimension_name=DIMENSION_NAMES[0], subset=AnonymousSubset(dimension_name=DIMENSION_NAMES[0], expression='{[' + DIMENSION_NAMES[0] + '].[Element 1]}')) view.add_column( dimension_name=DIMENSION_NAMES[1], subset=AnonymousSubset(dimension_name=DIMENSION_NAMES[1], expression='{[' + DIMENSION_NAMES[1] + '].[Element 1]}')) view.add_title( dimension_name=DIMENSION_NAMES[2], subset=AnonymousSubset(dimension_name=DIMENSION_NAMES[2], expression='{[' + DIMENSION_NAMES[2] + '].Members}'), selection="Element 1") self.tm1.cubes.views.create(view=view, private=False) raw_response = self.tm1.cubes.cells.execute_view_raw( cube_name=CUBE_NAME, view_name=view_name, private=False, skip_contexts=True, member_properties=["UniqueName"]) self.assertEqual(len(raw_response["Axes"]), 2) for axis in raw_response["Axes"]: dimension_on_axis = Utils.dimension_name_from_element_unique_name( axis["Tuples"][0]["Members"][0]["UniqueName"]) self.assertNotEqual(dimension_on_axis, DIMENSION_NAMES[2])
subset = tm1.dimensions.subsets.get(dimension_name='plan_department', subset_name='n level departments', private=False) native_view.add_row(dimension_name='plan_department', subset=subset) subset = tm1.dimensions.subsets.get( dimension_name='plan_chart_of_accounts', subset_name='Consolidations', private=False) native_view.add_row(dimension_name='plan_chart_of_accounts', subset=subset) subset = tm1.dimensions.subsets.get(dimension_name='plan_exchange_rates', subset_name='local', private=False) native_view.add_title(dimension_name='plan_exchange_rates', subset=subset, selection='local') subset = tm1.dimensions.subsets.get(dimension_name='plan_time', subset_name='2004 Total Year', private=False) native_view.add_column(dimension_name='plan_time', subset=subset) subset = tm1.dimensions.subsets.get(dimension_name='plan_source', subset_name='budget', private=False) native_view.add_column(dimension_name='plan_source', subset=subset) # create native view on Server tm1.cubes.views.create(view=native_view, private=False)
private=False) native_view.add_row(dimension_name='plan_business_unit', subset=subset) subset = tm1.dimensions.subsets.get(dimension_name='plan_department', subset_name='n level departments', private=False) native_view.add_row(dimension_name='plan_department', subset=subset) subset = tm1.dimensions.subsets.get(dimension_name='plan_chart_of_accounts', subset_name='Consolidations', private=False) native_view.add_row(dimension_name='plan_chart_of_accounts', subset=subset) subset = tm1.dimensions.subsets.get(dimension_name='plan_exchange_rates', subset_name='local', private=False) native_view.add_title(dimension_name='plan_exchange_rates', subset=subset, selection='local') subset = tm1.dimensions.subsets.get(dimension_name='plan_time', subset_name='2004 Total Year', private=False) native_view.add_column(dimension_name='plan_time', subset=subset) subset = tm1.dimensions.subsets.get(dimension_name='plan_source', subset_name='budget', private=False) native_view.add_column(dimension_name='plan_source', subset=subset) # create native view on Server tm1.cubes.views.create(view=native_view, private=False)