A MultiProvider is a type of InfoProvider that combines data from a number of InfoProviders and makes it available for analysis purposes. The MultiProvider itself does not contain any data. Its data comes entirely from the InfoProviders on which it is based. These InfoProviders are connected to one another by a union operation.
A MultiProvider allows you to analyze data based on several InfoProviders.
See the following examples:
A MultiProvider can consist of different combinations of the following InfoProviders: InfoCube, DataStore object, InfoObject, InfoSet, VirtualProvider, and aggregation level.
A union operation is used to combine the data from these objects in a MultiProvider. Here, the system constructs the union set of the data sets involved; all the values of these data sets are combined. As a comparison: InfoSets are created using joins. These joins only combine values that appear in both tables. In contrast to a union, joins form the intersection of the tables
As a comparison, see InfoSet.
In a MultiProvider, each characteristic in each of the InfoProviders involved must correspond to exactly one characteristic or navigation attribute (where these are available). If this is not clear, you have to specify the InfoObject to which you want to assign the characteristic in the MultiProvider. You do this when you define the MultiProvider.
The MultiProvider contains the characteristic 0COUNTRY and an InfoProvider contains the characteristic 0COUNTRY as well as the navigation attribute 0CUSTOMER__0COUNTRY. In this case, select just one of these InfoObjects in the assignment table.
If a key figure is contained in a MultiProvider, you have to select it from (at least) one of the InfoProviders contained in the MultiProvider. In general, one InfoProvider provides the key figure. However, there are cases in which it is better to select the key figure from more than one InfoProvider:
If the 0SALES key figure is stored redundantly in more than one InfoProvider (meaning that it is contained fully in all the value combinations for the characteristics), we recommend that you select the key figure from just one of the InfoProviders involved. Otherwise the value is totaled incorrectly in the MultiProvider because it occurs several times.
However, if 0SALES is stored as an actual value in one InfoProvider and as a planned value in another InfoProvider and there is no overlap between the data records (in other words, sales are divided separately between several InfoProviders), it is useful to select the key figure from more than one InfoProvider.
MultiProviders only exist as a logical definition. The data continues to be stored in the InfoProviders on which the MultiProvider is based.
A query based on a MultiProvider is divided internally into subqueries. There is a subquery for each InfoProvider included in the MultiProvider. These subqueries are usually processed in parallel.
The following sections contain more detailed information:
Technically there are no restrictions with regard to the number of InfoProviders that can be included in a MultiProvider. However, we recommend that you include no more than 10 InfoProviders in a single MultiProvider, otherwise splitting the MultiProvider queries and reconstructing the results for the individual InfoProviders takes a substantial amount of time and is generally counterproductive. Modeling MultiProviders with more than 10 InfoProviders is also highly complex.