dbTalk Databases Forums  

Do missing values get stored?

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


Discuss Do missing values get stored? in the microsoft.public.sqlserver.olap forum.



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

Default Do missing values get stored? - 09-07-2004 , 04:39 PM






We have a dimension called "product" and through time this product
will not exist. The documents on Analysis Services says that missing
values do not not account for storage. My experience with other OLAP
engines is that if there is a measure that is using "x" number of
dimensions it will use storage throughout all the member intersection
for that measure. But with Analysis Services it is documented that
this is not the case. Am I misreading the information from Microsoft
or is this really true. If so, how are they doing this with a MOLAP
storage model?

Reply With Quote
  #2  
Old   
Dave Wickert [MSFT]
 
Posts: n/a

Default Re: Do missing values get stored? - 09-07-2004 , 05:33 PM






This is absolutely correct. Analysis Services MOLAP storage is based on
cells; not measures. We do not store empty cells; nor aggregates where the
combination of members is empty. In your case, there are no facts or
aggregates with this particular product back through time -- so we don't
store it.

Note, as a side-point, that this is NOT true when we pass data down to the
client. We pass all measures down to the client. So suppose your cube has
100 measures (Sales Amt, Sales Count, Avg Sale Amt, etc.), and you ask for
just the Sales Amt of a Product in 2003, then we pass the Sales Amount, plus
the Sales Count (for example), plus any other measures you have in that
cube. Operating across a slow wide-area network (or the Internet), this can
have performance impact. Thus it is not a best practice to have more
measures than you truly need for your analysis requirements. See the
Analysis Services Performance guide for more information:
http://www.microsoft.com/technet/pro.../ansvcspg.mspx
under the section: Optimizing Clients for Slow Network Connections.

This wasn't your question, but I thought you might be interested . . .
--
Dave Wickert [MSFT]
dwickert (AT) online (DOT) microsoft.com
Program Manager
BI SystemsTeam
SQL BI Product Unit (Analysis Services)
--
This posting is provided "AS IS" with no warranties, and confers no rights.

"Rico Cali" <ricocali (AT) hotmail (DOT) com> wrote

Quote:
We have a dimension called "product" and through time this product
will not exist. The documents on Analysis Services says that missing
values do not not account for storage. My experience with other OLAP
engines is that if there is a measure that is using "x" number of
dimensions it will use storage throughout all the member intersection
for that measure. But with Analysis Services it is documented that
this is not the case. Am I misreading the information from Microsoft
or is this really true. If so, how are they doing this with a MOLAP
storage model?



Reply With Quote
  #3  
Old   
Rico Cali
 
Posts: n/a

Default Re: Do missing values get stored? - 09-07-2004 , 10:42 PM



"Dave Wickert [MSFT]" <dwickert (AT) online (DOT) microsoft.com> wrote

Quote:
Note, as a side-point, that this is NOT true when we pass data down to the
client. We pass all measures down to the client. So suppose your cube has
100 measures (Sales Amt, Sales Count, Avg Sale Amt, etc.), and you ask for
just the Sales Amt of a Product in 2003, then we pass the Sales Amount, plus
the Sales Count (for example), plus any other measures you have in that
cube. Operating across a slow wide-area network (or the Internet), this can
have performance impact. Thus it is not a best practice to have more
measures than you truly need for your analysis requirements. See the
Analysis Services Performance guide for more information:
http://www.microsoft.com/technet/pro.../ansvcspg.mspx
under the section: Optimizing Clients for Slow Network Connections.

This wasn't your question, but I thought you might be interested . . .
Understood, but to get around that wouldn't a web-base presentation
with paging be more appropriate since the fetch of the cube would
happen locally on the server and would just present the page
information through the browser instead of the subset of the cube?


Reply With Quote
  #4  
Old   
Dave Wickert [MSFT]
 
Posts: n/a

Default Re: Do missing values get stored? - 09-08-2004 , 12:31 AM



That is certainly a good approach, but it is not the only one. PTS has lots
of smarts in it for client-side caching and is an excellent interface for
true client-server connections.
--
Dave Wickert [MSFT]
dwickert (AT) online (DOT) microsoft.com
Program Manager
BI SystemsTeam
SQL BI Product Unit (Analysis Services)
--
This posting is provided "AS IS" with no warranties, and confers no rights.

"Rico Cali" <ricocali (AT) hotmail (DOT) com> wrote

Quote:
"Dave Wickert [MSFT]" <dwickert (AT) online (DOT) microsoft.com> wrote

Note, as a side-point, that this is NOT true when we pass data down to
the
client. We pass all measures down to the client. So suppose your cube
has
100 measures (Sales Amt, Sales Count, Avg Sale Amt, etc.), and you ask
for
just the Sales Amt of a Product in 2003, then we pass the Sales Amount,
plus
the Sales Count (for example), plus any other measures you have in that
cube. Operating across a slow wide-area network (or the Internet), this
can
have performance impact. Thus it is not a best practice to have more
measures than you truly need for your analysis requirements. See the
Analysis Services Performance guide for more information:

http://www.microsoft.com/technet/pro.../ansvcspg.mspx
under the section: Optimizing Clients for Slow Network Connections.

This wasn't your question, but I thought you might be interested . . .

Understood, but to get around that wouldn't a web-base presentation
with paging be more appropriate since the fetch of the cube would
happen locally on the server and would just present the page
information through the browser instead of the subset of the cube?



Reply With Quote
  #5  
Old   
Nigel Pendse
 
Posts: n/a

Default Re: Do missing values get stored? - 09-08-2004 , 02:38 AM



"Rico Cali" <ricocali (AT) hotmail (DOT) com> wrote

Quote:
We have a dimension called "product" and through time this product
will not exist. The documents on Analysis Services says that missing
values do not not account for storage. My experience with other OLAP
engines is that if there is a measure that is using "x" number of
dimensions it will use storage throughout all the member intersection
for that measure.
That's not true of most OLAP servers, not even Essbase which is what I
think you're referring to. Most OLAP servers make some attempt to
suppress empty cells, but sometimes it's actually more efficient to
store individual empty cells than to suppress 100% of them (ie, there's
more index overhead than space saved if you try and zap every last one
of them).

The real problem of database explosion, which is what I think you are
referring to, occurs when OLAP servers create way too many aggregates.
These are redundant rather than null, and it is one of Analysis
Services' strengths that it is able to create and work with small
numbers of appropriate aggregates. Essbase did not have this capability
until version 7.1, but its new aggregate storage option works in a
similar way to Analysis Services and may actually be more efficient in
some ways (though Analysis Services is still better at data
compression). The only significant MOLAP that really does store no empty
cells at all, and no aggregates, is TM1, and it's worked that way for
many years.




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.