cancel
Showing results for 
Search instead for 
Did you mean: 

The purpose of the info set?

Former Member
0 Kudos

Hello Friends,

I went through many forumns regarding the infoset, and many explained that its a Join operation between ( Info Cube, Info Object and DSO).

But I could'nt understand the real purpose or real scenario in which we need to go for Infoset. Can any one explain me the actual need of the Info set plz.....

Points will be awarded for any answers.....

Thanks for your time

Accepted Solutions (1)

Accepted Solutions (1)

dennis_scoville4
Active Contributor
0 Kudos

The purpose of an InfoSet is to provide the ability to perform joins between InfoProviders in order to render results in a query with that joined data. It is used in place of adding InfoObjects to an InfoProvider and loading additional data to an InfoProvider, thereby saving storage on your database. It does, however, carry with it some pitfalls in performance because it is pretty much a view and therefore renders data at time of execution.

In case you're curious, MultiProviders are like InfoSets in that they're a view (do not physically store data and are invoked at time of execution), but they are for unions of InfoProviders. MultiProviders tend to be a little better in performance because they union like data together.

Answers (2)

Answers (2)

Former Member
0 Kudos

Hello Ram,

Using an Info Set, we can have the intersection of the records among two tables.

For eg: There are two tables X and Y.

X contains : 1, 2, 3, 4, 5, 6, 7, 8, 9, 0.

Y contains: 1, 2, 3, 5, a, b, c, d, e.

So, now an Info Set with Equi join gives the result : 1, 2, 3, 5.

Info Set with Left Outer join contains (X is the table on the left and Y is the table on the right): 1, 2, 3, 4, 5, 6, 7, 8, 9 ,0.

If it is the case with the Multi Provider the result set would contain: 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, a, b, c, d, e.

In BW, only left outer join and equi join are possible.

Hope this helps you in understanding.

Kirit

Former Member
0 Kudos

HI ram.,

what if., i want to display 1,2,3,4,a,b,c,d??? i mean, selective fields from both ...cant we do that...i thought, thats what we do in infoset, instead of displaying all the fields in multiprovider....please clarify my doubt

\

Regards,

PK

Former Member
0 Kudos

HI ram.,

what if., i want to display 1,2,3,4,a,b,c,d??? i mean, selective fields from both ...cant we do that...i thought, thats what we do in infoset, instead of displaying all the fields in multiprovider....please clarify my doubt

\

Regards,

PK

Former Member
0 Kudos

Hello PNK,

Info set works based on the intersection of two tables. You cannot randomly select some fields from the two tables....

Krishna Kirit has given a good example of how info set works.

Former Member
0 Kudos

Hi there,

For example the use of MultiCube is to do union of data, and infoset you can do intersection of data.

So for example you have two ODS, you could have an InfoSet over the two ODS, joining by similar characteristics, therefore retrieving data from one ODS that also belongs to the other ODS, or for example with left outer join, data from one ODS that not only intersects with the other ODS, but also all the data from one ODS that is not present in the second ODS.

Diogo.

Former Member
0 Kudos

Hello Diogo Ferreira,

Thanks for the quick reply. So do you mean to say that

1) I need to have same Key figures in both DSO , for the info set to work ?

or Can I have different key figures, but join the DSO only by the characteristics?

2) Can you give a real example or business scenario, for which I need to go for Info set plz?

Points assigned.......

Former Member
0 Kudos

Hi there,

No, you don't need to have the same key figures, and therefore you can even use differente key figures from for instance one ODS and other key figures for other ODS.

A simple example, you could have 0customer and 0cust_compc. Two infoobjects, the first is customer independtly of the company code, the other is customer belonging only to specific company codes (dependent with compound).

So lets say you wish to display all information for all customers, you can create an infoset joining both the two infoobjects, and you could or with inner join display all 0customer that also exist for 0cust_compc, or with left outer join, display all 0customer that exist in 0cust_compc, but also 0cust_compc that exist even if they don't exist in 0customer (or vice-versa with the left outer join in the other direction, i.e., all 0cust_compc that exist in 0customer and all 0customer regarding if they exist or not in 0cust_compc).

Diogo.