前のページ|次のページ

ATTRC関数

SASデータセットの文字属性の値を返します。

カテゴリ: SASファイルI/O

構文

必須引数

data-set-id

OPEN関数が返すデータセット識別子を指定します。

attribute-name

SASデータセットの属性の名前です。attribute-nameの値が無効な場合、欠損値が返されます。次のリストに、SASデータセットの属性名とその値を示します。

CHARSET

データセットを作成したコンピュータの文字セットの値を返します。

空の文字列 データセットが並べ替えられていません
ASCII ASCII文字セット
EBCDIC EBCDIC文字セット
ANSI OS/2 ANSI標準のASCII文字セット
OEM OS/2 OEMコード形式t

COMPRESS

データセットの圧縮方法を示す値を返します。

CHAR データセットが文字データとして圧縮されていることを示します。
BINARY データセットがバイナリデータとして圧縮されていることを示します。
NO データセットが圧縮されていないことを示します。

DATAREP

データセットがネイティブフォーマットかどうかを示す値を返します。

NATIVE データセットがネイティブフォーマットであることを示します。
FOREIGN データセットが外部フォーマットであることを示します。

ENCRYPT

SASデータセットが暗号化されているかどうかに応じて'YES'または'NO'を返します。

ENGINE

データセットへのアクセスに使用するエンジンの名前を返します。

LABEL

データセットに割り当てられているラベルを返します。

LIB

データセットがあるSASライブラリのライブラリ参照名を返します。

MEM

SASデータセット名を返します。

MODE

SASデータセットを開いている次のようなモードを返します。

I INPUTモード:ランダムアクセスができます(エンジンでサポートされている場合)。それ以外の場合は、デフォルトのINモードになります。
IN INPUTモード:オブザベーションを順次読み込みます(オブザベーションの再アクセスができます)。
IS INPUTモード:オブザベーションを順次読み込みます(オブザベーションの再アクセスはできません)。
N NEWモード:新しいデータセットを作成します。
U UPDATEモード:ランダムアクセスができます(エンジンでサポートされている場合)それ以外の場合は、デフォルトのUNモードになります。
UN UPDATEモード:オブザベーションを順次読み込みます(オブザベーションの再アクセスができます)。
US UPDATEモード:オブザベーションを順次読み込みます(オブザベーションの再アクセスはできません)。
V UTILITYモード:データセットに関連付けられている変数の属性およびインデックスを変更できます。

MTYPE

SASライブラリメンバの種類を返します。

SORTEDBY

データセットが並べ替えられていない場合、空の文字列を返します。それ以外の場合は、標準のBYステートメント形式でBY変数の名前を返します。

SORTLVL

データセットの並べ替え方法を示す値を返します。

空の文字列 データセットが並べ替えられていません。
WEAK データセットの並べ替え順序がユーザーによって確立されています(SORTEDBYデータセットオプションなどを使用)。システムでその正当性を検証できないため、オブザベーションの順序には依存できません。
STRONG データセットの並べ替え順序がソフトウェアによって確立されています(PROC SORTやCONTENTSプロシジャのOUT=オプションなどを使用)。

SORTSEQ

データセットがネイティブコンピュータで並べ替えられている場合や、並べ替えの照合順序が動作環境のデフォルトである場合、空の文字列を返します。それ以外の場合は、ファイルの並べ替えに使用する代替照合順序の名前を返します。

TYPE

SASデータセットの種類を返します。

例1: INPUT SEQUENTIALモードに関するメッセージのSASログへの書き込み

この例では、SASデータセットがINPUT SEQUENTIALモードで開いていない場合にメッセージを生成します。メッセージは次のようにSASログに書き込まれます。
%let mode=%sysfunc(attrc(&dsid,MODE));
%if &mode ne IS %then
   %put Data set has not been opened in INPUT SEQUENTIAL mode.;

例2: データセットが並べ替えられているかどうかのテスト

この例では、データセットが並べ替えられているかどうかをテストして、その結果をSASログに書き込みます。
data _null_;
   dsid=open("sasdata.sortcars", "i");
   charset=attrc(dsid, "CHARSET");
   if charset = "" then
      put "Data set has not been sorted.";
   else put "Data set sorted with " charset 
            "character set.";
   rc=close(dsid);
run;

関連項目:

前のページ|次のページ|ページの先頭へ