Сам запрос, здесь берем за последние 8 дней:
select u.display_name as username, u.lower_user_name, day, SUM(wl.timeworked / 3600) as timeworked_hours
from cwd_user u
CROSS JOIN
(select generate_series(
date_trunc('day', now() - interval '7 day'),
date_trunc('day', now()),
'1 day'::interval
) as day
) as days
left join worklog wl on wl.author = concat('JIRAUSER', u.id) AND date_trunc('day', wl.startdate) = day
where u.active = 1
group by username, u.lower_user_name, day
order by username, day;
Пример того, что получается:
Потом это можно собрать в Pivot-таблицу в Superset:
Настройка в Metrics
выглядит так:
CASE
WHEN SUM(timeworked_hours) is null THEN 0
ELSE SUM(timeworked_hours)
END