This is PERL-beginners. For answering questions about the **Perl** language.
SAS was an interesting experiment twenty years ago. B On Sun, Jun 20, 2010 at 4:42 PM, papu <prac...@gmail.com> wrote: > Hi All, > > I would like to change SAS proc format to if-then-else statements. Can > someone guid me? Thanks. > > > /*old file*/ > > %let _V0 = var1; /* xnbntl75_n */ > %let _V1 = var2; /* pct_pay_bal_cyc_1 */ > > > proc format; > value V_0_f /* var1 */ > > 0 -< 1 = "38.6375" > 1 -< 2 = "29.8241" > 2 -< 3 = "18.8390" > 3 -< 4 = "12.8211" > 4 -< 5 = "7.8781" > 5 -< 8 = "1.4283" > 8 - high = "-6.4817" > other = "24.2959" > ; > > value V_1_f /* var2 */ > > 0 -< 3.52 = "10.5909" > 3.52 -< 10.87 = "25.4922" > 10.87 -< 23.68 = "36.4572" > 23.68 -< 99.84 = "37.4047" > 99.84 - high = "46.0035" > other = "24.2959" > ; > run; > > > data &SCORE_DS; > set &INPUT_DS; > > /*********************************************************/ > /* Note: applying score weight formats to scorecard vars */ > /*********************************************************/ > cbr_score0 = input ( put( &_V0, V_0_f. ), 8. ); /* var1 */ > cbr_score1 = input ( put( round( &_V1, &ROUND_PRECISION ), > V_1_f. ), 8. ); /* var2 */; > > cbr_scaledScore = sum( of cbr_score0-cbr_score1 ); > run; > endrsubmit; > > > > /*New file*/ > > > data &SCORE_DS; > set &INPUT_DS; > > > IF 0 <= var1 < 1 THEN cbr_score0 = "38.6375"; > ELSE IF 1 <= var1 < 2 THEN cbr_score0 = "29.8241"; > ELSE IF 2 <= var1 < 3 THEN cbr_score0 = "18.8390"; > ELSE IF 3 <= var1 < 4 THEN cbr_score0 = "12.8211"; > ELSE IF 4 <= var1 < 5 THEN cbr_score0 = "7.8781"; > ELSE IF 5 <= var1 < 8 THEN cbr_score0 = "1.4283"; > ELSE IF 5 <= var1 THEN cbr_score0 = "-6.4817"; > ELSE cbr_score0 = "24.2959"; > > IF 0 <= var2 < 3.52 THEN cbr_score1 = "10.5909"; > ELSE IF 3.52 <= var2 < 10.87 THEN cbr_score1 = "25.4922"; > ELSE IF 10.87 <= var2 < 23.68 THEN cbr_score1 = "36.4572"; > ELSE IF 23.68 <= var2 < 99.84 THEN cbr_score1 = "37.4047"; > ELSE IF 99.84 <= var2 THEN cbr_score1 = "46.0035"; > ELSE cbr_score1 = "24.2959"; > > > cbr_scaledScore = sum( of cbr_score0-cbr_score1 ); > run; > endrsubmit; > > > -- > To unsubscribe, e-mail: beginners-unsubscr...@perl.org > For additional commands, e-mail: beginners-h...@perl.org > http://learn.perl.org/ > > > -- Bob Goolsby bob.gool...@gmail.com -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/