![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
-----Original Message----- Hello Raj, The behavior you are describing is by design. During ADODB Execute call flattened rowset is requested. You can read full description of the flattening algorithm in Oledb for Olap specification at following address: http://msdn.microsoft.com/library/default.asp? url=/library/en-us/oledb/htm/olappr_chapter24_7.asp In short here is a small snippet from that document, which talks exactly about All member: "For every non-X axis dimension Di: a.. Let k be the lowermost level on the axis from this dimension. b.. Let Li be the set of unique names of levels above (and including) k up to (but not including) the ALL level. " -- Hope this helps, Irina --------------------------- Disclaimer: This posting is provided 'AS IS' with no warranties, and confers no rights. "Raj C." <raj_chinna3 (AT) hotmail (DOT) com> wrote in message news:0b9901c34bee$97e82920$a001280a (AT) phx (DOT) gbl... Hi, My previous message was a bit confusing - I hope this simplifies our question a bit. According to our research, we have found several inconsistencies between the way the MS OLAP provider handles result cube data within an ADODB recordset and an ADOMD cellset. For example the following MDX query generates slightly different data using ADODB versus ADOMD: With MEMBER [Marital Status].[All Members] AS' aggregate ({[Marital Status].members})' SELECT {[Gender].[All Gender]} ON COLUMNS, ({[Store Type].[All Store Type]} * {[Time].[1997], [Time]. [1997].[Q1]} * {[Marital Status].allmembers}) ON ROWS FROM [Sales] When a user runs the above MDX query using ADOMD (using the MDX Sample Application), it returns all the dimensional metadata on the ROW AXIS INCLUDING THE MEMBERS FROM THE "ALL" LEVEL. A user could retrieve ADOMD cellset data from the above query in the following manner: All Gender All Store Type 1997 All Marital Status 266,773 All Store Type 1997 M 131,796 All Store Type 1997 S 134,977 All Store Type 1997 All Members 533,546 All Store Type Q1 All Marital Status 266,773 All Store Type Q1 M 131,796 All Store Type Q1 S 134,977 All Store Type Q1 All Members 533,546 Yet, when the same query is run using ADODB, the MDX query fails to return any "ALL" level metadata for real or calculated members on the ROW AXIS. In the above query this means that members on the "ALL" level in the Store Type and Marital Status dimensions are simply not included. Thus we lose caption information for all members (real or calculated) on the "ALL" level on the ROW AXIS (note this does not affect "ALL" level on the column axis). Using ADODB the above MDX query returns the following data (excluding level and column information): 1997 266,773 1997 M 131,796 1997 S 134,977 1997 533,546 Q1 266,773 Q1 M 131,796 Q1 S 134,977 Q1 533,546 As one can see we are missing the "ALL" levels (and any members on these levels) for the Store Type and Marital Status dimensions. In addition, from our research, it appears that an ADODB recordset DOES NOT support any MDX format properties. Is there a solution to the above problems? Are we overlooking any other significant MDX limitations related to ADODB recordsets? Most importantly, does anybody know whether Microsoft is committed to fixing these ADODB versus ADOMD inconsistencies? ANY HELP WOULD BE GREATLY APPRECIATED! Thanks, Raj C. . |
#3
| |||
| |||
|
|
-----Original Message----- When a user runs the above MDX query using ADOMD (using the MDX Sample Application), it returns all the dimensional metadata on the ROW AXIS INCLUDING THE MEMBERS FROM THE "ALL" LEVEL. .... Using ADODB the above MDX query returns the following data (excluding level and column information): This is By Design behaivor. When you use ADODB.Command - you get back rowset instead of cellset. This rowset is obtained by flattening cellset according to the rules described in the OLEDB for OLAP spec. By those rules the All level is not included in the flatenned rowset. HTH, Mosha. -- ================================================== Mosha Pasumansky - www.mosha.com/msolap 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. ================================================== . |
#4
| |||
| |||
|
|
1) Is there any creative way other than banning creation of calculated members at the (All) level that we can access (All) level calculated member information from recordsets. |
|
2) Is there a way we can use an ADODB recordset to access MDX format properties. |
|
3) In your opinion, are there any other significant problems with the ADODB recordset that might lead us to use a cellset rather than a recordset (currently, we use a recordset because it can and often is significantly faster than a cellset). |
![]() |
| Thread Tools | |
| Display Modes | |
| |