DATAステップを開始します。また、出力データセット、ビュー、プログラムの名前を指定します。
該当要素: | DATAステップ |
カテゴリ: | ファイル操作 |
種類: | 宣言 |
DATAステップで作成するSASデータファイルまたはDATAステップビューの名前を指定します。DATAステップビューを作成するには、data-set-nameを少なくとも1つ指定する必要があります。また、data-set-nameはview-nameに一致させる必要があります。
制限事項 | data-set-nameはSASの命名規則に準拠する必要があります。また、動作環境によっては、その他の制限事項が適用される場合があります。 |
ヒント | データセット名を使用するかわりに、オペレーティングシステムでサポートされている構文を使用してファイルの物理パス名を指定することができます。物理パス名は一重引用符または二重引用符で囲む必要があります。 |
SASデータセットを作成せずに、DATAステップを実行することもできます。カスタムレポートの作成を参照してください。詳細については、データセットを作成しない場合(形式2) を参照してください。 | |
参照項目 | SASデータセット名の種類および各種類の用途については、XisError: No pubcode in link data found for lrconを参照してください。 |
DATAステップでオブザベーションを出力データセットに書き込むときに適用する引数を指定します。この引数はオプションです。
参照項目 | SASデータセットオプション: リファレンス には、データセットオプションの定義や一覧が記載されています。 |
例 | 複数データファイルの作成とデータセットオプションの使用 |
論理エラーやデータエラーを特定しながら、対話的にプログラムのデバッグを行うことができます。
DO-ENDおよびSELECT-ENDの各ネストレベルの開始と終了に関するメッセージをSASログに出力できます。このオプションを指定すると、一致していないDO-ENDステートメントおよびSELECT-ENDステートメントをデバッグすることができます。また、ネストレベルがわかりにくい大規模なプログラムに使用すると便利です。
ネストするLINKステートメントの最大数を指定します。
DATAステップの実行時にデータセットを作成しないように指定します。
DATAステップで入力DATAステップビューの格納に使用するビューの名前を指定します。
制限事項 | view-nameは、複数のデータセット名のうちの1つと一致している必要があります。 |
1つのDATAステップで作成できるビューは1つだけです。 | |
ヒント | DATAステートメントに追加データセットを指定する場合、後続のDATAステップまたはPROCステップでビューが処理されるときに追加データセットが作成されます。ビューには、ビューの実行時に他のデータセットを生成する機能があります。 |
ビューの作成時、SASマクロ変数が解決されます。マクロ変数の解決をビューの処理時まで延期する場合は、SYMGET関数を使用します。 | |
例 | 入力DATAステップビューの作成 |
コンパイル済みDATAステッププログラムまたはDATAステップビューにパスワードを割り当てます。
SASデータファイルにALTERパスワードを割り当てます。このパスワードを使用すると、コンパイル済みDATAステッププログラムまたはDATAステップビューの保護や置き換えが行えます。
別名 | PROTECT= |
要件 | コンパイル済みDATAステッププログラムやDATAステップビューの作成時にALTERパスワードを使用した場合、そのプログラムやビューを置き換えるにはALTERパスワードが必要となります。 |
コンパイル済みDATAステッププログラムやDATAステップビューの作成時にALTERパスワードを使用した場合、DESCRIBEステートメントを実行するにはALTERパスワードが必要となります。 |
SASデータファイルにREADパスワードを割り当てます。このパスワードを使用すると、コンパイル済みDATAステッププログラムまたはDATAステップビューの読み取りや実行を行えます。
別名 | EXECUTE= |
要件 | コンパイル済みDATAステッププログラムやDATAステップビューの作成時にREADパスワードを使用した場合、そのプログラムやビューを実行するにはREADパスワードが必要となります。 |
コンパイル済みDATAステッププログラムやDATAステップビューの作成時にREADパスワードを使用する場合、DESCRIBEステートメントおよびEXECUTEステートメントを実行するにはREADパスワードが必要です。無効なパスワードを指定すると、DESCRIBEステートメントだけが実行されます。 | |
ヒント | コンパイル済みDATAステッププログラムやDATAステップビューの作成時にREADパスワードを使用する場合、プログラムやビューの置き換えにはパスワードは不要です。 |
READパスワードとALTERパスワードを割り当てます。両方のパスワードに同じ値を使用します。
次のソースオプションから1つ指定します。
コンパイル済みDATAステッププログラムやDATAステップビューを作成したソースコードを保存します。
コンパイル済みDATAステッププログラムやDATAステップビューを作成したソースコードを暗号化して保存します。
ヒント | ソースコードを暗号化する場合は、ALTERパスワードオプションも使用する必要があります。ALTERパスワードを使用しないと、警告メッセージが表示されます。 |
ソースコードは保存されません。
デフォルト | SAVE |
DATAステップで作成または実行するコンパイル済みプログラムの名前を指定します。コンパイル済みプログラムを作成する場合は、PGM=オプションの前にスラッシュ(/)を指定します。コンパイル済みプログラムを実行する場合は、スラッシュ(/)をつけずにPGM=オプションを指定します。
ヒント | ストアドプログラムの作成時、SASマクロ変数の解決が行われます。マクロ変数の解決をビューの処理時まで延期する場合は、SYMGET関数を使用します。 |
例 | コンパイル済みプログラムの保存と実行 |
_ERROR_の値が1の場合、すべての変数をSASログに出力しないようにします。
制限事項 | NOLISTはDATAステートメントの最後のオプションとして指定する必要があります。 |
DESCRIBEステートメントは実行されません。 |
バッチモードでは、このEXECUTEステートメントは何も影響しません。 |
対話型モードでは、READパスワードの入力を求めるプロンプトが表示されます。READパスワードが有効な場合、EXECUTEステートメントが処理されます。READパスワードが無効な場合、EXECUTEステートメントは処理されません。 |
有効なALTERパスワードを入力すると、DESCRIBEステートメントとEXECUTEステートメントの両方が実行されます。 |
無効なALTERパスワードを入力すると、EXECUTEステートメントは実行されますが、DESCRIBEステートメントは実行されません。 |
data testfile / pgm=stored.test_program (alter=sales);
set sales_data;
. . .more SAS statements. . .
run;
data view=inventory; describe; run;
libname stored 'SAS library';
data pgm=stored.employee_list;
describe;
execute;
run;
libname stored 'SAS library'; data pgm=stored.test_program; describe; execute; . . .more SAS statements. . . run;
data error (keep=subject date weight) fitness(label='Exercise Study' rename=(weight=pounds));
libname ourlib 'SAS-library';
data ourlib.test / view=ourlib.test;
set ourlib.fittest;
tot=sum(of score1-score10);
run;
libname ourlib 'SAS-library-1'; libname theirlib 'SAS-library-2'; data theirlib.test scoretot / view=theirlib.test; set ourlib.fittest; tot=sum(of score1-score10); run;
libname in 'SAS-library-1 '; libname stored 'SAS-library-2 '; data salesdata / pgm=stored.salesfig; set in.sales; qtr1tot=jan+feb+mar; run;
data pgm=stored.salesfig; run;
data sales; input dept : $10. jan feb mar; datalines; shoes 4344 3555 2666 housewares 3777 4888 7999 appliances 53111 7122 41333 ; data _null_; set sales; qtr1tot=jan+feb+mar; put 'Total Quarterly Sales: ' qtr1tot dollar12.; run;
data sample; input Name $ TotalItems $; datalines; Lin 328 Susan 433 Ken 156 Pat 340 ; proc print data=sample; run;
libname stored 'SAS-library';
data employees / pgm=stored.items (alter=klondike); set sample; if TotalItems > 200 then output; run;
data pgm=stored.items (alter=klondike); describe; execute; run;
data _null_ /nesting; do i = 1 to 10; do j = 1 to 5; put i= j=; end; end; run;
6 data _null_ /nesting; 7 do i = 1 to 10; - 719 NOTE 719-185:*** DO begin level 1 ***.8 do j = 1 to 5; - 719 NOTE 719-185:*** DO begin level 2 ***.9 put i= j=; 10 end; --- 720 NOTE 720-185:*** DO end level 2 ***.11 end; --- 720 NOTE 720-185:*** DO end level 1 ***.12 run;