dbTalk Databases Forums  

"Non Empty Behaviour" property, "Non Empty" clause and "IsEmpty()" function..

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


Discuss "Non Empty Behaviour" property, "Non Empty" clause and "IsEmpty()" function.. in the microsoft.public.sqlserver.olap forum.



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

Default "Non Empty Behaviour" property, "Non Empty" clause and "IsEmpty()" function.. - 08-13-2004 , 03:00 PM






To speed up MDX query, often "Non Empty Behaviour" of the calculated
measure is set to its measure key.

Will this "non empty behaviour" setting have a performance gain if
"IsEmpty()" function is used in the query and if "Non Empty" clause is
not used in the query.

OR is it necessary to have "Non Empty" clause to see the performance
gain.

I cant use "Non Empty" clause in my query because I need a subset() of
first x non empty rows from the result.
My query look like ..
***********
Select subset(HIERARCHIZE(DISTINCT({FILTER( {{
[Product].[(All)].Members} * { [Channel
Category].[Subcategory].Members} * { [Location].[State].Members}}, NOT
ISEMPTY( [Measures].[Price]) ) })),0,10) on rows,
HIERARCHIZE(DISTINCT({FILTER( {{ [Measures].[Price]}}, NOT ISEMPTY(
[Measures].[Price]) ) })) on columns From [MySales]
************

Reply With Quote
  #2  
Old   
Mosha Pasumansky [MS]
 
Posts: n/a

Default Re: "Non Empty Behaviour" property, "Non Empty" clause and "IsEmpty()" function.. - 08-13-2004 , 08:49 PM






NonEmptyBehavior will only help NON EMPTY queries. Filter(..., NOT
IsEmpty()) doesn't take advantage of it in AS2K (although it does in
Yukon!).
If your cube doesn't have calculations - you can use NonEmptyCrossJoin
function instead.

--
==================================================
Mosha Pasumansky - http://www.mosha.com/msolap
Yukon information at http://www.mosha.com/msolap/yukon.htm
Development Lead in the Analysis Server team
All you need is love (John Lennon)
Disclaimer : This posting is provided "AS IS" with no warranties, and
confers no rights.
==================================================

"Mangesh Pawar" <pawar_mangesh (AT) hotmail (DOT) com> wrote

Quote:
To speed up MDX query, often "Non Empty Behaviour" of the calculated
measure is set to its measure key.

Will this "non empty behaviour" setting have a performance gain if
"IsEmpty()" function is used in the query and if "Non Empty" clause is
not used in the query.

OR is it necessary to have "Non Empty" clause to see the performance
gain.

I cant use "Non Empty" clause in my query because I need a subset() of
first x non empty rows from the result.
My query look like ..
***********
Select subset(HIERARCHIZE(DISTINCT({FILTER( {{
[Product].[(All)].Members} * { [Channel
Category].[Subcategory].Members} * { [Location].[State].Members}}, NOT
ISEMPTY( [Measures].[Price]) ) })),0,10) on rows,
HIERARCHIZE(DISTINCT({FILTER( {{ [Measures].[Price]}}, NOT ISEMPTY(
[Measures].[Price]) ) })) on columns From [MySales]
************



Reply With Quote
  #3  
Old   
Mangesh Pawar
 
Posts: n/a

Default Re: "Non Empty Behaviour" property, "Non Empty" clause and "IsEmpty()" function.. - 08-14-2004 , 03:33 PM



Thanks Mosha for clearing the understanding....

But is it possibble to limit OR take the subset of the result returned
by the query having "Non Empty" clause and CrossJoin() function.. so
as to avoid empty data cells being considered by AS2K..

The work around about for this would help the community a lot

**************
WITH
SET [Myset]
AS
'CROSSJOIN( { [Product].[(All)].Members} , Non Empty
CrossJoin({ [Channel Category].[Subcategory].Members},{
[Location].[State].Members}))'

Select
NON EMPTY {[Myset]} on rows, {[Measures].[Order Count]} on
columns From [Sales Aggregate]
***************

Reply With Quote
  #4  
Old   
Mosha Pasumansky [MS]
 
Posts: n/a

Default Re: "Non Empty Behaviour" property, "Non Empty" clause and "IsEmpty()" function.. - 08-17-2004 , 03:40 AM



You could use NonEmptyCrossJoin function for that if your cube doesn't have
calculations.
Otherwise - you will have to use Filter with NOT IsEmpty clause...

--
==================================================
Mosha Pasumansky - http://www.mosha.com/msolap
Yukon information at http://www.mosha.com/msolap/yukon.htm
Development Lead in the Analysis Server team
All you need is love (John Lennon)
Disclaimer : This posting is provided "AS IS" with no warranties, and
confers no rights.
==================================================

"Mangesh Pawar" <pawar_mangesh (AT) hotmail (DOT) com> wrote

Quote:
Thanks Mosha for clearing the understanding....

But is it possibble to limit OR take the subset of the result returned
by the query having "Non Empty" clause and CrossJoin() function.. so
as to avoid empty data cells being considered by AS2K..

The work around about for this would help the community a lot

**************
WITH
SET [Myset]
AS
'CROSSJOIN( { [Product].[(All)].Members} , Non Empty
CrossJoin({ [Channel Category].[Subcategory].Members},{
[Location].[State].Members}))'

Select
NON EMPTY {[Myset]} on rows, {[Measures].[Order Count]} on
columns From [Sales Aggregate]
***************



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.