No acceleration for queries with "SQL WITH" clause (sub-query refactoring)


In simplified terms, the following query gets accelerated
select * from A
But if I group on select * from A as a subquery, it doesn’t get accelerated.
select Col1, count(1) from (select * from A) group by Col1

Raw and Aggregate reflections are available for the tables referred. I think the execution plan is vastly different for both the cases. If there is a specific way to write this query so as to force Dremio to pick up the reflection, it would be great to know. Else I have to download the data from the non-grouped query and use external product like Redash Cache or Excel to pivot on it. That is a bit cumbersome to ask of my team.

Below is the original query which gets accelerated:

    with dau as (
        select distinct
            , answered_date
        from        core.answers a
            answered_date <= timestampadd(day,-2,current_date)
            and answered_date >= timestampadd(day,-6,current_date)
    , signups as (
        from "core".signups
        where signups.user_profile_id in (select user_profile_id from dau)
     , subscribers as (
            select *
                subscriptions.user_profile_id in (select user_profile_id from dau)
                and module_id in (1,2,6)
    , base as (
                , case    
                    when signups."klass" in ('5','6') then '5-6'
                    when signups."klass" in ('7','8') then '7-8'
                    when signups."klass" in ('9','10') then '9-10'
                    else '11/12/12+'
                end as klass
                , case 
                    when subscribers.user_profile_id is null then 'free'
                    else 'paid'
                end as subscription
            from dau 
                inner join signups on dau.user_profile_id = signups.user_profile_id
                left join subscribers on subscribers.user_profile_id = dau.user_profile_id
    select * from base

In the above query, if I replace the last line (select * from base) with the one below, it won’t be accelerated.

    , base2 as (select * from base)
      , klass, subscription
      , count(distinct user_profile_id) as dau 
    from base2 
    group by answered_date, klass, subscription

The query plan is vastly different in both of them.
Query profile for the non-grouped & accelerated (56.3 KB)

Query profile for the grouped & non-accelerated (48.6 KB)

Raw reflection not used