+++> 6.MultiProviders and InfoSets

  Introduction:

                  An InfoProvider is a BI Content object for which BI queries can be created or executed in the BEx.
InfoProviders are the objects or views that are relevant for reporting. A MultiProvider as well as an InfoSet do not physically store data, but display logical views.
• A MultiProvider builds up a data union of basic InfoProviders.
The complete data of all basic InfoProviders are available for reporting. A MultiProvider is interpreted at runtime as independent BI queries on each basic InfoProvider where the results are merged into a single result set.
• An InfoSet builds up a data join of basic InfoProviders.
The valid combination of records from the basic InfoProviders is determined by the join condition of the InfoSet.

MultiProvider:
A MultiProvider is a type of InfoProvider that combines data from a number of InfoProviders and makes it available for reporting purposes. The MultiProvider does not itself 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. 
InfoProviders and MultiProvider are the objects or views that are relevant for reporting.
Objects included in MultiProvider:
Infocube
DSO
Infoset
MD infoobject
Aggregation level
What is Aggregation level?
Aggregation levels are created in Integrated Planning using Real time IC and if you want to use them for reporting then you can include them in MultiProvider.

So that tab "Aggregation Level" shows you all the aggregation levels created for IP
Aggregation levels are used as InfoProviders for planning with an aggregation level you model levels whose data can be changed manually using input-ready queries or automatically using planning functions.

Performance Aspects of MultiProvider and InfoSets
MultiProvider
Generate both local queries (on top of single infiproider) and global queries (on multiple InfoProviders) parallel data load from the basic InfoProviders. Recommend assigning up to 10 basic InfoProviders to a MultiProvider. If the number of basic InfoProviders is significantly higher, the overhead in combining results at BI query runtime may become excessive.
The performance optimizing tools of the OLAP (such as caching, aggregation) only work for a MultiProvider if all constituent basic InfoProviders of the MultiProvider support these tools.
Use 0INFOPROV – characteristic which is available in P- Dimension, to restrict Volume of Data.
When to use InfoSets?

• To join required data from basic InfoProviders
This allows building a relational BI data model with unified views for reporting (several InfoProviders,but only one view). Therefore, we recommend keeping data in smaller, basic InfoProviders that can be flexibly joined for reporting purposes.
• To allow BEx Reporting on a DataStore object without turning the BEx Reporting indicator on.
• To evaluate time dependencies (for example, join time dependent master data InfoObjects).
• To be able to create self joins and left outer joins.

Objects included in Infoset:
Infocube
Datastore Object
MD Infoobject

Join concepts:

• Inner join: A record can only be in the selected result set if there are entries in both joined tables
Inner Join: Result contains all records, which are common to both InfoProviders (with respect to join condition)
• Left outer join: If there is no corresponding record in the right table, the record is part of the result set
(fields belonging to the right table have initial values)
Result contains all records of left infoprovider, even if there is no matching record in the right infoprovider.

• Temporal join: A join is called temporal if at least one member is time-dependent.

InfoSets

Up to 3.5 version, Infoset won’t support Infocube and Aggregates.
Maximum of 2 IC are recommended to an Infoset.
Use left outer joins in InfoSets only when necessary. A left outer join has a significantly worse performance than a corresponding inner join.



Copying Queries between InfoSets
We can copy Queries, Filters, Restricted Key Figures, Calculated Key Figures and Structures from one InfoCube to another InfoCube or one Multi-provider to another Multi-provider. To copy queries between these Infoproviders, both source and target Infoproviders must have same structure including technical names of Info objects.
It is not possible to copy queries between two infosets however they have same structure. It is because the technical names of Infobjects inside the Infoset will be defined by system while creation. Due to this reason when we create any infoset with copy of another infoset, both original and copied infoset will have different technical names for the infoobjects inside. In that case we can’t copy the queries from original infoset to copied infoset.

Scenario:

To know who are the Strong customers.

We have Sales data in Sales Cube and Customers Master data in Master data Infoobject.

Here to know, who are the Customers doing business – we need make IC as Left Operand and Mater data Infoobject as Right Operand.

While executing report, we will get All customers data, who are doing Business Successively.

Temporal join: A join is called temporal if at least one member is time-dependent.
Temporal joins are enhanced functionality for Infoset in BI7
(Temporal joins) for time dependent data
=================================================================

Step by step procedure to create a multi provider.
MultiProvider is a special InfoProvider which combine data from several InfoProviders for its own reporting, without actually holding any physical data itself (i.e. its data comes exclusively from the InfoProviders on which it is based), then, it can only use an InfoProvider that is ready and available for reporting, in which case, the Transactional ODS object is not one of them. Therefore, to include a Transactional ODS object in a MultiProvider, you would have to first define an Infoset for the Transactional ODS object.
You can include Master data table in the Multiprovider but for that you should convert the InfoObject as the data target then only it is possible.
Note : We go for Multiprovider when we want to do reporting on two or more data targets.
A MultiProvider can be made of of various combinations of the following InfoProviders:
1. InfoCubes
2. ODS Objects (Standard only)
3. InfoObjects
4. InfoSets


Creation steps :
1. Go to the info area where you want the multi provider; right click and chose create multi provider.
2. Chose a technical name and also choose the info providers that you make part of this multi provider.
3. When you confirm your entries, you will get a infocube maintenance screen; on the right side, you will see the characteristics available in al the basic cubes that you choose in the first step.
4. Select the chars that you wish to be in the multiprovider and similarly for time chars, key figs, and nav attributes ( if any).
5. Choose to create dimension and you will get a system msg whether to create from any of the basic cubes.
6. Either select to create your own dimension and insert all the chars in to the approprate dimensions.
7. Go back to chars tab and there will be tab for "idendification" click that and here is where you specify which are the chars form each cube you want into the multiprovider. And likewise for the key figure.
8. Activate the multiprovider.
If you have data in the basic cube, you can view the data in the multiprovider from LISTCUBE transaction.