The trick is not to loop over the dynamic set but over the constant set using the dynamic set as a conditional
scalar timestep /3/ ;
Set
Year /2014*2033/
delayYr(year) ' Years'
;
delayYr(year)$(mod(ord(year)-1,timestep)=0)=Yes;
display delayYr;
scalar val;
loop(Year$delayYr(year),
val = ord(year);
display val;
);
how to uses ord on a dynamic set Topic is solved
- Gideon Kruseman
- User
- Posts: 24
- Joined: 6 years ago
Re: how to uses ord on a dynamic set
Gideon Kruseman
ex-ante and foresight lead @CIMMYT, big data focal point @CIMMYT, coordinator CoP socio-economic data @CGIAR_BigData
ex-ante and foresight lead @CIMMYT, big data focal point @CIMMYT, coordinator CoP socio-economic data @CGIAR_BigData
Re: how to uses ord on a dynamic set
or just:
Cheers
Renger
Code: Select all
parameter ordval;
ordval(dealyYr) = (delayYr.val - 2014) + 1;
display ordval;
Renger
____________________________________
Enjoy modeling even more: Read my blog on modeling at The lazy economist
Enjoy modeling even more: Read my blog on modeling at The lazy economist
Re: how to uses ord on a dynamic set
set year 'All years' /2016*2050/;
set yearsub(year) Subset of years;
define subset
loop(year$yearsub(year),
....
);
Cheers
Renger
set yearsub(year) Subset of years;
define subset
loop(year$yearsub(year),
....
);
Cheers
Renger
____________________________________
Enjoy modeling even more: Read my blog on modeling at The lazy economist
Enjoy modeling even more: Read my blog on modeling at The lazy economist