Dimension error : Rigid relationships between attributes cannot be changed during incremental processing of a dimension

  • Hi,

    I have a dimension DimCustomer which has only two Attributes DimCustomerKey(int),Segment(char(10). The data in the dimension table will be as below.

    DimCustomerKey STN Segment

    ---------------------------------

    1 2345678 PP

    2 5432547 PP

    3 6454656 EF

    4 8564533 EE

    5 3457456 CC

    6 3557345 EF

    7 6754845 CC

    I've set up relationship between DimCustomerKey --> Segment as Rigid. when i process the dimension i am getting an error "Rigid relationships between attributes cannot be changed during incremental processing of a dimension. The error occurred when processing attribute 'Segment'. Table: 'DimCustomer', Column: 'Segment', Value: 'PP'. Source attribute: 'Dim Customer Key'. Key column value(s) of the source attribute: '6690'"

    Could someone please help me resolving this?

    Thanks in Advance

  • manivannan.kariamal (1/11/2012)


    Hi,

    I have a dimension DimCustomer which has only two Attributes DimCustomerKey(int),Segment(char(10). The data in the dimension table will be as below.

    DimCustomerKey STN Segment

    ---------------------------------

    1 2345678 PP

    2 5432547 PP

    3 6454656 EF

    4 8564533 EE

    5 3457456 CC

    6 3557345 EF

    7 6754845 CC

    I've set up relationship between DimCustomerKey --> Segment as Rigid. when i process the dimension i am getting an error "Rigid relationships between attributes cannot be changed during incremental processing of a dimension. The error occurred when processing attribute 'Segment'. Table: 'DimCustomer', Column: 'Segment', Value: 'PP'. Source attribute: 'Dim Customer Key'. Key column value(s) of the source attribute: '6690'"

    Could someone please help me resolving this?

    Thanks in Advance

    The error means that you one of the customer's segment has changed. Specifically, the customer with key attribute 6690.

    When you define the relationship as rigid, the attributes (segment in this case) cannot change. If you want to resolve this, set the relationship to flexible and process.

    The question is why that specific attribute changed though, or why the relationship was set to rigid when changes can occur.

    EDIT: I think if you process the dimension fully (as opposed to incrementally) it will work even if the relationship is set to rigid. As far as I know a full processing of a dimension recreates it...

  • Thanks for the reply.

    My dimension is having 5 billion records and 27 columns(apart from the columns I've given). If we change the relationship to 'flexible', will it affect the performance of dimension processing?

  • manivannan.kariamal (1/11/2012)


    Thanks for the reply.

    My dimension is having 5 billion records and 27 columns(apart from the columns I've given). If we change the relationship to 'flexible', will it affect the performance of dimension processing?

    Most probably, yes...because instead of just adding new dimension members it will now have to "update" changed members as well.

Viewing 4 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic. Login to reply