SASの基本的な機能でよく使われる、一時変数 「FIRST.BY変数」「LAST.BY変数」 を解説したいと思います。
まずは例をご覧ください。
解説
データステップ内にBYステートメントが書いてあると、「FIRST.BY変数」と「LAST.BY変数」という一時変数が利用可能になります。
by A B C; |
と書くと、BY変数A, B, C に対応する以下の一時変数が利用可能になります。
「first.A」, 「last.A」
「first.B」, 「last.B」
「first.C」, 「last.C」
「first.A」, 「last.A」
「first.B」, 「last.B」
「first.C」, 「last.C」
これらの一時変数について、以下にイメージを示します。
📝注意
- 一時変数なので、データステップ内でしか存在しません(データセット化した時にはなくなってます)
- あと、みなまで言うなって感じかもですが、BYステートメントで指定した変数の順に、あらかじめソートされている必要があります。
- 今回の機能は「サブセット化IF」と一緒に使用すると正しく動かなくなる事があります(解説記事:「サブセット化IFでありがちな落とし穴」)
0 件のコメント:
コメントを投稿