Sigh…is the sound you make, when you get “A duplicate attribute key has been found when processing ..” error message when processing a dimension. Most of the time you can quickly get to the bottom of these errors. In this case you have checked the attributes participating in a hierarchy so that there is a 1 to many between each level running top to bottom. You have also read the following reference kb2002757 and are back to sighing again.
To make matters worse the error is in relation to an attribute that is not part of the hierarchy you created. You have checked and you don’t have any null values.
One of the conditions that can contribute to this error is when you have trailing special characters in the offending column such as char(13) or char(10). The trimming property of the key column for the failing attribute is set to RIGHT by default. So you will need to either trim the special characters out of your database, ETL or through the DSV. Setting the trimming property to NONE may get you over the line in some circumstances but this is not foolproof and not a good long term strategy.
Bottom line – check your data for char(13) and char(10) characters, perhaps test the length of values in the offending column to make the problem easier to visualise.
SELECT col1, LEN(col1) AS Col1Length FROM TableName WHERE col1 LIKE 'Value%' ORDER BY col1
Additional reading …