dbTalk Databases Forums  

Autoexist in AS 2005 cubes

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


Discuss Autoexist in AS 2005 cubes in the microsoft.public.sqlserver.olap forum.



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

Default Autoexist in AS 2005 cubes - 12-14-2005 , 03:46 PM






With Autoexist I thought that AS 2005 would finally work as a relational
database "inner join" between dimension tables and fact-tables. My thought
was that if I put a customer dimension, with 3000 members, together with a
product dimension, with 2000 members, on the row axis, I would only see the
valid combinations of Customers and Products, actually bought, in a sales
AS-2005 cube. Not a relational crossjoin between Customers and Products.

After reading comments from Chris Webb I realize that this is not correct,
or?

What You actually mean(MS) is that this is only valid for a single dimension
and the "attribute hierarchies" and "user hierarchies" within that
dimension?

If this is correct I cannot get this to fit with the talk of the UDM as a
source for all types of reporting and analysis. I will still have to use
TSQL and reporting services to get only the real combination of Customers,
Products and Facts that have occurred in Sales?

Regards
Thomas Ivarsson



Reply With Quote
  #2  
Old   
Akshai Mirchandani [MS]
 
Posts: n/a

Default Re: Autoexist in AS 2005 cubes - 12-14-2005 , 04:02 PM






All you need is to say you want the NON EMPTY crossjoin of the three
dimensions and it will return you only the rows that have non empty measure
values...

Thanks,
Akshai
--
This posting is provided "AS IS" with no warranties, and confers no rights
Please do not send email directly to this alias. This alias is for newsgroup
purposes only.

"Thomas Ivarsson" <TI (AT) nospam (DOT) com> wrote

Quote:
With Autoexist I thought that AS 2005 would finally work as a relational
database "inner join" between dimension tables and fact-tables. My thought
was that if I put a customer dimension, with 3000 members, together with a
product dimension, with 2000 members, on the row axis, I would only see
the valid combinations of Customers and Products, actually bought, in a
sales AS-2005 cube. Not a relational crossjoin between Customers and
Products.

After reading comments from Chris Webb I realize that this is not correct,
or?

What You actually mean(MS) is that this is only valid for a single
dimension and the "attribute hierarchies" and "user hierarchies" within
that dimension?

If this is correct I cannot get this to fit with the talk of the UDM as a
source for all types of reporting and analysis. I will still have to use
TSQL and reporting services to get only the real combination of Customers,
Products and Facts that have occurred in Sales?

Regards
Thomas Ivarsson




Reply With Quote
  #3  
Old   
Thomas Ivarsson
 
Posts: n/a

Default Re: Autoexist in AS 2005 cubes - 12-14-2005 , 04:10 PM



Yes I know. This is not the question. So this model have not changed and it
is still relational crossjoin between dimensions and dimensions-facts that
is the model in AS 2005? This means that I cannot use the UDM to get a
relational inner join? I must use TSQL and RS 2005 to solve this?

Regards
/Thomas

"Akshai Mirchandani [MS]" <akshaim (AT) online (DOT) microsoft.com> wrote

Quote:
All you need is to say you want the NON EMPTY crossjoin of the three
dimensions and it will return you only the rows that have non empty
measure values...

Thanks,
Akshai
--
This posting is provided "AS IS" with no warranties, and confers no rights
Please do not send email directly to this alias. This alias is for
newsgroup
purposes only.

"Thomas Ivarsson" <TI (AT) nospam (DOT) com> wrote in message
news:OXVjdfPAGHA.2036 (AT) TK2MSFTNGP14 (DOT) phx.gbl...
With Autoexist I thought that AS 2005 would finally work as a relational
database "inner join" between dimension tables and fact-tables. My
thought was that if I put a customer dimension, with 3000 members,
together with a product dimension, with 2000 members, on the row axis, I
would only see the valid combinations of Customers and Products, actually
bought, in a sales AS-2005 cube. Not a relational crossjoin between
Customers and Products.

After reading comments from Chris Webb I realize that this is not
correct, or?

