It's hard to say what may or may not work for you given the amount of information you've provided. Multiple select views should work (with some limitations) but it's hard to say if those limitations would matter to your users. I don't know what you mean by cross joins being created.
We've solved this a few different ways going back to version 1.6 of the product but the techniques, ingest architecture, user experience, etc. vary based on requirements. In the example you provided, the multiple view approach should work. If it's not working (or not performing), we'd need a lot more context to help.
What I meant by Cross Join is Cartesian Product in situation that you have many-to-many relations between 2 Data Sets
Lets say, I have to different data, coming from 2 totally different source, one from Sales Dept and the other one from Purchase Dept:
Part Number Sales QTY Sales Date Part Type Manufacturer Country 0001 70 10/5/2012 TYPE1 Manuf1 US 0001 120 10/6/2012 TYPE1 Manuf1 US 0001 350 10/7/2012 TYPE1 Manuf1 US 0002 100 10/8/2012 TYPE2 Manuf2 US 0002 80 10/9/2012 TYPE2 Manuf2 CA 0003 2500 10/10/2012 TYPE3 Manuf3 CA 0004 180 10/11/2012 TYPE4 Manuf4 US
Part Number Purchase QTY Purchase Date Part Type Manufacturer Country 0001 50 10/5/2012 TYPE1 Manuf1 US 0001 60 10/6/2012 TYPE1 Manuf1 US 0001 100 10/7/2012 TYPE1 Manuf1 US 0001 200 10/8/2012 TYPE1 Manuf1 US 0002 1100 10/9/2012 TYPE2 Manuf2 US 0003 20 10/10/2012 TYPE3 Manuf3 US
What is the preferred approach to ingest this data?