dbTalk Databases Forums  

DSO:add shared dimension to a cube: how to join it

microsoft.public.sqlserver.olap microsoft.public.sqlserver.olap


Discuss DSO:add shared dimension to a cube: how to join it in the microsoft.public.sqlserver.olap forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Alberto
 
Posts: n/a

Default DSO:add shared dimension to a cube: how to join it - 04-06-2004 , 04:05 AM






I create using DSO a shared dimension with three levels.

Level1
level2
level3

level1 is the detail. The name of the fields that should join the fact
table and level1 are different.

When I add this dimension to the cube with DSO, I'm not able to tell
dso how to join the dimension and the cube.

How do I accomplish this ?

thankyou, Alberto

Reply With Quote
  #2  
Old   
Matt Carroll [MS]
 
Posts: n/a

Default Re: DSO:add shared dimension to a cube: how to join it - 04-08-2004 , 02:00 PM






In the UI, you can specify the join between the dimension table and the fact
table in the diagram of the cube editor by dragging a column from the
dimension table to the appropriate column of the fact table. In the case
where this column does not correspond to the key of the leaf level of the
dimension, you'll then need to disable (by setting the Disabled property in
the properties grid) the level just below the level associated with this
column. This will automatically disable any lower levels and set the
granularity of the cube in relation to this dimension.

In DSO, you specify the relation between the dimension and the fact table by
setting the JoinClause property on the Cube object. You'll need to disable
levels as described above if the join is not to the leaf level.

- Matt Carroll
--
This posting is provided "AS IS" with no warranties, and confers no rights.


"Alberto" <iltrex (AT) libero (DOT) it> wrote

Quote:
I create using DSO a shared dimension with three levels.

Level1
level2
level3

level1 is the detail. The name of the fields that should join the fact
table and level1 are different.

When I add this dimension to the cube with DSO, I'm not able to tell
dso how to join the dimension and the cube.

How do I accomplish this ?

thankyou, Alberto



Reply With Quote
  #3  
Old   
Alberto
 
Posts: n/a

Default Re: DSO:add shared dimension to a cube: how to join it - 04-09-2004 , 09:03 AM



Quote:
In DSO, you specify the relation between the dimension and the fact table by
setting the JoinClause property on the Cube object. You'll need to disable
levels as described above if the join is not to the leaf level.
Thank you.
Yes, of course I was speaking about DSO.

I eventualy got the cube to work, but I found a strange behaviour.

Can you tell me if it is normal ?

BTW, everyhting is done via DSO.

I define shared dimensions, some with only one level and others with 2
or more levels. For every dimensions i set the joinclause in the case
of more levels.

If I process and browse them from Analysis manager thei work fine.

Now I create the cube (via DSO), add the dimensions
(cube.dimension.addnew(name_of_shared_dimension)) and set the join
clause of the cube in order to join it with every level0.

If I open it in analysys manager it is show correctly, with all the
dimensions joined in the right way and also the joins between levels
are correct.
But it doesn't process. It say that some tables are not joined.

I eventualy discovered that in the joinclause of the cube I have to
replicate all the join clause of the multi-level dimensions.

Is this the way it is meant to be ? It sound strange to me....

Thank you!


Reply With Quote
  #4  
Old   
Matt Carroll [MS]
 
Posts: n/a

Default Re: DSO:add shared dimension to a cube: how to join it - 04-09-2004 , 02:15 PM



If you optimize the schema I don't think this should be necessary.
Optimizing the schema means change the key column of the lowest level of
each cube dimension from the key of the dimension table to the corresponding
foreign key in the cube table. This may not always be possible if the join
between this cube and the dimension is not to the key column of the lowest
enabled level. The benifit of this optimization is that during cube
processing the server won't have to include the dimension tables in it's
queries. This can supstantially speed up processing and should allow you to
process without having all the dimension joins in the cube's join clause.
(The UI has a menu item to perform this optimization in the cube editor.)

- Matt Carroll
--
This posting is provided "AS IS" with no warranties, and confers no rights.

"Alberto" <iltrex (AT) libero (DOT) it> wrote

Quote:
In DSO, you specify the relation between the dimension and the fact table
by
setting the JoinClause property on the Cube object. You'll need to
disable
levels as described above if the join is not to the leaf level.

Thank you.
Yes, of course I was speaking about DSO.

I eventualy got the cube to work, but I found a strange behaviour.

Can you tell me if it is normal ?

BTW, everyhting is done via DSO.

I define shared dimensions, some with only one level and others with 2
or more levels. For every dimensions i set the joinclause in the case
of more levels.

If I process and browse them from Analysis manager thei work fine.

Now I create the cube (via DSO), add the dimensions
(cube.dimension.addnew(name_of_shared_dimension)) and set the join
clause of the cube in order to join it with every level0.

If I open it in analysys manager it is show correctly, with all the
dimensions joined in the right way and also the joins between levels
are correct.
But it doesn't process. It say that some tables are not joined.

I eventualy discovered that in the joinclause of the cube I have to
replicate all the join clause of the multi-level dimensions.

Is this the way it is meant to be ? It sound strange to me....

Thank you!



Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.