You could do it with the below mentioned subfield() function as a loop but I would do it within a while-loop and creating a "normal" table with an amount-field and a period field and not a crosstable. I mean something like this:
subfield(qty, ';', iterno()) as qty, iterno() as period
from source while iterno() <= substringcount(qty, ';') + 1;
In this case I would create a real date from the period probably with:
makedate(Year /* somewhere you need to have this information */, period, 1) as Date
and this date would be linked to a master-calendar and most of the advanced date-fields like YTD, LYTD and so on would be flagged there. Here you will find a collection of valuable links to this topic: How to use - Master-Calendar and Date-Values.