5
データステップのkeep
でワイルドカードを使用できますか?私は(左から始まるBキープ変数xとyと、すべての変数にAの結合)次の操作を実行したい:データステップ内のワイルドカード
data C;
merge A(in=a)
B(keep= x y var* in=b);
by x y;
if a;
run;
データステップのkeep
でワイルドカードを使用できますか?私は(左から始まるBキープ変数xとyと、すべての変数にAの結合)次の操作を実行したい:データステップ内のワイルドカード
data C;
merge A(in=a)
B(keep= x y var* in=b);
by x y;
if a;
run;
はい、:
を使用しています。
data C;
merge A(in=a)
B(keep=x y a: in=b);
by x y;
if a;
run;
(それはあなたがa
という名前の変数を持っている場合in=a
を言うことはお勧めできません。)
あなたは連続番号を持つ変数を持っている場合は、aN
、...、a2
、a1
のような、することができますa1-aN
を書きます。隣接する列のセット(たとえば、varX
、varY
、およびvarZ
がデータセット内に物理的に隣接する場合)は、varX--varZ
と言うことができます。これらの2つの例の違いは、ダッシュを1つまたは2つ使用するかどうかだけです。
こんにちはitzy、迅速な答えと説明のおかげで! – statquant
ところで、列名の選択にregexpなどを使うことはできますか? – statquant
直接ではありません。あなたは別のステップを経ることができます。たとえば、現在のセッションのすべての列名と表名を含む表であるdictionary.columnsがあります。クエリをSQLで実行したり、SAS対応のsashelp.vcolumnを使用してクエリを実行したり、SASデータストアを実行したりすることができます。次に、結果をマクロ変数に格納し、そのマクロ変数を実際のキープ・ステップで使用します。 – Joe