Посоветуйте корректный подход

Доброго времени суток!

Имеется набор данных (таблица / результат запроса / etc):

item_id arg1 arg2 arg3 arg4 arg5 arg6 arg7
1 0 1 3 1 1 1 0
2 1 0 5 2 1 1 0
3 0 1 7 3 0 0 1
4 1 0 9 4 0 0 1
5 0 2 7 5 1 1 0

Необходимо в результате запроса вернуть отчёт по этой таблице:

/ arg1 arg2 arg3
arg4 sum() with where clause by arg6 sum() with where clause by arg7 count() with where clause by arg7
arg5 sum() with where clause by arg6 sum() with where clause by arg7 count() with where clause by arg7

В MS SQL для таких отчётов раньше пользовался возможностями MSSAS, т.к. он (MSSAS) был на этом сервере оправдан количеством отчётов (порядка 50 отчётов, без учёта пользовательских).

На текущем проекте применение OLAP не оправдано, т.к. поднимать его ради одного отчёта не совсем выгодно.

В связи с этим вопрос - как реализовать построение указанного отчёта без использования Oracle OLAP?

Моё предположительное решение:

Пока в голову приходит только использование конвеерной функции, которая внутри себя будет вычислять значения для каждой ячейки каждой строчки и возвращать результат, но есть подозрения, что я верчу диван не в ту сторону и есть более простые решения.

Версия Oracle - 19c


Ответы (0 шт):