こんにちは。 ユーザーズガイドにて、DATAステップとの違いとして以下のように記述があります。 ■SAS® Help Center Comparing PROC SQL with the SAS DATA Step http://documentation.sas.com/?docsetId=sqlproc&docsetTarget=p015vwpsg8pas3n135iy1t43o1mc.htm&docsetVersion=9.4&locale=ja >---(引用)--- PROC SQL can perform some of the operations that areprovided by the DATA step and the PRINT, SORT, and SUMMARY procedures. -- PROC SQL can achieve the same results as Base SAS software but oftenwith fewer and shorter statements. >------------ 上記サイトでも例示がありますが、amatsu さんの回答のようにシンプルにできる、が大きいと思います。 私見で恐縮ですが、VIEW作成などのSQLプロシジャの機能を使う必要がない(データの取得/編集のみ)において SASプログラマでない人がコードを読んだり書いたりする必要があるケースでは あえてDATAステップでなくSQLプロシジャを利用することが有益な場合があるかと理解しています。 上記の他に1点、同ドキュメントで sashelp.vtableなど、Dictionaryテーブルを参照する場合にはSQLプロシジャがより効率的であると記載されています。 via.■SAS® Help Center Accessing SAS Information By Using DICTIONARY Tables http://documentation.sas.com/?docsetId=sqlproc&docsetTarget=n02s19q65mw08gn140bwfdh7spx7.htm&docsetVersion=9.4&locale=ja >DICTIONARY Tables and Performance >---(引用)--- When querying a DICTIONARY table, SASlaunches a discovery process that gathers information that is pertinentto that table. Depending on the DICTIONARY table that is being queried,this discovery process can search libraries, open tables, and executeviews. Unlike other SAS procedures and the DATA step, PROC SQL canmitigate this process by optimizing the query before the discoveryprocess is launched. Therefore, although it is possible to access DICTIONARY table information with SAS procedures or the DATA stepby using the Sashelp views, it is often more efficient to use PROCSQL instead. >------------ ご参考になれば。
... View more