dbTalk Databases Forums  

Can I put different dimensions on the same axis?

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


Discuss Can I put different dimensions on the same axis? in the microsoft.public.sqlserver.olap forum.



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

Default Can I put different dimensions on the same axis? - 10-20-2004 , 05:28 AM






An apparently easy question from a beginner: can I put members from
different dimensions on the same axis? That is, can I make something like
this:

SELECT
{ [Dimension1].Members, [Dimension2].Members} ON AXIS (0),
{ [Dimension3].Members } ON AXIS(1)
FROM MyCube

Of course I've already tried and I get an error, but maybe there's a
workaround that I ignore.

Thanks for any comment.



Reply With Quote
  #2  
Old   
Brian Altmann
 
Posts: n/a

Default RE: Can I put different dimensions on the same axis? - 10-20-2004 , 07:37 AM






You can crossjoin sets with members from different dimensions.
The simplest syntax would be:

SELECT
{ [Dimension1].Members * [Dimension2].Members} ON AXIS (0),
{ [Dimension3].Members } ON AXIS(1)
FROM MyCube

Lookup Crossjoin in BOL for more details and options.
HTH,
Brian
www.geocities.com/brianaltmann/olap.html



"Moco" wrote:

Quote:
An apparently easy question from a beginner: can I put members from
different dimensions on the same axis? That is, can I make something like
this:

SELECT
{ [Dimension1].Members, [Dimension2].Members} ON AXIS (0),
{ [Dimension3].Members } ON AXIS(1)
FROM MyCube

Of course I've already tried and I get an error, but maybe there's a
workaround that I ignore.

Thanks for any comment.




Reply With Quote
  #3  
Old   
Michael Vardinghus
 
Posts: n/a

Default Re: Can I put different dimensions on the same axis? - 10-20-2004 , 05:05 PM



Sorry to but in here...

But isn't it true that when you crossjoin you cannot do "a normal drill
down" from one
dimension member in Dim1 to Dim 2 members related to this.

Say I have Dim1 = A, B, C

When first looking at data I want to have aggregates on A, B, and C and
don't want
to see Dim2 members yet. I want to see Dim2 members when clickling a
specific
Dim1 member - so when clicking Dim1 member B and want to see the aggregates
for Dim1 member B alone - and not Dim2 aggregates for Dim A and and Dim C.

But perhaps I can't get that...perhaps its either none of Dim2 listed or
alle of Dim2
listed when they are on the same axis (not how owc works though..)

Brian Altmann <findme@thesignaturewebsite> wrote

Quote:
You can crossjoin sets with members from different dimensions.
The simplest syntax would be:

SELECT
{ [Dimension1].Members * [Dimension2].Members} ON AXIS (0),
{ [Dimension3].Members } ON AXIS(1)
FROM MyCube

Lookup Crossjoin in BOL for more details and options.
HTH,
Brian
www.geocities.com/brianaltmann/olap.html



"Moco" wrote:

An apparently easy question from a beginner: can I put members from
different dimensions on the same axis? That is, can I make something
like
this:

SELECT
{ [Dimension1].Members, [Dimension2].Members} ON AXIS (0),
{ [Dimension3].Members } ON AXIS(1)
FROM MyCube

Of course I've already tried and I get an error, but maybe there's a
workaround that I ignore.

Thanks for any comment.






Reply With Quote
  #4  
Old   
Brian Altmann
 
Posts: n/a

Default Re: Can I put different dimensions on the same axis? - 10-21-2004 , 09:05 AM



As far as I know, the drill down concept applies only to one dimension, there
is no drilldrown (normal or otherwise), among dimensions. Moreover it is a
client behavior while crossjoin is an MDX concept.
Aggregates are also "intradimensional".
In many recent posts I've seen that client behavior/formatting gets mixed up
with MDX concepts, so, FWIW, I'd like to offer my views on this:
MDX is a query language that retuns cellsets (o flattened rowsets, but I
won't go into that here). It defines the way you retrieve OLAP data, not the
way you show it.
A cellset has a set defined for each axis and a slicer tuple. Each axis set
is made up of tuples, this means there are one or more dimensions on the set.
As far as the set goes there is no relation between the tuples, they are
ordered, but not hierarchized in any way. Additionally the cellset includes
metadata for the dimensions, levels and members that form the tuples.
The client application can use the metadata for each member of each tuple to
build groups, hierarchies, etc. and nest the results in many different ways.
It can also show or hide dimensions. In short it can behave in any of the
ways you describe.
However it cannot display aggregates unless they are part of the set (or
tries to calculate them, a really worst practice).
Another thing to take into account is that some apps (OWC, for one) generate
quite a few MDX queries to satisfy a single user request and then integrate
the results.
I believe a nice way to "see" cellsets is by using XML/A and working with
the results in your very own client app., no matter how simple. It really
helps in differentiating what is really being returned by the AS server, and
what is being done by the clients, such as Excel, MDX Sample, OWC, et al.
Regards,
Brian

"Michael Vardinghus" wrote:

Quote:
Sorry to but in here...

But isn't it true that when you crossjoin you cannot do "a normal drill
down" from one
dimension member in Dim1 to Dim 2 members related to this.

Say I have Dim1 = A, B, C

When first looking at data I want to have aggregates on A, B, and C and
don't want
to see Dim2 members yet. I want to see Dim2 members when clickling a
specific
Dim1 member - so when clicking Dim1 member B and want to see the aggregates
for Dim1 member B alone - and not Dim2 aggregates for Dim A and and Dim C.

But perhaps I can't get that...perhaps its either none of Dim2 listed or
alle of Dim2
listed when they are on the same axis (not how owc works though..)

Brian Altmann <findme@thesignaturewebsite> wrote in message
news269AD0B-268E-4E6E-A376-F7316F8D98BA (AT) microsoft (DOT) com...
You can crossjoin sets with members from different dimensions.
The simplest syntax would be:

SELECT
{ [Dimension1].Members * [Dimension2].Members} ON AXIS (0),
{ [Dimension3].Members } ON AXIS(1)
FROM MyCube

Lookup Crossjoin in BOL for more details and options.
HTH,
Brian
www.geocities.com/brianaltmann/olap.html



"Moco" wrote:

An apparently easy question from a beginner: can I put members from
different dimensions on the same axis? That is, can I make something
like
this:

SELECT
{ [Dimension1].Members, [Dimension2].Members} ON AXIS (0),
{ [Dimension3].Members } ON AXIS(1)
FROM MyCube

Of course I've already tried and I get an error, but maybe there's a
workaround that I ignore.

Thanks for any comment.







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.