with newtable as (
select tx_sender as New_User,
min (block_timestamp) as mindate
from terra.core.fact_transactions
group by 1),
maintable as (
select date_trunc (week,block_timestamp) as date,
count (distinct tx_id) as TX_Count,
tx_count/604800 as TPS,
count (distinct tx_sender) as Users_Count,
count (distinct new_user) as New_Users,
sum (new_users) over (order by date) as Total_Users,
sum (fee) as Total_Fee,
avg (fee) as Average_Fee,
median (fee) as Median_Fee,
min (fee) as Minimum_Fee,
max (fee) as Maximum_Fee
from terra.core.fact_transactions t1 join newtable t2 on date_trunc(week,t1.block_timestamp) = date_trunc(week,t2.mindate)
where fee_denom = 'uluna'
group by 1)
select avg (tx_Count) as Average_TX_Per_Week,
avg (tps) as Average_TPS_Per_Week,
avg (users_count) as Average_Active_Users_Per_Week,
avg (new_users) as Average_New_Users_Per_Week,
avg (total_fee) as Average_Paid_Fee_Per_Week
from maintable