アプリケーションにカスタマイズしたウィンドウを作成します。
該当要素: | DATAステップ |
カテゴリ: | ウィンドウ表示 |
種類: | 宣言 |
ウィンドウの名前を指定します。
制限事項 | ウィンドウの名前はSASの命名規則に従う必要があります。 |
ウィンドウ全体の特性を指定します。フィールドまたはGROUP=を指定する前に、次のwindow-optionsを指定します。
この機能を持つ動作環境に対して、ウィンドウの背景色を指定します。この機能を持たない動作環境では、このオプションはウィンドウ枠の色に適用されます。次の色を指定できます。
BLACK | MAGENTA |
BLUE | ORANGE |
BROWN | PINK |
CYAN | RED |
GRAY | WHITE |
GREEN | YELLOW |
デフォルト | COLOR=オプションに色を指定しない場合、ウィンドウの背景色は常に黒になるのではなく、デバイスによって異なります。また、フィールドの色も常に白になるのではなく、デバイスによって異なります。 |
ヒント | 色の表示は使用するモニタによって異なります。モノクロのモニタには、COLOR=の指定は適用されません。 |
ウィンドウの列数を指定します。
デフォルト | ウィンドウはモニタ上の未使用の列をすべて使用します。そのため、指定可能な列数は、使用するモニタの種類によって異なります。 |
ウィンドウを表示するモニタ内の最初の列を指定します。
デフォルト | 1列目にウィンドウが表示されます。 |
ウィンドウを表示するモニタ内の最初の行を指定します。
デフォルト | 1行目にウィンドウが表示されます。 |
ウィンドウで使用するファンクションキーの定義が格納されるKEYSエントリの名前を指定します。
デフォルト | KEYSウィンドウで定義した現在のファンクションキーの設定が使用されます。 |
ヒント | エントリ名を1つだけ指定すると、SASUSER.PROFILEカタログの中で指定した名前のKEYSエントリを探します。3レベル名のKEYSエントリを指定することもできます。次の形式を使用します。
libref.catalog.keys-entry |
ウィンドウで使用するファンクションキーの定義を作成するには、KEYSウィンドウを使用します。必要なキーを定義します。次に、作成した定義をSAVEコマンドを使用してSASUSER.PROFILEカタログ、指定したSASライブラリとカタログに保存します。 |
PMENUプロシジャを使用して作成したメニュー(pmenu)の名前を指定します。
ヒント | エントリ名を1つだけ指定すると、SASUSER.PROFILEカタログの中で指定した名前のPMENUエントリを探します。3レベル名のPMENUを指定することもできます。次の形式を使用します。
libref.catalog.pmenu-entry |
ウィンドウ内の行数を指定します。
デフォルト | ウィンドウはモニタ上の未使用の行をすべて使用します。 |
ヒント | 指定可能な行数は、使用するモニタの種類によって異なります。 |
ウィンドウ内または関連するフィールドのグループ内に表示する変数または文字列を指定し、その定義を追加します。
ヒント | ウィンドウやグループにはフィールドをいくつでも追加できます。また、複数のグループやウィンドウに同じフィールドを定義することもできます。 |
複数のfield-definitionsを指定できます。 | |
参照項目 | フィールド定義 |
グループの名前を指定し、グループ内のすべてのフィールドを定義します。グループ定義は、2つの部分(GROUP=オプションと1つ以上のフィールド定義)で構成されます。
関連するフィールドのグループを指定します。
デフォルト | ウィンドウには、名前なしのフィールドグループが1つ作成されます。 |
制限事項 | groupには、SAS名を指定する必要があります。 |
ヒント | DISPLAYステートメントでグループを参照する場合、window.groupの形式で名前を指定します。 |
ウィンドウ内に同時に表示するすべてのフィールドを1つのグループに指定できます。それぞれのグループ名を指定すると、異なるタイミングで同じウィンドウ内にさまざまなフィールドを表示します。表示するグループを選択するには、DISPLAYステートメントにwindow.groupを指定します。 | |
1つのウィンドウ内に複数のグループを指定すると、変更しないウィンドウオプションを繰り返し指定する必要はなくなり、関連性のある表示を把握するのに役立ちます。たとえば、データ値をチェックするウィンドウを定義する場合、STANDARDという名前のグループのデータセットに格納されるほとんどのデータ値に対して、変数とメッセージを表示できるように設定します。また、指定した条件をデータ値が満たす場合に、CHECKITという名前のグループに異なるメッセージを表示するように設定します。 |
変数や文字列の位置を指定します。
ウィンドウ内のn番目の行を指定します。
範囲 | nは正の整数にする必要があります。 |
numeric-variableの値が示すウィンドウ内の行を指定します。
制限事項 | #numeric-variableは正の整数にする必要があります。値が整数ではない場合、小数点以下の値を切り捨て、整数の値のみを使用します。 |
expressionの値が示すウィンドウ内の行を指定します。
制限事項 | expressionには配列参照を指定できます。また、式の評価結果は正の整数でなければなりません。 |
expressionを丸かっこで囲みます。 |
ポインタを次の行の列1に移動させます。
ウィンドウ内のn番目の列を指定します。
制限事項 | nには、正の整数を指定します。 |
numeric-variableの値が示すウィンドウ内の列を指定します。
制限事項 | numeric-variableは正の整数にする必要があります。値が整数ではない場合、小数点以下の値を切り捨て、整数の値のみを使用します。 |
expressionの値が示すウィンドウ内の列を指定します。
制限事項 | expressionには配列参照を指定できます。また、式の評価結果は正の整数でなければなりません。 |
expressionを丸かっこで囲みます。 |
nに指定した列数だけポインタを移動させます。
範囲 | nは正の整数にする必要があります。 |
指定したnumeric-variableの値が示す列数だけポインタを移動させます。
制限事項 | +numeric-variableの値は、正の整数または負の整数でなければなりません。値が整数ではない場合、小数点以下の値を切り捨て、整数の値のみを使用します。 |
デフォルト | ウィンドウまたはグループの最初のフィールドでrowの指定を省略すると、ウィンドウの最初の行が使用されます。後続のフィールドでrowの指定を省略すると、前のフィールドで取得した行をそのまま使用します。columnの指定を省略すると、列1(ウィンドウの左枠)が使用されます。 |
ヒント | rowまたはcolumnのどちらも最初に指定できますが、このドキュメントの例では行を最初に指定します。 |
表示する変数、またはウィンドウを表示するときに入力した値を割り当てる変数を指定します。
ヒント | variableには、変数名または配列参照を指定できます。 |
フィールドでの変数の値の表示を許可し、ユーザーによる変更は許可しないようにするには、PROTECT=オプションを使用します(このセクションの後半で説明します)。DISPLAYステートメントにNOINPUTオプションを指定すると、現在のDISPLAYステートメントを実行中にウィンドウ全体またはグループ全体を保護することもできます。 | |
フィールド定義に新しい変数の名前が含まれる場合、その変数は作成中のデータセットに追加されます(KEEPまたはDROPを指定していない場合)。 |
変数の出力形式を指定します。
デフォルト | formatの指定を省略すると、他で指定した入力形式や出力形式(たとえば、ATTRIB、INFORMAT、FORMATの各ステートメントで指定した形式、またはデータセットに恒常的に格納された形式)を使用するか、SASのデフォルトの入力形式または出力形式を使用します。 |
ヒント | フィールドに変更できない変数を表示する場合(つまり、PROTECT=YESオプションを使用する場合)、formatは、任意のSAS出力形式またはFORMATプロシジャで定義した出力形式を指定できます。 |
フィールドで値の表示と入力を許可する場合、INFORMATステートメントまたはATTRIBステートメントで入力形式を指定するか、$CHARやTIMEなど対応する入力形式を持つSAS出力形式を指定する必要があります。 | |
出力形式を指定すると、入力可能なフィールドに対応する入力形式が自動的に割り当てられます。 | |
WINDOWステートメントに出力形式と入力形式を指定すると、他で指定した入力形式と出力形式より優先されます。 |
表示する文字列のテキストを指定します。
制限事項 | 文字列は一重引用符で囲む必要があります。 |
文字列を表示するフィールドに値を入力することはできません。 |
フィールド定義属性を指定します。
次に示すフィールドのハイライト属性を定義します。
BLINK | フィールドを点滅表示します。 |
HIGHLIGHT | フィールドを高輝度で表示します。 |
REV_VIDEO | フィールドを反転表示します。 |
UNDERLINE | フィールドに下線を表示します。 |
別名 | A= |
ヒント | 複数のハイライト属性を指定するにはATTR=(highlighting-attribute-1,...) の形式を使用します。
|
指定可能なハイライト属性は、使用するモニタの種類によって異なります。 |
ユーザーがフィールドのすべての位置にデータを入力した場合、現在のウィンドウまたはグループ内にある次の非保護フィールドにカーソルを移動するかどうかを制御します。
YES | 次の非保護フィールドにカーソルを自動的に移動するように指定します。 |
NO | カーソルを自動的に移動させないように指定します。 |
別名 | AUTO= |
デフォルト | NO |
変数または文字列の色を指定します。次のいずれかの色を指定できます。
BLACK | MAGENTA |
BLUE | ORANGE |
BROWN | PINK |
CYAN | RED |
GRAY | WHITE |
GREEN | YELLOW |
別名 | C= |
デフォルト | WHITE |
ヒント | 画面での色の表示は使用するモニタによって異なります。 |
モノクロのモニタには、COLOR=の指定は適用されません。 |
フィールドの内容を表示するかどうかを制御します。
YES | 入力時にフィールドに文字を表示するように指定します。 |
NO | 入力した文字を表示しないように指定します。 |
デフォルト | YES |
DISPLAYステートメントにBLANKオプションを指定するまで、DATAステップの同じ反復内でDISPLAYステートメントのすべての実行結果をフィールドに表示するかどうかを制御します。
YES | これまでの各DISPLAYステートメントの実行時にフィールドに表示したすべての内容と、現在のDISPLAYステートメントで表示するように設定した内容を表示するように指定します。新しい内容の表示位置が以前の内容の表示位置と重なる場合、以前の内容は表示されません。 |
NO | 各DISPLAYステートメントの実行時に、フィールドの現在の内容のみを表示します。 |
デフォルト | NO |
ヒント | PERSIST=は、DISPLAYステートメントを実行するたびにフィールドの位置を変更する場合に便利です。 |
例 | フィールドの保持と非保持 |
フィールドへの入力を許可するかどうかを制御します。
YES | 情報の入力を許可しないように指定します。 |
NO | 情報の入力を許可するように指定します。 |
別名 | P= |
デフォルト | No |
ヒント | 変数を含むフィールドにのみPROTECT=を使用します。テキストを表示するフィールドは自動的に保護されます。 |
フィールドへの入力を任意にするかどうかを制御します。
NO | フィールドへの入力を任意にするように指定します。 |
YES | フィールドへの入力を必須にするように指定します。 |
デフォルト | NO |
ヒント | REQUIRED=YESに定義したフィールドをブランクのままにすると、ウィンドウ内の後続のフィールドに値を入力できなくなります。 |
ウィンドウのコマンド行から入力されたコマンドの中で、ウィンドウで認識されなかった最後のコマンドが格納されます。
ヒント | _CMD_は長さが80バイトの文字変数です。この値は、DISPLAYステートメントを実行する前に' '(ブランク)に設定されます。 |
例 | メッセージの送信 |
ウィンドウのメッセージ領域に表示するように指定したメッセージが格納されます。
ヒント | _MSG_は長さが80バイトの文字変数です。この値は、DISPLAYステートメントを実行した後に' '(ブランク)に設定されます。 |
例 | メッセージの送信 |
data _null_; window start #9 @26 'WELCOME TO THE SAS SYSTEM' color=black #12 @19 'THIS PROGRAM CREATES' #12 @40 'TWO SAS DATA SETS' #14 @26 'AND USES THREE PROCEDURES' #18 @27 'Press ENTER to continue'; display start; stop; run;
libname category 'SAS-library';
data Assignment;
set category.article end=final;
drop a b j s o;
window Assignment irow=1 rows=12 color=white
#3 @10 'Article:' +1 art protect=yes
'Name:' +1 name $14.;
window Showtotal irow=20 rows=12 color=white
group=subtotal
#1 @10 'Adams has' +1 a
#2 @10 'Brown has' +1 b
#3 @10 'Johnson has' +1 j
#4 @10 'Smith has' +1 s
#5 @10 'Other has' +1 o
group=lastmessage
#8 @10
'ALL ARTICLES ASSIGNED.
Press ENTER to stop processing.';
display Assignment blank;
if name='Adams' then a+1;
else if name='Brown' then b+1;
else if name='Johnson' then j+1;
else if name='Smith' then s+1;
else o+1;
display Showtotal.subtotal blank noinput;
if final then display Showtotal.lastmessage;
run;
data _null_; array row{3} r1-r3; array col{3} c1-c3; input row{*} col{*}; window One rows=20 columns=36 #1 @14 'PERSIST=YES' color=black #(row{i}) @(col{i}) 'Hello' color=black persist=yes; window Two icolumn=43 rows=20 columns=36 #1 @14 'PERSIST=NO' color=black #(row{i}) @(col{i}) 'Hello' color=black persist=no; do i=1 to 3; display One; display Two; end; datalines; 5 10 15 5 10 15 ;
Hello
が表示されます。ウィンドウTwoには、3回目の最後の反復でHello
が表示された位置のみ表示されます。
if _cmd_ ne ' ' then _msg_='CAUTION: UNRECOGNIZED COMMAND' || _cmd_;
CAUTION: UNRECOGNIZED COMMAND command
commandは、不正なウィンドウコマンドです。
data new; length name $20; window start #3 @20 'Type the variable name' #4 @20 'and press the Enter key.' #7 'Name:' +1 name attr=underline #11 'When you are finished entering variable names, type "end"' #12 'at the command line.'; display start; run; proc print; run;