Pretty much the same way you create any calendar. Load in your dates, possibly using an autogenerate, then establish other fields from them. For instance, let's say your date field was "Date", and your financial year starts on April 1. You might do this:
[Calendar]: LOAD * ,date(yearstart("Date",0,4),'YYYY') as "Financial Year" ; LOAD date(fieldvalue('Date',recno())) as "Date" AUTOGENERATE fieldvaluecount('Date') ;
I suspect there are plenty of other examples on the forum if you search.