SAS TRIM

【SAS】TRIM関数は文字列の連結時に末尾のスペースを除去できる。

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

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


/* trim */
data data1;
  Id1=1111; Char1="AA AA";
    output;
  Id1=2222; Char1=" BBBB";
    output;
  Id1=3333; Char1="CCCC ";
    output;
  Id1=4444; Char1="DD  DD";
    output;
run;



data data2; set data1;
  Char2 = trim(Char1)||"a";
run;


  • trimにより、文字列の連結時に末尾のスペースを削除できる。

/* trim無し */
data data1;
  Id1=1111; Char1="AA AA";
    output;
  Id1=2222; Char1=" BBBB";
    output;
  Id1=3333; Char1="CCCC ";
    output;
  Id1=4444; Char1="DD  DD";
    output;
run;



data data2; set data1;
  Char2 = Char1||"a";
run;

  • trimが無いと、文字列の連結時に末尾のスペースが除去されない。

/* trim(Char1) */
data data1;
  Id1=1111; Char1="AA AA";
    output;
  Id1=2222; Char1=" BBBB";
    output;
  Id1=3333; Char1="CCCC ";
    output;
  Id1=4444; Char1="DD  DD";
    output;
run;



data data2; set data1;
  Char2 = trim(Char1);
run;

  • SAS Studioでは出力するときに先頭と末尾のスペースは除く仕様(?)のためか、単独でtrimを使っても見かけ上変わらない。

-SAS, TRIM

執筆者:


comment

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

関連記事

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

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

【SAS】SQLプロシージャはSQLを実行できる。

今回はSQLプロシージャについて解説します。 /* sql_1 */ data data1; Id1=1111; Id2=1111; Id3=1111; output; Id1=2222; Id2=2 …

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

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

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

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

【SAS】FORMATプロシージャはフォーマットルールを定義し、値を書き換える。その2

今回もFORMATプロシージャについて解説します。 前回は値の範囲によって、定義されたフォーマットルールに従い、値を書き換えるという内容でした。 【SAS】FORMATプロシージャはフォーマットルール …