What You actually mean(MS) is that this is only valid for a single
dimension and the "attribute hierarchies" and "user hierarchies" within
that dimension?

If this is correct I cannot get this to fit with the talk of the UDM as a
source for all types of reporting and analysis. I will still have to use
TSQL and reporting services to get only the real combination of
Customers, Products and Facts that have occurred in Sales?

Regards
Thomas Ivarsson






Reply With Quote
  #4  
Old   
Akshai Mirchandani [MS]
 
Posts: n/a

Default Re: Autoexist in AS 2005 cubes - 12-14-2005 , 09:56 PM



Yes, Auto-exists is automatic only within a dimension. Dimensions are
special in OLAP and so yes, it is by default a full crossjoin between
dimensions and dimensions and facts.

But I was also answering this comment:

Quote:
If this is correct I cannot get this to fit with the talk of the UDM as
a source for all types of reporting and analysis. I will still have to
use TSQL and reporting services to get only the real combination of
Customers, Products and Facts that have occurred in Sales?
Just because the "default" mechanism of crossjoining dimensions doesn't give
you the inner join doesn't mean you can't get it and "still have to use TSQL
and reporting services".

You can also use the function Exists( <set>, [<filter set>], "measure group
name" ) to obtain the inner join with respect to a measure group. This will
return the tuples in the set that have data associated with them in the
measure group. So essentially you can now do:

SELECT Exists( [Customers].members * [Product].members, ,"Sales" ) ON 0
FROM [Sales]
would return you the customers and products that have sales.

Or:

SELECT Exists( [Customers].members, { [Product].[Food] }, "Sales" ) ON 0
FROM [Sales]
which would return you the customers that bought the product Food in the
Sales fact table.


But yes, you still cannot do cross-dimensional natural joins very
efficiently. E.g. something like:
SELECT [BillToCustomers].members * [ShipToCustomers].members
where BillToCustomers.[EmailAlias] = ShipToCustomers.[EmailAlias]
isn't a very natural OLAP construct and requires you to use a Filter over
the entire crossjoin...

Thanks,
Akshai
--
This posting is provided "AS IS" with no warranties, and confers no rights
Please do not send email directly to this alias. This alias is for newsgroup
purposes only.

"Thomas Ivarsson" <TI (AT) nospam (DOT) com> wrote

Quote:
Yes I know. This is not the question. So this model have not changed and
it is still relational crossjoin between dimensions and dimensions-facts
that is the model in AS 2005? This means that I cannot use the UDM to get
a relational inner join? I must use TSQL and RS 2005 to solve this?

Regards
/Thomas

"Akshai Mirchandani [MS]" <akshaim (AT) online (DOT) microsoft.com> wrote in message
news:uR8gSoPAGHA.3984 (AT) TK2MSFTNGP14 (DOT) phx.gbl...
All you need is to say you want the NON EMPTY crossjoin of the three
dimensions and it will return you only the rows that have non empty
measure values...

Thanks,
Akshai
--
This posting is provided "AS IS" with no warranties, and confers no
rights
Please do not send email directly to this alias. This alias is for
newsgroup
purposes only.

"Thomas Ivarsson" <TI (AT) nospam (DOT) com> wrote in message
news:OXVjdfPAGHA.2036 (AT) TK2MSFTNGP14 (DOT) phx.gbl...
With Autoexist I thought that AS 2005 would finally work as a
relational database "inner join" between dimension tables and
fact-tables. My thought was that if I put a customer dimension, with
3000 members, together with a product dimension, with 2000 members, on
the row axis, I would only see the valid combinations of Customers and
Products, actually bought, in a sales AS-2005 cube. Not a relational
crossjoin between Customers and Products.

After reading comments from Chris Webb I realize that this is not
correct, or?

What You actually mean(MS) is that this is only valid for a single
dimension and the "attribute hierarchies" and "user hierarchies" within
that dimension?

If this is correct I cannot get this to fit with the talk of the UDM as
a source for all types of reporting and analysis. I will still have to
use TSQL and reporting services to get only the real combination of
Customers, Products and Facts that have occurred in Sales?

Regards
Thomas Ivarsson








Reply With Quote
  #5  
Old   
Thomas Ivarsson
 
Posts: n/a

Default Re: Autoexist in AS 2005 cubes - 12-15-2005 , 09:41 AM



Thank's for your comment.

Regards
/Thomas
"Akshai Mirchandani [MS]" <akshaim (AT) online (DOT) microsoft.com> wrote

Quote:
Yes, Auto-exists is automatic only within a dimension. Dimensions are
special in OLAP and so yes, it is by default a full crossjoin between
dimensions and dimensions and facts.

But I was also answering this comment:

If this is correct I cannot get this to fit with the talk of the UDM as
a source for all types of reporting and analysis. I will still have to
use TSQL and reporting services to get only the real combination of
Customers, Products and Facts that have occurred in Sales?

Just because the "default" mechanism of crossjoining dimensions doesn't
give you the inner join doesn't mean you can't get it and "still have to
use TSQL and reporting services".

You can also use the function Exists( <set>, [<filter set>], "measure
group name" ) to obtain the inner join with respect to a measure group.
This will return the tuples in the set that have data associated with them
in the measure group. So essentially you can now do:

SELECT Exists( [Customers].members * [Product].members, ,"Sales" ) ON 0
FROM [Sales]
would return you the customers and products that have sales.

Or:

SELECT Exists( [Customers].members, { [Product].[Food] }, "Sales" ) ON
0 FROM [Sales]
which would return you the customers that bought the product Food in the
Sales fact table.


But yes, you still cannot do cross-dimensional natural joins very
efficiently. E.g. something like:
SELECT [BillToCustomers].members * [ShipToCustomers].members
where BillToCustomers.[EmailAlias] = ShipToCustomers.[EmailAlias]
isn't a very natural OLAP construct and requires you to use a Filter over
the entire crossjoin...

Thanks,
Akshai
--
This posting is provided "AS IS" with no warranties, and confers no rights
Please do not send email directly to this alias. This alias is for
newsgroup
purposes only.

"Thomas Ivarsson" <TI (AT) nospam (DOT) com> wrote in message
news:ezkW9sPAGHA.2696 (AT) TK2MSFTNGP10 (DOT) phx.gbl...
Yes I know. This is not the question. So this model have not changed and
it is still relational crossjoin between dimensions and dimensions-facts
that is the model in AS 2005? This means that I cannot use the UDM to get
a relational inner join? I must use TSQL and RS 2005 to solve this?

Regards
/Thomas

"Akshai Mirchandani [MS]" <akshaim (AT) online (DOT) microsoft.com> wrote in message
news:uR8gSoPAGHA.3984 (AT) TK2MSFTNGP14 (DOT) phx.gbl...
All you need is to say you want the NON EMPTY crossjoin of the three
dimensions and it will return you only the rows that have non empty
measure values...

Thanks,
Akshai
--
This posting is provided "AS IS" with no warranties, and confers no
rights
Please do not send email directly to this alias. This alias is for
newsgroup
purposes only.

"Thomas Ivarsson" <TI (AT) nospam (DOT) com> wrote in message
news:OXVjdfPAGHA.2036 (AT) TK2MSFTNGP14 (DOT) phx.gbl...
With Autoexist I thought that AS 2005 would finally work as a
relational database "inner join" between dimension tables and
fact-tables. My thought was that if I put a customer dimension, with
3000 members, together with a product dimension, with 2000 members, on
the row axis, I would only see the valid combinations of Customers and
Products, actually bought, in a sales AS-2005 cube. Not a relational
crossjoin between Customers and Products.

After reading comments from Chris Webb I realize that this is not
correct, or?

What You actually mean(MS) is that this is only valid for a single
dimension and the "attribute hierarchies" and "user hierarchies" within
that dimension?

If this is correct I cannot get this to fit with the talk of the UDM as
a source for all types of reporting and analysis. I will still have to
use TSQL and reporting services to get only the real combination of
Customers, Products and Facts that have occurred in Sales?

Regards
Thomas Ivarsson










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.