私は次のようなデータセットを持っていますが、何千もの行が含まれています。文字列内の文字列を検索
Firstname Lastname Emailaddress
John Smith [email protected]
Anna Blake [email protected]
Susan Peterson [email protected]
David Anderson [email protected]
私は、電子メール・アドレスは位置を無視して全く最初の人物や姓を含むされている場合私に指示変数を作成します。一致が見つかった場合、変数は値1を返し、一致が見つからない場合は値0を返します。
ほとんどの場合、以下のロジックを作成しました。
Data CheckNames;
Set MyDataSet;
LenFM = Length(FirstName);
LenLM = Length(LastName);
If Substr(EmailAddress,1,LenFM) = FirstName or Substr(EmailAddress,1,LenLM) = LastName then Match = 1;
Else Match = 0;
実行;
このロジックは、最初の2つの結果で一致= 1、最後の2つで一致= 0を返します。しかし、私はそれが人の名前を含んでいるので、3回目の観察のためにMatch = 1を返すことを望みます。
変数EmailAddressに名前が含まれているかどうかを調べる変数FirstnameとLastnameのすべての観測をループできるSASコマンドがあるのは私の質問です。
私はFind()
とPrxMatch()
を試しましたが、両方ともハードコードされた値が必要と思われるため、この目的には非効率的です。
ありがとうございました!