Because of the right outer join, the filter on Category is applied after the join is performed on the entire fact table.
The query results will be correct, but the performance will be bad.
What can be done to make the query perform better?
We need to convince PBI to create an inner join instead of the rightouter join.
There are two way to force an inner join:
Define the relationship as M:M
Define the relationships as 1:M and checking the option Assume Referential integrity.
In the case of inner join , the filter(s) on the dimension that appear at the end of the query, will be pushed by the ADX engine to the early stages of execution and so the join will be only on the products that belong to Cat1 in this example.
The result will be a much faster query.
If you see in the queries generated by PBI any other join except inner, you have to change your PBI model so that the joins will be inner.