Это недопустимо. Сообщение об ошибке довольно ясное:
ОШИБКА: агрегатные функции не разрешены в СТРОКА ФИЛЬТРА 1: выберите фильтр count (*) (где x = max (x))
Также не разрешены оконные функции.
Вы можете использовать подзапрос для вычисления максимальной даты:
select id, plan, product, uom,
count(*) as transactions_count,
avg(invoice_price / quantity) filter (where date = max_date) as LAST_GUIDANCE
from (select t.*,
max(date) over (partition by id, plan, product, uom) as max_date
from transactions t
) t
group by id, plan, product, uom;
Обратите внимание, что я удалил двойные кавычки. Не избегайте имен столбцов. Это только усложняет написание и чтение запросов.