The way I would eliminate the issues, always best to use a bottom-up approach. Add complexity when the simple works.
1. sample a few lines from your fact and dimensions that are supposed to join
2. choose just one fact (some column types might pose issues in a view)
3. make sure the dimensions and facts are public before creating the view
4. create the view and query it
5. try in a VA report and using code (the query might be failing).
6. add more columns to the view
7. add more data (yes, empty or null keys I think will create issues).
... View more