It depends on your requirement. For example, if you only want to analyze the invoice and the lowest granularity is invoice number, you can only create a dimension with key attribute invoice number. But if you want to analyze the details, for example (invoice number + invoice date), then you’d better generate a numeric surrogate key in dimension table base on invoice number and invoice date, set the key attribute with composite key columns (invoice number + invoice date), and then join the fact table with invoice number and invoice date in Usage tab. You can also generate this numeric surrogate key in fact table with named calculation, then you don’t need the composite key columns.
A good document about design may helpful in the future:
http://technet.microsoft.com/en-us/library/cc966399.aspx
Regards,
Raymond