Добрый день.
Есть дэш с конфигурацией
dataSource: {
koob: 'parusdbwrk.UDO_MV_ECONPLAN_BDDS_TOTAL_TBL',
style: {
SLABEL: {
title: 'Поступления',
},
measures: {
VALS: {
title: 'млн. руб.',
format: '-### ### ###.00',
_fontSize: 10,
textAlign: 'right',
},
},
},
xAxis: 'measures;SLABEL',
sortBy: '+NUMS',
filters: {
SECTION: [
'=',
'Поступления',
],
NDOC_YEAR: true,
SDOC_MONTH: true,
SDOC_QUART: true,
SDEPARTMENT_1: true,
SDEPARTMENT_2: true,
},
measures: [
'VALS:VALS',
],
dimensions: [
'SLABEL',
],
},
view_class: '1II.koob-table-simple',
Есть управляющий дэш с конфигурацией:
"options": [
"EastPanel",
"Hidden"
],
"dataSource": {
"koob": "parusdbwrk.UDO_MV_ECONPLAN_BDDS",
"xAxis": "SDEPARTMENT_1;SDEPARTMENT_2;NDOC_YEAR;SDOC_QUART;SDOC_MONTH",
"yAxis": "measures",
"dimensions": [
"SDEPARTMENT_1",
"SDEPARTMENT_2",
"NDOC_YEAR",
"SDOC_QUART",
"SDOC_MONTH"
]
}
Есть куб с конфигурацией и запросом (в конфигурации поля NDOC_YEAR - “defaultValue”: “2023”):
{
"skip_where": 1,
"is_template": 1
}
select nums, ndoc_year, section, slabel, vals
from
(
select
m.nums,
nvl(t1.NDOC_YEAR, t2.NDOC_YEAR) NDOC_YEAR,
m.section,
m.slabel,
case m.slabel
when 'План' then round(nvl(t1.sum_APPROVED/1000000,0),2)
when 'Факт' then round(nvl(t1.sum_FULFILLED/1000000,0),2)
when '% исполнения' then nvl(t1.sum_pr,0)
when 'Динамика за месяц' then round((nvl(t1.sum_FULFILLED,0) - nvl(t2.sum_FULFILLED,0))/1000000)
when '% динамики' then
case
when nvl(t1.sum_FULFILLED,0) = 0 then 0
else round(nvl(t2.sum_FULFILLED,0)/nvl(t1.sum_FULFILLED,1)*100, 0)
end
end vals
from
(
select B.NVER_PLAN , B.NDOC_YEAR, B.sYearMonth,
SECTION,
sum(APPROVED) sum_APPROVED, sum(FULFILLED) sum_FULFILLED, round(nvl(sum(FULFILLED)/nvl(sum(APPROVED),1)*100, 0)) sum_pr
from PARUS.UDO_MV_ECONPLAN_BDDS B
where
NHIERLEVEL = 1
and
NVER_ACTIVE = 1
and
((SECTION = 'Поступления') and (SSTRCODE != '0001_БДДС') or (SECTION = 'Выплаты') and (SSTRCODE != '0002_БДДС')
)
and
--B.NDATE_YEAR = 2023
${filters(NDOC_YEAR,SDOC_QUART,SDOC_MONTH,SDEPARTMENT_1,SDEPARTMENT_2)}
group by B.NDOC_YEAR, B.NVER_PLAN, B.sYearMonth, SECTION
order by NVER_PLAN desc, section asc
) t1,
(
select B.NVER_PLAN , B.NDOC_YEAR, B.sYearMonth,
SECTION,
nvl(sum(APPROVED),0) sum_APPROVED, nvl(sum(FULFILLED),0) sum_FULFILLED, round(nvl(sum(FULFILLED)/nvl(sum(APPROVED),1)*100, 0)) sum_pr
from PARUS.UDO_MV_ECONPLAN_BDDS B
where
NHIERLEVEL = 1
and
((SECTION = 'Поступления') and (SSTRCODE != '0001_БДДС') or (SECTION = 'Выплаты') and (SSTRCODE != '0002_БДДС')
)
and
--B.NDATE_YEAR = 2023
${filters(NDOC_YEAR,SDOC_QUART,SDOC_MONTH,SDEPARTMENT_1,SDEPARTMENT_2)}
and
B.NVER_PLAN = ( select D.Nver_Plan-1
from PARUS.UDO_MV_ECONPLAN_BDDS D
where ${filters(NDOC_YEAR)} /* D.NDATE_YEAR = 2023 */
and D.NVER_ACTIVE = 1 and rownum =1
)
group by B.NDOC_YEAR, B.NVER_PLAN, B.sYearMonth, SECTION
order by NVER_PLAN desc, section asc
) t2,
(
select rownum nums,
case
when rownum < 6 then 'Поступления'
else 'Выплаты'
end SECTION,
case
when rownum = 1 then 'План'
when rownum = 2 then 'Факт'
when rownum = 3 then '% исполнения'
when rownum = 4 then 'Динамика за месяц'
when rownum = 5 then '% динамики'
when rownum = 6 then 'План'
when rownum = 7 then 'Факт'
when rownum = 8 then '% исполнения'
when rownum = 9 then 'Динамика за месяц'
when rownum = 10 then '% динамики'
end sLABEL
from dual
where LEVEL between 1 and 10
connect by LEVEL <= 10
) M
where
m.SECTION = t1.section(+)
and
m.section = t2.section(+)
order by 1
)
where
${filters(SECTION)}
--order by nums
В итоге при изменении фильтров в упр. дэше в куб кроме значения для поля NDOC_YEAR ничего в подстановку
${filters(NDOC_YEAR,SDOC_QUART,SDOC_MONTH,SDEPARTMENT_1,SDEPARTMENT_2)}
не приходит.
Что я делаю не так?