====== Implement aging using a map ====== If you need to age a stock by 1 year you can create a map which moves all stock up 1 in the age sequence and bins the last 2 years with the following code: integer $firstAge = 0 integer $lastAge = 100 local eafrToea[ea,eafr] = create (; dim=SEQ;age:$firstAge:$lastAge:1;year, \ dim=SEQ;ageFr:$firstAge:$lastAge:1;year) eafrToea[ea,eafr] = insert (extract (diag (1.0; \ dimFrom1=eafrToea[ea,eafr]); \ age:+0..-1); \ 1->age:+1, 2->ageFr:+0) eafrToea[ea,eafr] = insert (1.0; age:-0, ageFr:-0) table (eafrToea[ea,eafr]) ! Just to prove to yourself it worked, comment it out later Now you can just apply the map to your stock (not the change of sequence name just before the map!): local agedStock[upperDims,ea] = map (changeseq (stock[upperDims,ea]; \ dim=age, name=ageFr), \ eafrToea[ea,eafr])