Проблема при передаче фильтров внутрь запроса, формирующего куб

Добрый день.
Для передачи фильтров в запрос выполнил условия согласно
https://help.luxmsbi.com/-925
https://help.luxmsbi.com/-508#post-2

Установлены версии
luxmsbi-web-8.10.12-20221124.el7.x86_64
luxmsbi-datagate-8.10.12-20221122.x86_64
luxmsbi-appserver-8.10.12-20221122.x86_64
luxmsbi-pg-8.10.8-20221121.el7.x86_64

Сам запрос выглядит так(БД Oracle):

select
 sum(SUMM_PRED) over (partition by NDOC_YEAR order by SDOC_MONTH2) as SUMM_PLAN,
 sum(SUMM_FACT) over (partition by NDOC_YEAR order by SDOC_MONTH2) as SUMM_FACT,
 SDOC_MONTH2, NDOC_YEAR
from (
  select t2.SUMM_PRED+t1.SUMM_PRED as SUMM_PRED, t2.SUMM_FACT+t1.SUMM_FACT as SUMM_FACT,
    t2.SDOC_MONTH2, t2.NDOC_YEAR
  from
  (
    select sum(SECONOMY_PRED) as SUMM_PRED,
           sum(SECONOMY_FACT) as SUMM_FACT,
       to_char(
         case
           WHEN DDOC_DATE_CON IS NULL then DDOC_DATE
           WHEN DDOC_DATE_CON < to_date('01.01.2022','DD.MM.YYYY') then DDOC_DATE
           else DDOC_DATE_CON
         end, 'YYYY.MM')
      as SDOC_MONTH2, NDOC_YEAR
     from  PARUS.UDO_MV_GOVBUYPGR_EXEC
     where ${filters()} 
     group by
        to_char(
         case
           WHEN DDOC_DATE_CON IS NULL then DDOC_DATE
           WHEN DDOC_DATE_CON < to_date('01.01.2022','DD.MM.YYYY') then DDOC_DATE
           else DDOC_DATE_CON
         end, 'YYYY.MM'),
      NDOC_YEAR
   ) t1,
   (
     select 0 as SUMM_PRED, 0 as SUMM_FACT, to_char(sysdate,'YYYY')||'.'||LPAD(to_char(LEVEL),2,'0') as SDOC_MONTH2,
      to_number(to_char( sysdate, 'YYYY')) as NDOC_YEAR
     from dual
     where LEVEL between 1 and 12
     connect by LEVEL <= 12
   ) t2
   where t2.SDOC_MONTH2 = t1.SDOC_MONTH2(+)
 )

Т.е. в нем есть и where ${filters()} , и в конфигурации куба указано {“skip_where”: 1, “is_template”: 1}
По одному из полей(NDOC_YEAR) источника установлено значение по-умолчанию для управляющего дэша - {“defaultValue”: “2022”, “possible_aggregations”: }. Больше никакие фильтры не заданы.
В json-конфиге дэша-графика “measures”: [“sum(SUMM_PLAN)/1000000:s”,“sum(SUMM_FACT)/1000000:sf”] и “dimensions”: [“SDOC_MONTH2”]

В итоге в БД отправляется следующий запрос(журнал datagate), завершающийся ошибкой:

SELECT SDOC_MONTH2 as "SDOC_MONTH2", sum(SUMM_PLAN) / 1000000 as "s", sum(SUMM_FACT) / 1000000 as "sf"
FROM (select
sum(SUMM_PRED) over (partition by NDOC_YEAR order by SDOC_MONTH2) as SUMM_PLAN,
sum(SUMM_FACT) over (partition by NDOC_YEAR order by SDOC_MONTH2) as SUMM_FACT,
SDOC_MONTH2, NDOC_YEAR
from (
select t2.SUMM_PRED+t1.SUMM_PRED as SUMM_PRED, t2.SUMM_FACT+t1.SUMM_FACT as SUMM_FACT,
t2.SDOC_MONTH2, t2.NDOC_YEAR
from
(
select sum(SECONOMY_PRED) as SUMM_PRED,
sum(SECONOMY_FACT) as SUMM_FACT,
to_char(
case
WHEN DDOC_DATE_CON IS NULL then DDOC_DATE
WHEN DDOC_DATE_CON < to_date('01.01.2022','DD.MM.YYYY') then DDOC_DATE
else DDOC_DATE_CON
end, 'YYYY.MM')
as SDOC_MONTH2, NDOC_YEAR
from  PARUS.UDO_MV_GOVBUYPGR_EXEC
where (SDOC_MONTH2 IN ('2022.01', '2022.02', '2022.03', '2022.04', '2022.05', '2022.06', '2022.07', '2022.08', '2022.09', '2022.10', '2022.11', '2022.12')) AND (NDOC_YEAR = '2022')
group by
to_char(
case
WHEN DDOC_DATE_CON IS NULL then DDOC_DATE
WHEN DDOC_DATE_CON < to_date('01.01.2022','DD.MM.YYYY') then DDOC_DATE
else DDOC_DATE_CON
end, 'YYYY.MM'),
NDOC_YEAR
) t1,
(
select 0 as SUMM_PRED, 0 as SUMM_FACT, to_char(sysdate,'YYYY')||'.'||LPAD(to_char(LEVEL),2,'0') as SDOC_MONTH2,
to_number(to_char( sysdate, 'YYYY')) as NDOC_YEAR
from dual
where LEVEL between 1 and 12
connect by LEVEL <= 12
) t2
where t2.SDOC_MONTH2 = t1.SDOC_MONTH2(+)
)
) PARUS_UDO_MV_GOVBUYPGR_EXEC_SM
GROUP BY SDOC_MONTH2

В результате ошибка ORA-00904: “SDOC_MONTH2”: недопустимый идентификатор.
Что логично, так как в условие отбора парсер зачем-то вставил довольно бессмысленное условие, видимо заранее определив предварительными выборками все значения этого поля на выходе:
(SDOC_MONTH2 IN (‘2022.01’, … , ‘2022.12’)). А этого поля нет в источнике данных PARUS.UDO_MV_GOVBUYPGR_EXEC, оно создается в результате этого запроса.

Как это исправить?

Добый день.
Есть ли какие либо рекомендации по решению данной проблемы?

Если я вас правильно понял, то необходимо перенести условие по SDOC_MONTH2 выше уровнем. Для этого в шаблоне требуется в части с фильтром:

 from  PARUS.UDO_MV_GOVBUYPGR_EXEC
     where ${filters()} 

Добавить except:

 from  PARUS.UDO_MV_GOVBUYPGR_EXEC
     where ${filters(except(SDOC_MONTH2))} 

И добавить финальное WHERE после последней скобки:

 ) t2
   where t2.SDOC_MONTH2 = t1.SDOC_MONTH2(+)
 )
where ${filters(SDOC_MONTH2)}

Описано тут: https://help.luxmsbi.com/-508