dbTalk Databases Forums  

DSO - force fact table row count

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


Discuss DSO - force fact table row count in the microsoft.public.sqlserver.olap forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Richard A Rose
 
Posts: n/a

Default DSO - force fact table row count - 10-27-2005 , 05:41 AM






Hi all,

Does anyone know how to programmatically count the fact table rows in a
SQL 2000 cube, using DSO?

I have a requirement for a utility to monitor the last processed date
and the fact table size for production cubes.

I can easily get the "FactTableSize" property, but this is just the fact
table size that was put into the cube when first built, or when last
manually counted from Analysis Manager, so it is always out of date. I
assume that the method to count the rows is exposed, but I can't find it
documented, nor in a day plus of exploring the object model manually.

Also, is there any issue with doing this - eg would it for some strange
reason force a re-process to be required?


Thanks as ever,


Richard R.

Reply With Quote
  #2  
Old   
Denny Lee
 
Posts: n/a

Default Re: DSO - force fact table row count - 10-27-2005 , 11:22 AM






Actually, I do not believe DSO does the count at all - Analysis Manager send
a "select count(*)" query to the fact table in question to populate the
FactTableSize property. The reason one populates this value is to allow the
Analysis Services engine to better design aggregations based on the amount
of data that is in there. For your utility, I would just either do your own
"select count(*)" query or insure that your cube has a count measure such
that you can do an ADO/MD call to query that measure.

--
HTH!
Denny Lee
<dennyglee_at_hotmail_dot_com>

Blog at:: http://spaces.msn.com/members/denster/



"Richard A Rose" <rrose (AT) nospaminforms (DOT) co.uk> wrote

Quote:
Hi all,

Does anyone know how to programmatically count the fact table rows in a
SQL 2000 cube, using DSO?

I have a requirement for a utility to monitor the last processed date and
the fact table size for production cubes.

I can easily get the "FactTableSize" property, but this is just the fact
table size that was put into the cube when first built, or when last
manually counted from Analysis Manager, so it is always out of date. I
assume that the method to count the rows is exposed, but I can't find it
documented, nor in a day plus of exploring the object model manually.

Also, is there any issue with doing this - eg would it for some strange
reason force a re-process to be required?


Thanks as ever,


Richard R.



Reply With Quote
  #3  
Old   
Richard A Rose
 
Posts: n/a

Default Re: DSO - force fact table row count - 10-31-2005 , 05:09 AM



Hi Denny,

Thanks for that.

I had concluded I would have to do a select count(*) on the underlying
database to get the row count - but that of course doesn't reflect if
the cube hasn't processed.

Using a COUNT measure in the cube is a good idea though, all the cubes
have a count so I can do that.

Many thanks,

Richard


Denny Lee wrote:
Quote:
Actually, I do not believe DSO does the count at all - Analysis Manager send
a "select count(*)" query to the fact table in question to populate the
FactTableSize property. The reason one populates this value is to allow the
Analysis Services engine to better design aggregations based on the amount
of data that is in there. For your utility, I would just either do your own
"select count(*)" query or insure that your cube has a count measure such
that you can do an ADO/MD call to query that measure.


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

Default Re: DSO - force fact table row count - 10-31-2005 , 12:57 PM



Get a download of the BI Accelerator (SSABI)
http://www.microsoft.com/sql/ssabi/default.mspx
Included in it is a utility called the Partition Aggregation Utility. It has
a facility for recounting the fact and dimension tables and setting them via
DSO. It is included in source form (it is a VB6 application).
--
Dave Wickert [MSFT]
dwickert (AT) online (DOT) microsoft.com
Program Manager
BI Systems Team
SQL BI Product Unit (Analysis Services)
--
This posting is provided "AS IS" with no warranties, and confers no rights.


"Richard A Rose" <rrose (AT) nospaminforms (DOT) co.uk> wrote

Quote:
Hi Denny,

Thanks for that.

I had concluded I would have to do a select count(*) on the underlying
database to get the row count - but that of course doesn't reflect if the
cube hasn't processed.

Using a COUNT measure in the cube is a good idea though, all the cubes
have a count so I can do that.

Many thanks,

Richard


Denny Lee wrote:
Actually, I do not believe DSO does the count at all - Analysis Manager
send a "select count(*)" query to the fact table in question to populate
the FactTableSize property. The reason one populates this value is to
allow the Analysis Services engine to better design aggregations based on
the amount of data that is in there. For your utility, I would just
either do your own "select count(*)" query or insure that your cube has a
count measure such that you can do an ADO/MD call to query that measure.




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.