Postprocessing and New Dataset Specification

After obtaining a new dataset, the consumer typically wants to perform several operations on it, such as pivoting, changing dimension orientation, sorting, or rotation. In general, there are two approaches to accommodating such functionality:

OLE DB for OLAP takes the first approach. The primary reason is simplicity: Any operation that the user wants to perform on a dataset is necessarily a subset of the operations needed to create the dataset from the cube. By considering postprocessing operators as incremental changes to the original dataset specification, all the semantics of the command specification process (which have already been defined) can be leveraged. The postprocessing approach requires first identifying the postprocessing operators as a subset of the original command operators, then defining semantics for each of these operators, and so on. There is no significant functionality or ease-of-use gain for the consumer anyway.