SAS Macro For Beginners – Macro Variables & Functions

Today we discuss SAS Macros for beginners and how SAS macro makes our life easier by reducing redundancy or repetitiveness of code.SAS マクロは初心者のために、コードの繰り返しを減らすことによって、私たちの生活を容易にします。 SASマクロは、プロセスを簡単かつ自動的に行うための素晴らしい方法を提供します。 ここでは、さまざまなSASマクロ変数、SASプログラミング言語でのマクロの関数を参照してください。 さらに、SASマクロコードのコンポーネントとSASマクロのいくつかの利点を学ぶ

Let’s see how SAS Macro Works.

DataFlair on Google News & get a Pink Slip
Stay ahead of the game

1.Data Flairをフォローするには、次のようにします。 SASマクロとは何ですか?

マクロは基本的に、コード全体を何度も入力することなく、異なる場所で何度もコードを再利用するのに役立ちます。

これを例で理解しましょう。

proc print data=Policysnapshot;where policydate='09Sep14'd;title "Below are the policy detail for 09-Sep-14";Run;

上記のSASコードは、09-Sep-14のポリシーレベルの詳細を抽出するために書かれており、ユーザーは日付(両方の場所)を現在の日付に変更した後、毎日このコードを実行する必要があるとしましょう。

では、SASマクロを使用して同じコードを見てみましょう。

Proc Print Data=Sales.Policysnapshot;Where policydate="&sysdate9"d;Title "Below are the policy detail for %sysdate9";Run;

この場合、ユーザーは現在の日付の値を提供する必要はありません。

Don’t forget to read – SAS Functions

Benefits of Using SAS Macro

SAS macro allows us: –

  • Make our job easier by reusing similar code multiple times after defining it ones.
  • Make changes in a variable at single place and reflect them at multiple locations.The code will make a variable changes at the single place and the multiple location.SAS functions.
  • プログラムのデータを駆動する、つまり、実際のデータ値に基づいてSASが何をすべきかを決定する

とりわけ、SASコードの読み書きに必要な労力を減らすのに役立ちます。

SASマクロコードのコンポーネント

SASマクロコードには、次の2つのコンポーネントがあります。 マクロとマクロ変数です。 SASプログラムでは、それらは次のように異なって参照されている:

  • &Name refers to Macro Variable
  • %Name refers to Macro

SASマクロ変数

マクロ変数は、その値がデータセットではなく、単一の文字の値を持っているということを除いて、標準の変数と同じようなものである。 マクロ変数の値は、変数名、数字、またはプログラム内で置換したい任意のテキストです。
マクロ変数のスコープは、それを定義した方法に応じて、ローカルまたはグローバルにすることができます。 マクロ プログラム内で定義された場合、スコープはローカルです (そのマクロ コードでのみ使用可能)。
マクロ変数を作成し、値を割り当てるには、%LET ステートメントを使用します。
% LET <マクロ変数名>=値;

Letステートメントのマクロ変数の値は、任意の文字列で、次のような特徴があります。-

  • 0から65の間の任意の長さであることができる。534文字
  • 数値も文字列として格納される
  • 数式は評価されない
  • 引用符も値の一部として格納できる
  • 先頭および末尾の空白は割り当て前に除去する

SAS マクロ変数の参照にはアンパサンド(&)に続けてマクロ変数名を使用します。

Don’t forget to check – SAS String Functions or Character Functions

&<Macro variable Name>
Example:-

Name of Macro variable

We also declare multiple macro variables and use them at different places in SAS Code.SASマクロ変数は、SASコード内で、複数の場所で使用することができます。 マクロ変数は、シングルクォートでアクセスすると解決しません。

;

macro-variable-1 <…macro-variable-n>
is the name of one or more SAS macro variables.

the %GLOBAL statement creates one or more global macro variables and assigns null values to the variables. >
は、1つ以上のグローバルマクロ変数を生成し、変数にNULL値を割り当てます。 グローバルマクロ変数は、SASセッションまたはジョブの実行全体にわたって利用可能な変数です。
%GLOBALステートメントで作成されたマクロ変数は、他の値を割り当てるまでNULL値を持っています。 グローバルマクロ変数がすでに存在し、%GLOBALステートメントでその変数を指定した場合、既存の値は変更されません。

必修 – SAS構文とは何か、どのように使用できるのか

ii. SASローカルマクロ変数

SASプログラミングにおけるローカルマクロ変数の構文。

%LOCAL macro-variable-1 <…macro-variable-n>;

macro-variable-1 <…macro-variable-n>
is the name of one or more macro variable
The %LOCAL statement creates one or more local macro variables.Local macro variables. LOCAL で作成されたマクロ変数は、他の値を代入するまで null 値を持ちます。 ローカルマクロ変数は、それらが定義されているマクロの実行中にのみ利用可能な変数です。

現在のマクロで同じ名前を持つ変数に割り当てられた値によって、プログラム内で以前に作成したマクロ変数が不注意に変更されないようにするには、%LOCAL 文を使用します。 ローカルマクロ変数がすでに存在し、%LOCALステートメントでその変数を指定した場合、既存の値は変更されません。

概念を理解する – SASデータセット – 特殊 & SASの組み込みデータセット

iii. 比較 – グローバル変数とローカル変数

  • %LOCAL文と%GLOBAL文はどちらも特定の範囲を持つマクロ変数を作成します。 しかし、%LOCAL ステートメントは、その変数を含むマクロの実行中にのみ存在するローカル マクロ変数を作成し、%GLOBAL ステートメントは、セッションまたはジョブの期間中存在するグローバル マクロ変数を作成します。

SAS Macrosの関数

これらのSAS Macro関数は、データステップの対応する関数と比較して、同様の構文を持ち、同様の方法で結果も返します。

i.%UPCASE() 関数

私たちはこの関数を使用して、文字の大文字を大文字に変換します。

構文:- %UPCASE(Argument)

例:-

%Let heading=this is detail of country;Proc Print Data=Orion.Country;Title %UPCASE(&heading);Run;

それは「THIS IS DETAIL OF COUNTRY」と題するプリントになります。

SASプログラミングのトップアプリケーションを探索する

ii. SUBSTR()関数

この関数は、指定された位置から与えられた文字数を返します。

構文:- %SUBSTR (argument, position )
文字数が与えられない場合、%SUBSTR関数は与えられた位置から文字列の終わりまで文字数を返します。

まとめ

したがって、このSASマクロチュートリアルでは、あなたが私たちの説明を気に入っていることを願っています。 SASでデータを操作するいくつかの新しい方法を学んだと思います。 あなたは今、あなたのプログラムでSASマクロを組み込むことによって、多くの時間を節約することができます。 SASのこのような興味深いことを学ぶために滞在してください

コメントを残す

メールアドレスが公開されることはありません。