Пример #1
0
 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)
Пример #2
0
 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)
Пример #3
0
    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)
Пример #4
0
    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])
Пример #5
0
    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])
Пример #6
0
    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)
Пример #7
0
                                        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)