SQLプロシジャにより生成された値をマクロ変数に割り当てます。
種類: | SELECTステートメント、SQLプロシジャ |
作成または更新するマクロ変数を1つ以上指定します。各マクロ変数名の先頭にはコロン(:)を付けます。マクロ変数は、次の形式で指定できます。
1つまたは複数のマクロ変数を指定します。値がマクロ変数に保存される際に、値の先頭および末尾にある空白は削除されません。
select style, sqfeet into :type, :size from sasuser.houses;
マクロ変数の番号付きリストを指定します。値がマクロ変数に保存される際に、値の先頭および末尾にある空白は削除されます。先頭および末尾の空白を削除したくない場合、NOTRIMオプションを使用します。NOTRIMオプションは、この形式のINTO句に含まれる各要素に対して個々に適用されます。すなわち、同オプションは1つの要素に対してのみ適用され、それ以外の要素には適用されません。
select style, sqfeet into :type1 - :type4 notrim, :size1 - :size3 from sasuser.houses;
1つの列のすべての値を含む1つのマクロ変数を指定します。このリスト内の値は、1つまたは複数の
select distinct style into :types separated by ',' from sasuser.houses;
proc sql noprint; select style, sqfeet into :type, :size from sasuser.houses; %let type=&type; %let size=&size; %put The first row contains a &type with &size square feet.;
The first row contains a RANCH with 1250 square feet.
proc sql noprint; select style, sqfeet into :type1 - :type4 notrim, :size1 - :size4 from sasuser.houses; %macro putit; %do i=1 %to 4; %put Row&i: Type=**&&type&i** Size=**&&size&i**; %end; %mend putit; %putit
Row1:Type=**RANCH ** Size=**1250** Row2:Type=**SPLIT ** Size=**1190** Row3:Type=**CONDO ** Size=**1400** Row4:Type=**TWOSTORY** Size=**1810**
proc sql; select distinct quote(style) into :types separated by ', ' from sasuser.houses; %put Types of houses=&types.;
Types of houses=CONDO, RANCH, SPLIT, TWOSTORY