# データセットオプション

# データセットオプションの概要

- dataステップのsetステートメントなどで、データセット名の直後に`データセット名(～～～)`のように記述し、利用する。
  - 複数のオプションを指定する場合はスペースで区切る。
  - [カテゴリ別のデータセットオプション - SAS® Help Center](https://go.documentation.sas.com/doc/ja/pgmsascdc/9.4_3.5/ledsoptsref/n03k13diwk36x1n1az3mpixdfbfp.htm)


``` sas
data work.test;
set sashelp.class(keep=Name Height Weight where=(Height>60 and Weight>100));
run;
```

# keep=データセットオブション

保持したい列名をスペース区切りで記載する。ここに記載されていない列はそもそも読み込まれないため、dataステップなどで使用不可となる。

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

除去したい列名をスペース区切りで記載する。ここに記載した列はそもそも読み込まれないため、dataステップなどで使用不可となる。

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

<https://documentation.sas.com/doc/ja/pgmsascdc/v_061/ledsoptsref/p0ny9o8t8hc5zen1qn3ft9dhtsxx.htm>

データセット行の取得条件を指定する。
条件部分は`()`で括り、`where=(Height>60 and Weight>100)`のように記述する必要がある。
(`keep=`や`drop=`の後に`where=`が処理される)

``` sas
data work.test;
  set sashelp.class(where=(Height>60 and Weight>100));
run;

# rename=データセットオブション

データセットの列名を異なる列名で読み込む。`rename=(name1=new_name1 name2=new_name2)`のようにセットで指定する。(`keep=`や`drop=`の後に`rename=`が処理される)



``` sas
data work.test;
  set work.table1(rename=(name1=new_name1 name2=new_name2));`
run;
```