code: def iterative_select(obj, dimensions, selects, depth=None):
      
      ndims = len(dimensions)
      depth = depth if depth is not None else ndims
      items = []
      if isinstance(selects, dict):
          for k, v in selects.items():
              items += iterative_select(obj.select(**{dimensions[ndims-depth]: k}),
                                        dimensions, v, depth-1)
      else:
          for s in selects:
              items.append((s, obj.select(**{dimensions[-1]: s[-1]})))
      return items
docs: Takes the output of group_select selecting subgroups iteratively,
      avoiding duplicating select operations.