I think the problem lies in the fact that when the cube is processing your fact table, he will link the surrogate keys (or attribute key, whatever you use) to your dimension. If the SK is null he can not map the relationship.
FACTS (SK_Customer, amount, date_transaction)
1 500 2010/02/23
null 600 2010/02/23
2 1000 2010/02/22
CUSTOMER DIMENSION (SK_Customer, customer_ID, first_name, last_name)
1 customer1 firstname1 lastname2
2 customer2 firstname2 lastname2
In this case, the surrogate key of the second fact is missing. During processing, the cube can not find the SK with the value 'null' in your dimension, causing an error. Therefore you should map the null values in your fact table to surrogate key -1 and insert the following line in your dimension (following the previous example):
-1 N/A NOT APPLICABLE NOT APPLICABLE (N/A for codes, NOT APPLICABLE for text items)
Now the cube will find the NOT APPLICABLE member instead of nothing and therefore there is no error.
Anologue you can use a SK with value 0 for UNKNOWN members (and thus creating your own unknown member).
You can do this mapping in the ETL fase or in the DSV.
How to post forum questions.Need an answer? No, you need a question.What’s the deal with Excel & SSIS?
My blog at SQLKover
MCSE Business Intelligence - Microsoft Data Platform MVP