Вы не можете выполнить агрегацию, которую хотите из представления.У вас недостаточно информации.
Если вы измените представление на что-то вроде этого:
create view xyz as
select year, month, item,
sum(revenue)/ Sum(qty) as w_revenue,
sum(qty) as total_qty
from my_revenue_table
group by month, year, item;
Тогда вы можете агрегировать результаты как:
select year, sum(w_revenue * total_qty) / sum(total_qty)
from xyz
group by year;
РЕДАКТИРОВАТЬ:
Или просто измените представление, чтобы получить необходимую информацию:
create view xyz as
select year, month, item,
sum(revenue)/ Sum(qty) as w_revenue,
sum(qty) as total_qty,
(sum(sum(revenue)) over (partition by year, item) /
sum(sum(qty)) over (partition by year, item)
) as w_revenue_year
from my_revenue_table
group by month, year, item;