I was under the assumption that NON EMPTY
clause must be avoided whenever possible. So, I was in for a shock when I accidentally found that it actually made the query much faster!
Sample this:
select
[Measures].[Count Of Requests] on 0,
([Client].[Client Number].children , [Date].[Year].children) on 1
from [MyCube]
--19 seconds on a hot cache
select
[Measures].[Count Of Requests] on 0,
non empty ([Client].[Client Number].children , [Date].[Year].children) on 1
from [MyCube]
--5 seconds on a cold cache(Consistently)
Isn't NON EMPTY
recursive? Is it because of local cache size?