効率のよいSASデータセットの結合方法 [OS]ALL
[リリース] 6.07, 6.08, 6.09, 6.10
[キーワード] base, datastep, marge, set, modify, key=, point=, nobs=, sql, procedure
[質問]複数のSASデータセットを結合する場合でもっとも効率のよい方法を教えてください。 [回答]SASデータセットの結合方法でよく使われる方法に、MERGEステートメント、SETステートメントが挙げられます。 しかし、これらの方法で結合をすると、すべてのオブザベーションをバッファ内へ読み込み、別のディスクスペースに書き出すため、約2倍のディスクスペースを要します。
MODIFYステートメントを利用すると、1オブザベーションを読み込むたびにバッファに読み、もとのディスクに書き戻すので無駄なディスクを使用しません。
しかし、1オブザベーションごとに、同じバッファ内で読み書きを行うため、SETステートメントを使う場合より処理時間がかかります。
この他、SQLプロシジャも、データ結合には非常にすぐれた処理スピードを実現しています。 このプロシジャはANSI(アメリカ国家規格協会)SQLに準拠して、SAS Institute Inc.が開発したプロシジャですので、SQL言語の知識があれば簡単に利用できます。 [参考]
|