outputステートメントスポンサーリンクステートメント2020.04.162020.08.18理解が曖昧だと仕事中に無駄に時間を浪費してしまうのでまとめました。ルール「暗示的なOUTPUT」と「明示的なOUTPUT」の2種類がある。データステップではOUTPUTと書かなくても暗示的なOUTPUTが存在する。データステップ内でOUTPUTと書くと明示的なOUTPUTとなり、暗示的なOUTPUTは存在しなくなる。例1:暗示的なOUTPUTdata test; length A B 8.; A = 1; B = 2; run;見慣れた結果。例2:明示的なOUTPUTdata test2; length A B 8.; A = 1; output; B = 2; run;データステップ中にOUTPUTがある(明示的なOUTPUT)ので、暗示的なOUTPUTは消える。B=2は実行されないので出力は欠損となる。例3:明示的なOUTPUTdata test3; length A B 8.; A = 1; output; output; B = 2; run;A=1が2回OUTPUTされている。B=2は実行されない。例4:明示的なOUTPUTdata test4; length A B 8.; A = 1; output; output; B = 2; output; run;3回目の明示的なOUTPUTでA=1とB=2が実行される。例5:明示的なOUTPUTdata test5; length A B C 8.; A = 1; output; output; B = 2; C = 3; output; run;同様に3回目のOUTPUTでそれまでのステートメントが実行される。
コメント