As far as drill-through to multiple partitions from Excel, I use an
add-in developed by someone in this newsgroup:
http://groups.google.com/groups?hl=e...8&th=c057dee7f
68b2c67&rnum=1
Quote:
|
From: dpuri (deepak_puri (AT) progressive (DOT) com)
|
Subject: Excel XP DrillThrough Sample for Multiple Partitions
View this article only
Newsgroups: microsoft.public.sqlserver.olap
Date: 2003-02-20 22:31:21 PST
The sample Excel XP DrillThrough VBA code (posted to this group last
year) works fine for cubes with a single partition. But multiple
partitions require enhancement to the code , to handle the multiple
recordsets returned (1 per partition). Does anyone have a version that
works with multiple partitions?
Message 2 in thread
From: Thomas (thomasgreuel (AT) hotmail (DOT) com)
Subject: Re: Excel XP DrillThrough Sample for Multiple Partitions
View this article only
Newsgroups: microsoft.public.sqlserver.olap
Date: 2003-02-27 07:12:36 PST
The recordset retrieved from the drill through has data from all
partitions. The data has just to be pasted into the XL sheet by
looping through all the partitions. Assuming that rst is the recordset
you retrieved, the following code will do the job (it might not be the
best implementation but it works.)
If you're interested I can send you a XL add-in that adds drill
through (multiple partitions) functionality to XL 2000 / XP.
HTH
Thomas
'Get data from recordset to worksheet
intNumberPartitions = 0
Do Until Done
On Error GoTo ExitDo
' repeat until all partitions done
intNumberPartitions = intNumberPartitions + 1
' show current partition
Application.StatusBar = "Pasting Partition: " &
CStr(intNumberPartitions)
Dim strPasteArea As String
' determine next free row
strPasteArea = "A" & CStr(Range("a65536").End(xlUp).row + 1)
' paste data
Range(strPasteArea).CopyFromRecordset rst
' next partition
Set rst = rst.NextRecordset
If rst.State = adStateClosed Then Done = True
Loop
ExitDo:
- Deepak
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!