@@ -610,7 +610,7 @@ def _build_csv_line_items_from_axis_tuple(members: Dict, include_attributes: boo
610
610
return line_items
611
611
612
612
613
- def build_ui_arrays_from_cellset (raw_cellset_as_dict : Dict , value_precision : int ):
613
+ def build_ui_arrays_from_cellset (raw_cellset_as_dict : Dict , value_precision : int , top : int = None ):
614
614
""" Transform raw 1,2 or 3-dimension cellset data into concise dictionary
615
615
* Useful for grids or charting libraries that want an array of cell values per row
616
616
* Returns 3-dimensional cell structure for tabbed grids or multiple charts
@@ -638,6 +638,7 @@ def build_ui_arrays_from_cellset(raw_cellset_as_dict: Dict, value_precision: int
638
638
},
639
639
:param raw_cellset_as_dict: raw data from TM1
640
640
:param value_precision: Integer (optional) specifying number of decimal places to return
641
+ :param top: Int, number of cells to return (counting from top)
641
642
:return: dict : { titles: [], headers: [axis][], cells: { Page0: { Row0: { [row values], Row1: [], ...}, ...}, ...} }
642
643
"""
643
644
header_map = build_headers_from_cellset (raw_cellset_as_dict , force_header_dimensionality = 3 )
@@ -658,6 +659,8 @@ def build_ui_arrays_from_cellset(raw_cellset_as_dict: Dict, value_precision: int
658
659
y_header = headers [1 ][y ]['name' ]
659
660
row = []
660
661
for x in range (cardinality [0 ]):
662
+ if top and top <= ordinal_cells :
663
+ break
661
664
raw_value = raw_cellset_as_dict ['Cells' ][ordinal_cells ]['Value' ] or 0
662
665
if value_precision :
663
666
row .append (float (value_format_string .format (raw_value )))
0 commit comments