Sas-basic-syntax

提供:Dev Guides
移動先:案内検索

SAS-基本構文

他のプログラミング言語と同様に、SAS言語にはSASプログラムを作成するための独自の構文規則があります。

SASプログラムの3つのコンポーネント-ステートメント、変数、およびデータセットは、構文に関する以下のルールに従います。

SASステートメント

  • ステートメントはどこでも開始でき、どこでも終了できます。 最後の行の終わりにあるセミコロンは、ステートメントの終わりを示します。
  • 多くのSASステートメントは同じ行に置くことができ、各ステートメントはセミコロンで終わります。
  • スペースを使用して、SASプログラムステートメント内のコンポーネントを分離できます。
  • SASキーワードでは大文字と小文字は区別されません。
  • すべてのSASプログラムは、RUNステートメントで終了する必要があります。

SAS変数名

SASの変数は、SASデータセットの列を表します。 変数名は以下の規則に従います。

  • 最大32文字の長さにすることができます。
  • 空白を含めることはできません。
  • 文字A〜Z(大文字と小文字を区別しない)またはアンダースコア(_)で始まる必要があります。
  • 最初の文字としてではなく、数字を含めることができます。
  • 変数名は大文字と小文字を区別しません。

# Valid Variable Names
REVENUE_YEAR
MaxVal
_Length

# Invalid variable Names
Miles Per Liter #contains Space.
RainfFall%      # contains apecial character other than underscore.
90_high     # Starts with a number.

SASデータセット

DATAステートメントは、新しいSASデータセットの作成をマークします。 データセット作成のルールは次のとおりです。

  • DATAステートメントの後の1つの単語は、一時的なデータセット名を示します。 つまり、セッションの終了時にデータセットが消去されます。
  • データセット名の前にライブラリ名を付けると、永続的なデータセットになります。 つまり、セッションが終了した後もデータセットは保持されます。
  • SASデータセット名が省略された場合、SASは、SASによって生成された名前(DATA1、DATA2など)で一時データセットを作成します。

# Temporary data sets.
DATA TempData;
DATA abc;
DATA newdat;

# Permanent data sets.
DATA LIBRARY1.DATA1
DATA MYLIB.newdat;

SASファイル拡張子

SASプログラム、データファイル、およびプログラムの結果は、さまざまな拡張子でウィンドウに保存されます。

  • **。sas *-SASエディターまたは任意のテキストエディターを使用して編集できるSASコードファイルを表します。
  • **。log *-SASログファイルを表し、送信されたSASプログラムのエラー、警告、データセットの詳細などの情報が含まれます。
  • *。mht/*l -SAS結果ファイルを表します。
  • **。sas7bdat *-変数名、ラベル、計算結果を含むSASデータセットを含むSASデータファイルを表します。

SASのコメント

SASコードのコメントは、2つの方法で指定されます。 以下は、これら2つの形式です。

*メッセージ;タイプコメント

    • メッセージ; *の形式のコメントには、セミコロンや一致しない引用符を含めることはできません。 また、そのようなコメント内のマクロステートメントへの参照はありません。 複数行にまたがることができ、任意の長さにすることができます。 以下は、単一行のコメントの例です-
* This is comment ;

以下は複数行コメントの例です-

* This is first line of the comment
 *This is second line of the comment;

====/* メッセージ*/タイプコメント

*/* message */* の形式のコメントはより頻繁に使用され、ネストすることはできません。 ただし、複数行にまたがることができ、任意の長さにすることができます。 以下は、単一行のコメントの例です-
/*This is comment*/

以下は複数行コメントの例です-

/* This is first line of the comment
 *This is second line of the comment*/