Beispiel #1
0
    def execute_view_ui_dygraph(self,
                                cube_name,
                                view_name,
                                private=False,
                                elem_properties=None,
                                member_properties=None,
                                value_precision=2,
                                top=None):
        """
        Useful for grids or charting libraries that want an array of cell values per row.
        Returns 3-dimensional cell structure for tabbed grids or multiple charts.
        Rows and pages are dicts, addressable by their name. Proper order of rows can be obtained in headers[1]
        Example 'cells' return format:
            'cells': {
                '10100': {
                    'Net Operating Income': [ 19832724.72429739,
                                              20365654.788303416,
                                              20729201.329183243,
                                              20480205.20121749],
                    'Revenue': [ 28981046.50724231,
                                 29512482.207418434,
                                 29913730.038971487,
                                 29563345.9542385]},
                '10200': {
                    'Net Operating Income': [ 9853293.623709997,
                                               10277650.763958748,
                                               10466934.096533755,
                                               10333095.839474997],
                    'Revenue': [ 13888143.710000003,
                                 14300216.43,
                                 14502421.63,
                                 14321501.940000001]}
            },

        :param top:
        :param cube_name: cube name
        :param view_name: view name
        :param private: True (private) or False (public)
        :param elem_properties: List of properties to be queried from the elements. E.g. ['UniqueName','Attributes', ...]
        :param member_properties: List of properties to be queried from the members. E.g. ['UniqueName','Attributes', ...]
        :param value_precision: number decimals
        :return:
        """
        cellset_id = self.create_cellset_from_view(cube_name=cube_name,
                                                   view_name=view_name,
                                                   private=private)
        data = self.extract_cellset_raw(
            cellset_id=cellset_id,
            cell_properties=["Value"],
            elem_properties=elem_properties,
            member_properties=list(set(member_properties or []) | {"Name"}),
            top=top,
            delete_cellset=True)
        return Utils.build_ui_dygraph_arrays_from_cellset(
            raw_cellset_as_dict=data, value_precision=value_precision)
Beispiel #2
0
 def execute_mdx_ui_dygraph(self,
                            mdx,
                            elem_properties=None,
                            member_properties=None,
                            value_precision=2,
                            top=None):
     """ Execute MDX get dygraph dictionary
     Useful for grids or charting libraries that want an array of cell values per column
     Returns 3-dimensional cell structure for tabbed grids or multiple charts
     Example 'cells' return format:
         'cells': {
             '10100': [
                 ['Q1-2004', 28981046.50724231, 19832724.72429739],
                 ['Q2-2004', 29512482.207418434, 20365654.788303416],
                 ['Q3-2004', 29913730.038971487, 20729201.329183243],
                 ['Q4-2004', 29563345.9542385, 20480205.20121749]],
             '10200': [
                 ['Q1-2004', 13888143.710000003, 9853293.623709997],
                 ['Q2-2004', 14300216.43, 10277650.763958748],
                 ['Q3-2004', 14502421.63, 10466934.096533755],
                 ['Q4-2004', 14321501.940000001, 10333095.839474997]]
         },
     :param top:
     :param mdx: String, valid MDX Query
     :param elem_properties: List of properties to be queried from the elements. E.g. ['UniqueName','Attributes', ...]
     :param member_properties: List of properties to be queried from the members. E.g. ['UniqueName','Attributes', ...]
     :param value_precision: Integer (optional) specifying number of decimal places to return
     :return: dict : { titles: [], headers: [axis][], cells: { Page0: [  [column name, column values], [], ... ], ...} }
     """
     cellset_id = self.create_cellset(mdx)
     data = self.extract_cellset_raw(
         cellset_id=cellset_id,
         cell_properties=["Value"],
         elem_properties=elem_properties,
         member_properties=list(set(member_properties or []) | {"Name"}),
         top=top,
         delete_cellset=True)
     return Utils.build_ui_dygraph_arrays_from_cellset(
         raw_cellset_as_dict=data, value_precision=value_precision)