Table Column Change causing errors in Cube

I've changed the column width a table one of my cube's dimensions is built upon. When the cube was originally created, the column was defined as char(2). I've increased its size to char(6).

I've refreshed the .dsv view and it catches the changes. However, when I deploy the cube, it doesn't detect the change and processes correctly (without really doing anything).

When I manually process the dimension, I get the process error:

Errors in the back-end database access module. The size specified for a binding was too small, resulting in one or more column values being truncated. Errors in the OLAP storage engine: An error occurred while the 'DOS Calendar Quarter' attribute of the 'Dates Of Service' dimension from the 'SplitData' database was being processed.

How do I force VS to recalcuate the store required



Answer this question

Table Column Change causing errors in Cube

  • Pankaj Kumar Sharma

    Try to right click the dimension and click "View Code"

     

    Search for <DataSize> and change the value between the tags for the collumn that was changed in the database

     


  • Maarteke

    I found that if you remove the CALCULATE command from the Calculations, then it won't process any data.

    Add a script to your calculations called CALCULATE and use the following:

    /*

    The CALCULATE command controls the aggregation of leaf cells in the cube.

    If the CALCULATE command is deleted or modified, the data within the cube is affected.

    You should edit this command only if you manually specify how the cube is aggregated.

    */

    CALCULATE


  • mx123

    Messing with backend XML outside of the Visual Studio IDE is a bit risky. The Visual Studio Interface does provide us with the ability to change this value directly inside the environment.

    To accomplish the same task you can follow these steps:

    1. Open your *.cube file in Visual Studio.
    2. Find the Dimensions panel in the bottom left of the window.
    3. Find the dimension throwing the size binding error and expand it.
    4. Click the Edit [dimension name] link to open the dimension editor. (This can be done directly from solution explorer under dimensions if you prefer a more direct route).
    5. Inside the Dimension editor click the Dimension Structure tab.
    6. Find the Attributes panel and expand your dimension.
    7. Select the column throwing the size binding error.
    8. Right-Click on that column and select Properties.
    9. Find the KeyColumns property and click the elipsis [...] button to open the Data Item Collection dialog box.
    10. The right panel will show you the DataSize stored in the XML and will allow you to change the value directly in this dialog box.

    Hope this helps other people out their who want to make these changes through the IDE, rather than the XML. That said, without gnuda's response my team wouldn't have found a resolution to this problem so thanks gnuda!


  • LUMING

    Thanks for your quick reply.

    I've taken care of the size issues but now my cube appears to be empty. It's like there is no intersection between the dimension members and the measures. They're all blank. When I browse the dimensions, i can see the members. But when I try to slice and dice a measure, the data area is always empty.

    I've run into problems in the past that when I've changed the underlying table structure ( by changing column sizes, let's say), my cube no longer intersects and i've only been able to correct the situation by starting over.

    If asked, I'd say VS is great for creating cubes, KPIs,etc but absolutely awful for modifying them. Another instance is when I've created calculations and then changed the measure names that the calculation is based on. The syntax checker doesn't even realize the measure names have changed. And I don't get a deploy error until after the supporting back-end database queries have finsihed - sometimes taking hours.


  • Oodini

    Hi Guys,

    If you are using Datatype NVARCHAR(MAX) or VARCHAR(MAX). you have to Set the value of the DataSize property for the offending column in the erroneous dimension definition to an appropriate value that does not exceed 163315555 Bytes.

    I am sure the problem will solve,

    You can also specify the Maximum Data Size of the WCHAR(NVARCHAR(max) or Varchar(Max) or Varchar) upto 2^31-1

    I hope this will help for you all.

    For further Reference you can visit: http://milambda.blogspot.com/2007/09/sql-server-2005-analysis-services.html

    with regards,

    Bhupesh Mohan



  • Table Column Change causing errors in Cube