Is it ok to use relational data for prompts and Cubes for main query. And, thereafter filter the main query using the prompt value selected
It may be possible depending on how your data is set up and the cube is mapped to the data. This is more commonly encountered with drill-through scenarios, and in my experience is usually going from dimensional to relational, which is opposite to what you want to do.
But just because you can does not mean you should. Why do you want to do it this way? What are you trying to accomplish? Maybe there is a better way.
I agree with bdbits. The main thing to remember when mixing relational and dimensional source data is that relational data is presented as values whereas dimensional data is essentially a collection of captions hiding the underlying MUNs (Member Unique Names). If you want to use the results of a relational prompt against dimensional data, you will need to use a roleValue() function to isolate the captions of the members in order to match things up. You really shouldn't be using detail filters either, so you'll likely end up using dimensional filter() functions in expressions. It's messy, but it can probably be done if you're determined.
As bdbits points out, just because you can doesn't necessarily mean you should. What are you actually trying to achieve?
MF.