Skip to content

Many-to-many

In Analysis-Services, Many-to-Many is a feature enabling a fact (i.e. an input row) to contribute into multiple coordinate of a given column.

For instance, in a flatten GeographicalZone column (e.g. having flattened a hierarchical Region->Country->City), a single Paris fact would contribute into Paris, France and Europe.

This can be achieved in Adhoc with a Dispatchor.

A full example is visible in TestManyToManyCubeQuery. It demonstrates how a measure can:

  • query underlying measures on fine grained slices (e.g. the input slices of the many-to-many)
  • project each of these slices into 0, 1 or N slices (e.g. the output slices of the many-to-many)
  • generate its own columns, independently of the underlying table (IColumnGenerator). In a many-to-many, the group column is generated by the measure, while the elements are generally generated by the table (or a previous many-to-many).

See also: - Calculated Columns — overview of all column-generation approaches (IDecomposition, FunctionCalculatedColumn, EvaluatedExpressionColumn).

References: - Analysis Services