For loop or subroutine?

For questions regarding programming in the EViews programming language.

Moderators: EViews Gareth, EViews Moderator, EViews Jason, EViews Matt

ecardamone
Posts: 40
Joined: Wed Sep 17, 2014 12:23 pm

For loop or subroutine?

Postby ecardamone » Wed Sep 17, 2014 12:30 pm

I want to create deflator from real and nominal values. Currently, I use the following subroutine. I am wondering if there is a better way to do this using for loop. Thanks so much for help!

subroutine create_deflator

series q_pgoTOT=100*{%0}/{%1}
series q_pgoP=100*{%2}/{%3}
series q_pgo11=100*{%4}/{%5}
series q_pgo21=100*{%6}/{%7}
series q_pgo22=100*{%8}/{%9}
series q_pgo23=100*{%10}/{%11}
series q_pgoM=100*{%12}/{%13}
series q_pgoMD=100*{%14}/{%15}
series q_pgoMN=100*{%16}/{%17}
series q_pgo42=100*{%18}/{%19}
series q_pgo44=100*{%20}/{%21}
series q_pgo48=100*{%22}/{%23}
series q_pgo51=100*{%24}/{%25}
series q_pgoFIRE=100*{%26}/{%27}
series q_pgo52=100*{%28}/{%29}
series q_pgo53=100*{%30}/{%31}
series q_pgoPBS=100*{%32}/{%33}
series q_pgo54=100*{%34}/{%35}
series q_pgo55=100*{%36}/{%37}
series q_pgo561=100*{%38}/{%39}
series q_pgo6=100*{%40}/{%41}
series q_pgo61=100*{%42}/{%43}
series q_pgo62=100*{%44}/{%45}
series q_pgo7=100*{%46}/{%47}
series q_pgo71=100*{%48}/{%49}
series q_pgo72=100*{%50}/{%51}
series q_pgo81=100*{%52}/{%53}
series q_pgoG=100*{%54}/{%55}
series q_pgoGF=100*{%56}/{%57}
series q_pgoGSL=100*{%58}/{%59}
series q_pgoPGPI=100*{%60}/{%61}
series q_pgoPSPI=100*{%62}/{%63}

series q_pvaTOT=100*{%64}/{%65}
series q_pvaP=100*{%66}/{%67}
series q_pva11=100*{%68}/{%69}
series q_pva21=100*{%70}/{%71}
series q_pva22=100*{%72}/{%73}
series q_pva23=100*{%74}/{%75}
series q_pvaM=100*{%76}/{%77}
series q_pvaMD=100*{%78}/{%79}
series q_pvaMN=100*{%80}/{%81}
series q_pva42=100*{%82}/{%83}
series q_pva44=100*{%84}/{%85}
series q_pva48=100*{%86}/{%87}
series q_pva51=100*{%88}/{%89}
series q_pvaFIRE=100*{%90}/{%91}
series q_pva52=100*{%92}/{%93}
series q_pva53=100*{%94}/{%95}
series q_pvaPBS=100*{%96}/{%97}
series q_pva54=100*{%98}/{%99}
series q_pva55=100*{%100}/{%101}
series q_pva561=100*{%102}/{%103}
series q_pva6=100*{%104}/{%105}
series q_pva61=100*{%106}/{%107}
series q_pva62=100*{%108}/{%109}
series q_pva7=100*{%110}/{%111}
series q_pva71=100*{%112}/{%113}
series q_pva72=100*{%114}/{%115}
series q_pva81=100*{%116}/{%117}
series q_pvaG=100*{%118}/{%119}
series q_pvaGF=100*{%120}/{%121}
series q_pvaGSL=100*{%122}/{%123}
series q_pvaPGPI=100*{%124}/{%125}
series q_pvaPSPI=100*{%126}/{%127}

endsub

call create_deflator

