I assume you are using Power BI Desktop. When it constructs a DirectQuery SQL query it does this:
Select column1
From (
YourQuery
) as t1
So it fails because you can't put EXEC
in the from clause of a SELECT query.
Your options:
Stop using DirectQuery. Using a stored proc in cached mode will work because it just runs your query without any changes during refresh. Why would this not work for you?
Take the query out of the stored proc and put it inline into PBI Desktop. Then it should work with DirectQuery as long as it is a single statement simple select.
Regarding reusing the connection (and I assume you also mean reusing the model with calcs, relationships, etc) in another report. Turn on this new preview feature under PBI Desktop options and you can connect to a published dataset (the model/data/connection) in Power BI Service.