Procedureを使ったデータセットの結合について紹介します。join直積スポンサーリンク使用するサンプルデータAとBの2つのデータセットを使います。それぞれ4レコードずつですが、ID番号3と4は重複していることに注意してください。Aは2018年に、Bは2019年に記録されたデータを想定します。run;title;実行結果です。データテーブルAデータテーブルB列(縦)方向の結合(Combining)列方向の結合はUNION句を使います。UNIONUNIONを使ってデータセット同士を列方向に結合することができます。構文はデータセットとデータセットをUNIONで繋いであげるだけです。B;ただし、UNIONを使う際に注意しないといけないのは、重複したレコードは結合時に除外されてしまうことです。ALLとすればOKです。B;UNIONの仕組みは非常にシンプルで、指定されたデータセット同士をそのまま縦方向に結合します。UNION以外は通常のSELECT文の使い方と何ら変わりなく使えます。B;UNIONのエラーチェックは、列ごとにデータ型が一致しているかどうか程度です。そのため、結合するデータセットの列の数が同じであるか、列順が同じであるかは自身で保証する必要があります。このことは次のコードで確認できます。(UNIONの第1コントリビュータからの列)は第2コントリビュータからの列とはタイプが異なります。列タイプを揃えるとWARNINGが返るものの実行はできる。ALLセットの実行により、テーブルをNULL列で拡張しました。*/結合結果1列目について、どちらも文字なのでUNIONは実行されます。ちなみに、ラベルなど列に関する情報は、列名が一致先に指定したデータセットの情報が優先されます。ここではAのsexはCHAR(8)、CLASSのsexはCHAR(4)ですが結合後はCHAR(8)となります。2列目について、AのageとCLASSのheightを結合しようとしています。実際には全く意味の違う列ですが、データ型が一致しているのでUNIONは実行されます。逆にいうと、列の位置が違っていたとしても、データ型が一致する限りエラーにならないため注意する必要があります。3列目は、Aには存在しない列との結合です。一方が存在しない場合には、存在している列にもとづいて自動的に空白列が生成されます。行(横)方向の結合(Joining)列方向の結合はJOIN句を使います。joinを使った結合は次のように書きます。joinで出てきた直積です。実務で使うことはないですが参考までに。Feedlyこの記事を書いた人ポチるのSAS初心者なので、SASをメインに統計処理ソフトのコードを学習しながらまとめていきます。(導入編)SASを導入したら真っ先に行うべき環境設定は?SASライフを快適におすすめの記事SASSASプログラムファイルを拡張エディタで開き直す方法SASプログラムをエクスプローラーを介さずに、拡張エディタで開き直す方法を紹介します。ニーズはないかもですが。(Windows)現在は、LaTeXからLuaLaTeXに、TeXstudioからAtomに乗り換えました。Procedureを使ったデータセットの並び替えについて紹介します。数式を書く機能が提供されていますが、もっときれいに書きたいなぁ...SAS現在実行しているプログラムのパスを取得する現在実行しているプログラムのパスを取得する方法をご紹介します。仕事で必要だから勉強した。自己学習したならノートにまとめたい。まとめるならきれいにまとめた...SASSASを導入したら真っ先に行うべき環境設定は?SASライフを快適に自分がやってる環境設定を覚え書きもかねてまとめておきます。現在のSASセッションで使用中、もしくは使用可...自己紹介ポチるの当サイト管理者のポチるのです。統計解析ソフトウェアであるSASについて、初心者の私が自己学習も兼ねて勉強したコードをまとめていきます。ヘルプ読むの本当に大変。