Microsoft KB Archive/815292

= FIX: Writeback to Cell Fails If the Cube Contains a Virtual Dimension =

Article ID: 815292

Article Last Modified on 2/21/2007

-

APPLIES TO


 * Microsoft SQL Server 2000 Analysis Services
 * Microsoft SQL Server 2000 Analysis Services

-



BUG #: 13803 (Plato7x)



SYMPTOMS
An attempt to writeback to a cell by changing the value in an ActiveX Data Objects (Multidimensional) (ADO MD) Cellset object fails, and if the cube contains one or more virtual dimensions you receive the following error:

Run-time error '-2147467259 (80004005)':

Unable to update cell because it contains a member, All Store Size in SQFT, that is not at the lowest level

The member name (All Store Size in SQFT in this example) varies, but it is the name of a member at the (All) level of a virtual dimension in the cube. The same writeback attempt is successful in Microsoft SQL Server OLAP Services 7.0 if you do not specify the virtual dimension in the original Multidimensional Expressions (MDX) query that you use to populate the cellset.



Service pack information
To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

290211 How to obtain the latest SQL Server 2000 service pack

SQL Server 2000 Analysis Services
The English version of this fix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.   Date         Time   Version    Size             File name 12-Feb-2003 02:49  8.0.767.0  1,024,576 bytes  Msmdgd80.dll 27-Jan-2003 07:47  8.0.0.761  9,638,464 bytes  Msmdsgn80.dll 14-Feb-2003 22:32  8.0.768.0  1,827,396 bytes  Msmdsrv.exe 12-Feb-2003 02:49  8.0.767.0  2,069,072 bytes  Msolap80.dll Note Because of file dependencies, the most recent hotfix or feature that contains these files may also contain additional files.

SQL Server 2000 Analysis Services 64-bit
For additional information about a hotfix build designed to be applied on a server that is running SQL Server 2000 Analysis Services 64-bit, or to find out if a fix is scheduled to be included in SQL Server 2000 Analysis Services 64-bit Service Pack 4, click the following article number to view the article in the Microsoft Knowledge Base:

822017 FIX: Hotfix Information for Build 8.0.810.0 of SQL Server 2000 Analysis Services 64-bit



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the &quot;Applies to&quot; section.This problem was first corrected in Microsoft SQL Server 2000 Service Pack 4.



MORE INFORMATION
You only experience this problem when you perform a writeback operation at the leaf level of all real (not virtual) dimensions by using an ADO MD Cellset object modification. There are two frequently used methods that you can use to write back to leaf-level cells:   Directly modify the ADO MD Cellset object value in a matching set of connection transaction methods. For example: Dim adoConn As New ADODB.Connection Dim adoCellset As New ADOMD.Cellset adoConn.Open &quot;Provider=msolap.2;Initial Catalog=ModifiedFoodmart;&quot; & _ &quot;Data Source=LocalHost&quot; Set adoCellset.ActiveConnection = adoConn StrMDX = &quot;SELECT {[Product].[All Products].[Non-Consumable].[Periodicals].[Magazines].[Auto Magazines].[Dollar].[Dollar Monthly Auto Magazine]} &quot; & _ &quot;ON COLUMNS, &quot; & _ &quot;{[Time].[1997].[Q4].[10]} ON ROWS FROM [Sales]&quot; & _ &quot; WHERE ([Store].[All Stores].[USA].[CA].[Los Angeles].[Store 7]) &quot; adoCellset.Open StrMDX adoConn.BeginTrans adoCellset(0, 0) = 10000 adoConn.CommitTrans   Use the UPDATE CUBE statement. For example: UPDATE CUBE [Sales] SET ([Product].[All Products].[Non-Consumable].[Periodicals].[Magazines].[Auto Magazines].[Dollar].[Dollar Monthly Auto Magazine],                         [Store].[All Stores].[USA].[CA].[Los Angeles].[Store 7],                         [Time].[1997].[Q4].[10],[Measures].[Unit Sales])=10000 

Note The previous code was designed for a modified version of the Sales cube in the Foodmart 2000 database that only contains three real dimensions: Product, Store, and Time. Both examples are demonstrating writebacks at a leaf-level cell. The UPDATE CUBE statement is the only supported method you can use to perform a writeback at a non-leaf level.

If the cube contains at least one virtual dimension, the first example fails as a result of the problem described in this article. The second example (UPDATE CUBE) is not affected by the problem described in this article and you can use this as a workaround for this problem.

Additional query words: 822017 olap

Keywords: kbbug kbfix kbqfe kbhotfixserver KB815292

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.