'Q_USGOTOT_ND Q_USGOTOT_RD Q_USGOP_ND Q_USGOP_RD Q_USGO11_ND Q_USGO11_RD Q_USGO21_ND Q_USGO21_RD Q_USGO22_ND Q_USGO22_RD Q_USGO23_ND Q_USGO23_RD Q_USGOM_ND Q_USGOM_RD Q_USGOMD_ND Q_USGOMD_RD Q_USGOMN_ND Q_USGOMN_RD Q_USGO42_ND Q_USGO42_RD Q_USGO44_ND Q_USGO44_RD Q_USGO48_ND Q_USGO48_RD Q_USGO51_ND Q_USGO51_RD Q_USGOFIRE_ND Q_USGOFIRE_RD Q_USGO52_ND Q_USGO52_RD Q_USGO53_ND Q_USGO53_RD Q_USGOPBS_ND Q_USGOPBS_RD Q_USGO54_ND Q_USGO54_RD Q_USGO55_ND Q_USGO55_RD Q_USGO561_ND Q_USGO561_RD Q_USGO6_ND Q_USGO6_RD Q_USGO61_ND Q_USGO61_RD Q_USGO62_ND Q_USGO62_RD Q_USGO7_ND Q_USGO7_RD Q_USGO71_ND Q_USGO71_RD Q_USGO72_ND Q_USGO72_RD Q_USGO81_ND Q_USGO81_RD Q_USGOG_ND Q_USGOG_RD Q_USGOGF_ND Q_USGOGF_RD Q_USGOGSL_ND Q_USGOGSL_RD Q_USGOPGPI_ND Q_USGOPGPI_RD Q_USGOPSPI_ND Q_USGOPSPI_RD Q_USvaTOT_ND Q_USvaTOT_RD Q_USvaP_ND Q_USvaP_RD Q_USva11_ND Q_USva11_RD Q_USva21_ND Q_USva21_RD Q_USva22_ND Q_USva22_RD Q_USva23_ND Q_USva23_RD Q_USvaM_ND Q_USvaM_RD Q_USvaMD_ND Q_USvaMD_RD Q_USvaMN_ND Q_USvaMN_RD Q_USva42_ND Q_USva42_RD Q_USva44_ND Q_USva44_RD Q_USva48_ND Q_USva48_RD Q_USva51_ND Q_USva51_RD Q_USvaFIRE_ND Q_USvaFIRE_RD Q_USva52_ND Q_USva52_RD Q_USva53_ND Q_USva53_RD Q_USvaPBS_ND Q_USvaPBS_RD Q_USva54_ND Q_USva54_RD Q_USva55_ND Q_USva55_RD Q_USva561_ND Q_USva561_RD Q_USva6_ND Q_USva6_RD Q_USva61_ND Q_USva61_RD Q_USva62_ND Q_USva62_RD Q_USva7_ND Q_USva7_RD Q_USva71_ND Q_USva71_RD Q_USva72_ND Q_USva72_RD Q_USva81_ND Q_USva81_RD Q_USvaG_ND Q_USvaG_RD Q_USvaGF_ND Q_USvaGF_RD Q_USvaGSL_ND Q_USvaGSL_RD Q_USvaPGPI_ND Q_USvaPGPI_RD Q_USvaPSPI_ND Q_USvaPSPI_RD

EViews Gareth
Fe ddaethom, fe welon, fe amcangyfrifon
Posts: 13604
Joined: Tue Sep 16, 2008 5:38 pm

Re: For loop or subroutine?

Postby EViews Gareth » Wed Sep 17, 2014 12:36 pm

Something like:

Code: Select all

for %j tot p 11 21 22 23 m md series q_pgo{%j} = 100*q_usgo{%j}_nd/q_usgo{%j}_rd next
(I didn't list all of the suffixes in the loop, but you get the idea).

ecardamone
Posts: 40
Joined: Wed Sep 17, 2014 12:23 pm

Re: For loop or subroutine?

Postby ecardamone » Wed Sep 17, 2014 1:25 pm

Works wonderfully. Thank you so much!


Return to “Programming”

Who is online

Users browsing this forum: No registered users and 1 guest