Cube processing can be done from within the Cube design window by clicking the Process button in the upper left corner.
At this point, Visual Studio will probably ask you whether you would like to Build and Deploy the project first – go with ‘Yes’ for both options:
After those initial steps, we have reached the point of processing the cube.
We will however soon see that the cube cannot process due to some errors and warning highlighted during the processing progress.
Double-click the “… attribute key…” warning to read the full text string.
As indicated in the warning text, the error(s) is caused by an “… attribute key cannot be found…”. Perhaps this warning text needs a little explanation:
When the cube is being processed it is at the same time being checked for referential consistency. Referential consistency exists when all foreign key values can be matched to their related primary key values.
Referential consistency fails if just one foreign key value is missing among its related primary key values.
In the sample above the foreign key “No_” in the Sales Invoice Line table had a value of ‘6810’. This value was then looked up at the primary key “No_” in the Item table, but it was not found and thus referential consistency failed.
You can have many reasons for failed referential consistency, e.g. generally bad data or source data refreshes being out of sync. The behaviour of stopping the processing due to consistency errors is generally wise because a missing key would mean that the data belonging to that key would be categorized incorrectly or in worst case be lost.
The error handling of cube processing is by default set to stop processing whenever a single error is encountered. However, at this point of our Data Warehouse design we are willing to accept some inconsistencies.
Ignoring dimension key errors
In order to ignore key consistency errors we must change the settings of the cube processing.
When we have chosen to ignore the key errors, we will see that the cube processing is now able to complete. However, with a number of warnings – but that is ok at this time.
The 7112 problems reported are probably all key consistency errors. However, since we chose to ignore these errors, the cube processing has now completed.
With a successful processing of the cube, we are now ready to start browsing the full cube in the Cube designer’s Browser tab.
Notice: In this lesson, and for a few more lessons ahead, every single time you need to re-process your cube it is necessary to change the error handling settings to ignore key consistency errors. In a later lesson, we will take actions to correct the referential integrity problem and thereby eliminating the necessity to ignore key errors.