I would like to list the missing date between two dates in a request for example
My data :
YEAR_MONTH | AMOUNT
202001 | 500
202001 | 600
201912 | 100
201910 | 200
201910 | 100
201909 | 400
201601 | 5000
I want the request to return
201912 | 100
201911 | 0
201910 | 300
201909 | 400
201908 | 0
201907 | 0
201906 | 0
.... | 0
201712 | 0
i want the last 24 months from the date of execution
I did something similar with the dates but not YEAR MONTH yyyyMM
select date_sub(s.date_order ,nvl(d.i,0)) as date_order, case when d.i > 0 then 0 else s.amount end as amount
from
(--find previous date
select date_order, amount,
lag(date_order) over(order by date_order) prev_date,
datediff(date_order,lag(date_order) over(order by date_order)) datdiff
from
( --aggregate
select date_order, sum(amount) amount from your_data group by date_order )s
)s
--generate rows
lateral view outer posexplode(split(space(s.datdiff-1),' ')) d as i,x
order by date_order;
I use Cassandra database with Apache Hive connector
Can someone help me ?