"Attribute Key Cannot Be Found When Processing" when it does exist in the DW

  • Hello,

    We have a cube that exists on a Dev, Test, and Prod environment.  For all three environments, they are refreshed nightly using the "Process Full" option.  We have the same code base on all three environments and our DW that is used to populate the cubes is in sync across all three environments.

    In the past couple of weeks, we have started to get the following error on our Dev and Test environments.  The clinician that is referenced is always either this clinician or one or 2 other clinicians.

    Errors in the OLAP storage engine: The attribute key cannot be found when processing:

    Table: 'DW_dimClinician', Column: 'LastNameFirst_Version', Value: 'Duck, Daffy - 1669788907 - 1';

    Table: 'DW_dimClinician', Column: 'NPI', Value: '1669788907'; Table: 'DW_dimClinician', Column: 'ETLEffectiveTo', Value: '6/1/2013 2:22:55 AM'.

    The attribute is 'Last Name First Version'.

    We have confirmed that the attribute does exist in the warehouse and it does not contain any null values.  The attribute in question has not changed in the warehouse in a couple of years.
    When the error occurs, we will process just the dimension and once it completes successfully, we will re-process the cube using the Process Full option and it will process successfully.
    Yesterday, if failed again.  We did not reprocess anything.  Last night during the normal refresh, the load did the Process Full on the cube and it successfully processed the cube.
    My understanding of the Process Full option was that the cube would automatically process the dimensions first, then process the measures.  Due to the inconsistently, It feels like it is trying to process some of the measures prior to the dimensions.  Luckily it has not hit our production environment yet.  But, I am trying to understand the issue so that I can ensure it doesn't hit that environment.
    Are we interpreting the error message correctly? 
    Thanks,
    Bob L.

  • bob.lang - Monday, February 12, 2018 1:09 PM

    Hello,

    We have a cube that exists on a Dev, Test, and Prod environment.  For all three environments, they are refreshed nightly using the "Process Full" option.  We have the same code base on all three environments and our DW that is used to populate the cubes is in sync across all three environments.

    In the past couple of weeks, we have started to get the following error on our Dev and Test environments.  The clinician that is referenced is always either this clinician or one or 2 other clinicians.

    Errors in the OLAP storage engine: The attribute key cannot be found when processing:

    Table: 'DW_dimClinician', Column: 'LastNameFirst_Version', Value: 'Duck, Daffy - 1669788907 - 1';

    Table: 'DW_dimClinician', Column: 'NPI', Value: '1669788907'; Table: 'DW_dimClinician', Column: 'ETLEffectiveTo', Value: '6/1/2013 2:22:55 AM'.

    The attribute is 'Last Name First Version'.

    We have confirmed that the attribute does exist in the warehouse and it does not contain any null values.  The attribute in question has not changed in the warehouse in a couple of years.
    When the error occurs, we will process just the dimension and once it completes successfully, we will re-process the cube using the Process Full option and it will process successfully.
    Yesterday, if failed again.  We did not reprocess anything.  Last night during the normal refresh, the load did the Process Full on the cube and it successfully processed the cube.
    My understanding of the Process Full option was that the cube would automatically process the dimensions first, then process the measures.  Due to the inconsistently, It feels like it is trying to process some of the measures prior to the dimensions.  Luckily it has not hit our production environment yet.  But, I am trying to understand the issue so that I can ensure it doesn't hit that environment.
    Are we interpreting the error message correctly? 
    Thanks,
    Bob L.

    I'm think that's pretty much the gist of the error - the measure group processed before the related dimensions.
    As to the order on Process Full, I've read different things. Your experience is similar as what is being said in this post - except he is saying that it's only processing measure groups:
    How cube process full work

    I don't know why they can't clearly document some of this. This is one of the blogs that comes close - check the section on ProcessUpdate:
    Different Kinds of SSAS Processing in simple words…..

    Sue

  • According to this Microsoft document, processing a cube will only process "unprocessed dimensions", and this is why you're getting the error. If you want to avoid it, you should either process your dimensions explicitly first, or process the SSAS database which in turn will process all objects contained within it.

  • Thanks for the reply.  I wasn't clear in my original post.  When we are processing our cubes, we are using the Process Full option on the SSAS database itself.  Since we are doing a full process on the database, we are confused why it is attempting to process measure groups prior to dimensions being processed.

  • Thanks for the clarification. I've personally never seen it happen that the measure groups are processed before dimensions...it's just not the way Analysis Services is wired. Not discrediting your experience here, just think that there might be something else at play...could it be that your fact and/or dimension table is changing (i.e. records are being inserted/updated) while the cube processing is in progress?

  • That is a good thought about the facts and dimensions possibly changing but we can rule that out.  In our DW load process, which is the only time the facts and dimensions are modified, the very last step is to run the full process on the SSAS database.

    I agree with you that something else must be in play, but we just can't figure it out.  The error messages getting returned from the system are not accurately reflecting the issue (in our minds).

    Thanks

  • bob.lang - Wednesday, February 14, 2018 2:59 PM

    That is a good thought about the facts and dimensions possibly changing but we can rule that out.  In our DW load process, which is the only time the facts and dimensions are modified, the very last step is to run the full process on the SSAS database.

    I agree with you that something else must be in play, but we just can't figure it out.  The error messages getting returned from the system are not accurately reflecting the issue (in our minds).

    Thanks

    Yeah...the only other things I can think of is a rogue connection string (i.e. reading from one environment for dimensions and another for facts) which is also unlikely if you are processing the entire database, or overwritten processing options. 

    I'd be interested to know what happens if you split the processing out, explicitly processing dimensions fully before processing the cube. If that eliminates the problem, it might be the way to go.

Viewing 7 posts - 1 through 6 (of 6 total)

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