前のページ|次のページ

STARTOBS=データセットオプション

ユーザー定義のオブザベーション処理範囲における最初のオブザベーション番号を指定します。

該当要素: DATAステップおよびPROCステップ
デフォルト: データセット内の最初のオブザベーション
制限事項: STARTOBS=は入力データセットにのみ使用
OBS=システムまたはデータセットオプション、あるいはFIRSTOBS=システムおよびデータセットオプションと一緒には使用不可
操作: STARTOBS= LIBNAMEステートメントオプション
ENDOBS= LIBNAMEステートメントオプション
ENDOBS=データセットオプション
エンジン: SPD Engineのみ

構文

STARTOBS=n

必須引数

n

開始オブザベーションの番号。

詳細

オブザベーション範囲の指定

デフォルトでは、SPD Engineで、STARTOBS=オプションとENDOBS=オプションを使用してオブザベーションの範囲を指定しない限り、データセット全体のすべてのオブザベーションが処理されます。ENDOBS=オプションをSTARTOBS=オプションなしで使用した場合、STARTOBS=の暗黙値は1になります。両方のオプションを一緒に使用する場合、STARTOBS=値をENDOBS=値よりも小さくする必要があります。
SPD EngineにおけるFIRSTOBS=データセットオプションは、デフォルトのBase SAS EngineにおけるFIRSTOBS=データセットオプションと同様に機能します。唯一の違いは、STARTOBS=をWHERE式で使用した場合の動作です。
注: FIRSTOBS= SASデータセットオプションは、SPD Engineではサポートされていません。OBS=システムオプションおよびOBS=データセットオプションは、STARTOBS=もしくはENDOBS=データセットまたはLIBNAMEオプションと一緒には使用できません。

WHERE式でのSTARTOBS=の使用

STARTOBS=をWHERE式で使用する場合、STARTOBS=値は、WHERE式を適用する最初のオブザベーションを表します。この値をデフォルトBase SAS EngineデータセットオプションFIRSTOBS=と比較します。FIRSTOBS=では、WHERE式に適合するデータのサブセット内の開始オブザベーション番号が指定されます。

比較

STARTOBS=データセットオプションで、STARTOBS= LIBNAMEステートメントオプションが上書きされます。

例1: SPD EngineでのSTARTOBS=

SPD EngineでSTARTOBS=5を指定してデータセットを作成および処理します。オブザベーション番号5で始まるデータセットにWHERE式が適用されます。PRINTプロシジャでは6つのオブザベーションが印刷されます。これはWHERE式に適合するオブザベーションです。
libname growth spde 'SAS-library';
data growth.teens;
   input Name $ Sex $ Age Height Weight;
   list;
datalines;
Alfred M 14 69.0 112.5
Carol F 14 62.8 102.5
James M 13 57.3 83.0
Janet F 15 62.5 112.5
Judy F 14 64.3 90.0
Philip M 16 72.0 150.0
Zeke M 14 71.1 105.1
Alice F 14 65.1 91.0
William M 15 66.5 112.0
Mike M 16 67.0 105.1
;
proc print data=growth.teens (startobs=5);
   where age >13;
   title 'WHERE age>13 using SPD Engine';
run;
STARTOBS=
印刷された6つのオブザベーション

例2: デフォルトBase SAS EngineでのFIRSTOBS=

デフォルトBase SAS EngineでFIRSTOBS=5オプションを指定して同じデータセットを処理します。PROC PRINTでは5つのオブザベーションが印刷されます。これはWHERE式に適合するすべてのオブザベーションで、5番目の適合オブザベーションから開始されます。FIRSTOBS=オプションは、SPD Engineではサポートされていません。
libname growth v9 'SAS-library';
data growth.teens;
   input Name $ Sex $ Age Height Weight;
   list;
datalines;
Alfred M 14 69.0 112.5
Carol F 14 62.8 102.5
James M 13 57.3 83.0
Janet F 15 62.5 112.5
Judy F 14 64.3 90.0
Philip M 16 72.0 150.0
Zeke M 14 71.1 105.1
Alice F 14 65.1 91.0
William M 15 66.5 112.0
Mike M 16 67.0 105.1
;
proc print data=growth.teens (firstobs=5);
   where age >13;
   title 'WHERE age>13 using the V9 Engine';
run;
印刷された5つのオブザベーション
印刷された5つのオブザベーション
前のページ|次のページ|ページの先頭へ