CATX SAS

【SAS】CATX関数は区切り文字を設定し、変数を結合することができる。

投稿日:2021年12月28日 更新日:

今回はCATX関数について解説します。


/* , */
data data1;
  Id1=1111; Id2=1111; Id3=1111;
    output;
  Id1=2222; Id2=2222; Id3=2222;
    output;
  Id1=3333; Id2=3333; Id3=3333;
    output;
run;

data data2; set data1;
  Id4 = catx(",", Id1, Id2, Id3) ;
run;

  • catxにより、変数をカンマで結合することができる。

/* , 文字列 */
data data1;
  Id1="1111"; Id2="1111"; Id3="1111";
    output;
  Id1="2222"; Id2="2222"; Id3="2222";
    output;
  Id1="3333"; Id2="3333"; Id3="3333";
    output;
run;

data data2; set data1;
  Id4 = catx(",", Id1, Id2, Id3) ;
run;

  • catxにより、変数をカンマで結合することができる。

/* , Id2 . */
data data1;
  Id1=1111; Id2=1111; Id3=1111;
    output;
  Id1=2222; Id2=.; Id3=2222;
    output;
  Id1=3333; Id2=3333; Id3=3333;
    output;
run;

data data2; set data1;
  Id4 = catx(",", Id1, Id2, Id3) ;
run;

  • catxにより、変数をカンマで結合することができる。
  • nullを結合しようとすると「.」で扱われる。

/* , Id3 . */
data data1;
  Id1=1111; Id2=1111; Id3=1111;
    output;
  Id1=2222; Id2=2222; Id3=.;
    output;
  Id1=3333; Id2=3333; Id3=3333;
    output;
run;

data data2; set data1;
  Id4 = catx(",", Id1, Id2, Id3) ;
run;

  • catxにより、変数をカンマで結合することができる。
  • nullを結合しようとすると「.」で扱われる。

/* | */
data data1;
  Id1=1111; Id2=1111; Id3=1111;
    output;
  Id1=2222; Id2=2222; Id3=2222;
    output;
  Id1=3333; Id2=3333; Id3=3333;
    output;
run;

data data2; set data1;
  Id4 = catx("|", Id1, Id2, Id3) ;
run;

  • catxにより、変数を「|」で結合することができる。

/* | , */
data data1;
  Id1=1111; Id2=1111; Id3=1111;
    output;
  Id1=2222; Id2=2222; Id3=2222;
    output;
  Id1=3333; Id2=3333; Id3=3333;
    output;
run;

data data2; set data1;
  Id4 = catx("|",",", Id1, Id2, Id3) ;
run;

  • catxにより、変数を「|」で結合することができる。
  • 1番目の引数「|」で区切り、それ以外の「,」「Id1」「Id2」「Id3」を結合している。

-CATX, SAS

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【SAS】データセットのエンコードを答えさせる問題【CONTENTS】【SAS Base Programming対策7】

今回はデータセットのエンコードを答えさせる問題について解説します。SAS Base Programming試験を受けたときに出題されました。 data data1; Id1=1111; Id2=111 …

【SAS】INTCK関数は指定された区間に指定された単位を何回跨ぐか数える。

data data1; Id1 =intck(“YEAR”, ’31Dec2019’d, ‘1Jan2020’d); run; 2019/12/31~2020/1/1の間に年を何回跨ぐか数える。 /* …

【SAS】NODUPKEYはソート時に重複を削除する

今回はNODUPKEYについて解説します。 data data1; id=”A”; chiku=”SHINJUKU1″; 数字=1; output; id=”A”; chiku=”SHINJUKU2″ …

【SAS】PROC PRINTTO LOGはログをファイルとして出力する。【NEW】

今回はPROC PRINTTO LOGについて解説します。 /* log_1 */ proc printto log = “/home/xxxxxxxxxx/sasuser.log” new; run …

【SAS】ORDER BY句無しで抽出した際の出力順【SQL】

この記事の要約:「ORDER BYを使わない場合、SQLで抽出した際の並び順は保証されない」 SQL文で抽出を行った際に、困ったことが起きました。 同じPG文なのに1回目と2回目で出力結果に違いがある …