code: def _data(self, cube, weighted, prune):
          
          result = []
          for slice_ in cube.slices:
              if cube.has_mr:
                  return self._mr_index(cube, weighted, prune)
              num = slice_.margin(axis=0, weighted=weighted, prune=prune)
              den = slice_.margin(weighted=weighted, prune=prune)
              margin = num / den
              proportions = slice_.proportions(axis=1, weighted=weighted, prune=prune)
              result.append(proportions / margin)
  
          if len(result) == 1 and cube.ndim < 3:
              result = result[0]
          else:
              if prune:
                  mask = np.array([slice_.mask for slice_ in result])
                  result = np.ma.masked_array(result, mask)
              else:
                  result = np.array(result)
  
          return result
docs: ndarray representing table index by margin.