たまにタイトルにあるようなチェックをかけたい事ってありますよね。
色々方法はあると思いますが、今回はPROC SORTによる解法を載せておきます。
ここで、WORKライブラリのデータセットTEST1、TEST2、TEST3に同じ変数名があるかを確認したいと思います。
%upcase( proc sort data=sashelp.vcolumn out=OUT1 nouniquekey sortseq=linguistic(strength=primary); by name; where libname="WORK" and memname in ("TEST1","TEST2","TEST3"); run; ) |
結果がデータセットOUT1に出力されます。
「aa」と「bb」が変数名として重複してるってことですね。
- 変数定義情報は「SASHELP.VCOLUMN」から取得しています。
- PROC SORTの「NOUNIQUEKEY」をうまく利用しています。
- 「sortseq=なんちゃらかんちゃら」の部分はマニュアル分かりづらくてちゃんと調べきれてないですが、これを指定すると日本語をソートする場合だと「あ」と「ア」、「ア」と「ア」、「B」と「b」などを同じとみなすようになります。
- 今回の場合は変数名が大文字だったり小文字だったりしても同じものとみなしたいんで指定してます。
- プログラム青文字部分にチェック対象のライブラリ名とデータセット名を指定します。
0 件のコメント:
コメントを投稿