今回はSASで良く使うテクニックということで、特定の文字列を検索、置換したい時は、「Ctrl+F」「Ctrl+R」が役に立つ理由を解説していきます。
以下のようにテーブルがあったとします。(参考:【SAS】”nは本来使用できない文字を使用可能にする。 | ビジネスイッチ (how-to-business.com))
/* id4 */
data data1;
id1=1111; id2=1111; id3=1111; id4=1111;
output;
run;
data1からid1,id2,id3,id4を選択して抽出するSQL文が以下のようにあったとします。(参考:【SAS】”nは本来使用できない文字を使用可能にする。 | ビジネスイッチ (how-to-business.com))
proc sql;
create table data2 AS
select t1.id1,
t1.id2,
t1.id3,
t1.id4
from data1 t1;
quit ;
この上記のSQL文を以下のSAS文にリメイクしたいとします。(format文:【SAS】FORMATはカラムの出力順を制御できる | ビジネスイッチ (how-to-business.com))
data data2;
format id1
id2
id3
id4;
set data1;
run;
このとき、「t1.」「,」はSQLでは必要でしたが、SASでは不要なため、消したいです。
そこで、一つ一つ消すのも手段の一つですが、もっとスマートなやり方があります。
ここで検索、置換を使う訳です。
BeforeのSQL文をサクラエディタに貼り付けます。
「Ctrl+F」を押し、条件に「t1.」を入力後、該当行マークを押下します。
すると、「t1.」の部分が黄色くマーキングされます。
まずは、この検索機能で確認し、一括置換をしても問題が無いか確認をします。
問題が無ければ、今度は「Ctrl+R」を押下して置換機能を使います。
置換前に「t1.」を入力した状態で「すべて置換」を押下します。(文字列を消したいので、置換後は空欄にしておきます。)
すると、以下のように「t1.」が無くなります。
同様に「,」も消し去れば、「t1.」「,」は無くなるので、
後は必要な箇所を書き換えれば、SAS文の出来上がり。