TABULATE プロシジャ
PROC TABULATE ステートメント
記述統計量を表形式で表示します。
構文
オプション引数の要約
CONTENTS=link-text <#BYLINE> <#BYVAL> < #BYVAR>
目次のエントリ用のテキストを指定します。
DATA=SAS-data-set
入力データセットを指定します。
NOTHREADS
入力データセットの並列処理を無効化します。システムオプションが制限されない限り、このオプションはSASシステムオプションTHREADS | NOTHREADSを無効にします。
OUT=SAS-data-set
出力データセットを指定します。
THREADS
入力データセットの並列処理を有効化します。システムオプションが制限されない限り、このオプションはSASシステムオプションTHREADS | NOTHREADSを無効にします。
TRAP
データ処理中に通常のSAS FPE処理によって復旧できない浮動小数点例外の復旧を可能にします。
Control the statistical analysis
ALPHA=value
信頼限界に対する信頼水準を指定します。
EXCLNPWGT
非正の重みが付いたオブザベーションを除外します。
QMARKERS=number
P2分位点推定方法に使用するサンプルサイズを指定します。
QMETHOD=OS | P2
分位点推定方法を指定します。
QNTLDEF=1 | 2 | 3 | 4 | 5
分位点を計算する算術定義を指定します。
VARDEF=DF | N | WDF | WEIGHT
分散と標準偏差の計算に使用する分散の除数を指定します。
Customize the appearance of the table
FORMAT=format-name
テーブルの各セルに対しデフォルトの出力形式を指定します。
FORMCHAR= <(position(s))>='formatting-character(s)'
テーブルの外枠と分割線の構成に使用する文字を定義します。
NOSEPS
行タイトルとテーブルの本文から水平区切り線を削除します。
ORDER=DATA | FORMATTED | FREQ | UNFORMATTED
分類変数の値を指定した順序に従って並べ替えます。
STYLE=style-override(s)
テーブルの特定の領域に適用する1つ以上のスタイルの上書きを指定します。
Identify categories of data that are of interest
CLASSDATA=SAS-data-set
テーブルと出力データセットに含める分類変数の値の組み合わせを含む2次データセットを指定します。
EXCLUSIVE
テーブルと出力データセットから、CLASSDATA=データセットにない分類変数値のすべての組み合わせを除外します。
MISSING
欠損値を分類変数の有効値とみなします。
オプション引数
ALPHA=value
平均値に対する信頼限界を計算する信頼水準を指定します。信頼限界のパーセントは(1–value)×100です。たとえば、ALPHA=.05 の場合、信頼限界は95%となります。
| デフォルト | .05 |
|---|---|
| 範囲 | 0-1 |
| 操作 | 信頼限界を計算するには、statistic-keyword LCLMまたはUCLMを指定します。 |
CLASSDATA=SAS-data-set
出力に表示が必要な分類変数の値の組み合わせを含むデータセットを指定します。クラス変数の値の任意の組み合わせが各テーブルまたは出力データセットに表示され、次の基準を満たしている場合、度数はゼロになります。
- CLASSDATA=データセットでは発生します
- が、入力データセットでは発生しません
| 制限事項 | CLASSDATA=データセットにすべての分類変数を含める必要があります。このデータの種類と出力形式は、入力データセットの対応する分類変数と一致する必要があります。 |
|---|---|
| 操作 | EXCLUSIVEオプションを使用すると、PROC TABULATE は、分類変数の値の組み合わせがCLASSDATA=データセットにない入力データセットのオブザベーションを除外します。 |
| ヒント | CLASSDATA=データセットを使用して、入力データセットをフィルタリングまたは補足します。 |
| 例 | テーブルに表示する分類変数の組み合わせを指定する |
CONTENTS=link-text <#BYLINE> <#BYVAL> < #BYVAR>
デフォルトで、またはSTYLE=オプションをサポートするODS出力先のオプション設定によって作成された目次のエントリのテキストを指定します。
BYステートメントが有効な場合、次のオプションを使用できます。
#BYLINE
テキスト文字列に指定した#BYLINEを先頭と末尾にブランクを含まないBY行全体で置き換えます。BY行は、 variable-name=valueの出力形式を使用します。
#BYVALn | #BYVAL(BY-variable-name)
テキスト文字列に指定した#BYVALを、指定したBY変数の現在の値に置き換えます。
この変数を次のいずれかと一緒に指定します。
n
は、BYステートメント内のその位置により変数を指定します。たとえば、#BYVAL2では、BYステートメントの2番目の変数を指定します。
BY-variable-name
BYステートメントの変数をその名前で指定します。たとえば、#BYVAL(YEAR)では、BY変数YEARを指定します。variable-nameでは、大文字と小文字は区別されません。
#BYVARn | #BYVAR(BY-variable-name)
テキスト文字列に指定した#BYVARを、BY-変数の名前またはこの変数に関連付けられているラベル(BY行が通常表示するもの)で置き換えます。
この変数を次のいずれかと一緒に指定します。
n
は、BYステートメント内のその位置により変数を指定します。たとえば、#BYVAR2では、BYステートメントの2番目の変数を指定します。
BY-variable-name
BYステートメントの変数をその名前で指定します。たとえば、#BYVAR(SITES)では、BY変数SITESを指定します。variable-nameでは、大文字と小文字は区別されません。
| 参照項目: | テキスト文字列のBY行値の置換 |
|---|
DATA=SAS-data-set
入力データセットを指定します。
| 参照項目: | 入力データセット |
|---|
EXCLNPWGT
非正(ゼロまたは負)の重みがついたオブザベーションを分析から除外します。デフォルトでは、PROC TABULATEは、負の重みが付いたオブザベーションを重みが0のオブザベーションとして処理し、オブザベーション合計数に含めます。
| 別名 | EXCLNPWGTS |
|---|---|
| 参照項目: | WEIGHT=weight-variableとWEIGHT ステートメント |
EXCLUSIVE
テーブルと出力データセットから、CLASSDATA=データセットにない分類変数のすべての組み合わせを除外します。
| 要件 | CLASSDATA=データセットが指定されていない場合、EXCLUSIVEオプションは無視されます。 |
|---|---|
| 例 | テーブルに表示する分類変数の組み合わせを指定する |
FORMAT=format-name
各テーブルセルの値に対しデフォルトの出力形式を指定します。SAS出力形式またはユーザー定義の出力形式はどれでも使用できます。
| 別名 | F= |
|---|---|
| デフォルト | FORMAT=を省略すると、PROC TABULATEはBEST12.2をデフォルトの出力形式として使用します。 |
| 操作 | TABLEステートメントで指定される出力形式は、FORMAT=で指定される出力形式に優先します。 |
| ヒント | FORMAT=オプションは、テーブルの印刷に使用される印刷位置数の制御に特に便利です。 |
| 例 | 基本的な2次元表の作成 |
| 共通分類変数ALLを使用した情報の要約 |
FORMCHAR= <(position(s))>='formatting-character(s)'
テーブルの外枠と分割線を構成するために使用する文字を定義します。
position(s)
SASフォーマット文字列における1つ以上の文字の位置を識別します。スペースまたはカンマで位置を区切ります。
| デフォルト | position(s)の省略は、20のすべての可能なSASフォーマット文字を順番に指定することと同じです。 |
|---|
formatting-character(s)
指定位置に使用する文字をリストします。
PROC TABULATEは、formatting-character(s)の文字を表示されている順序でposition(s)に割り当てます。たとえば、次のオプションではアスタリスク(*)を3番目のフォーマット文字に、数字記号(#)を7番目の文字に割り当てます。その他の文字は変更されません。
formchar(3,7)='*#'
PROC TABULATEでは、SASで提供している20のフォーマット文字のうち11が使用されます。PROC TABULATEによって使用されるフォーマット文字には、PROC TABULATEで使用されるフォーマット文字が示されています。PROC TABULATE出力のフォーマット文字に、PROC TABULATEからの出力における各フォーマット文字の使用を示します。
|
位置 |
デフォルト |
表示に使用 | |
|---|---|---|---|
|
1 |
| |
右枠、左枠、列間の区切り | |
|
2 |
- |
上枠、下枠、および行間の水平区切り線 | |
|
3 |
- |
左枠の先頭文字 | |
|
4 |
- |
列を区切る文字の行の先頭文字 | |
|
5 |
- |
右枠の先頭文字 | |
|
6 |
| |
水平区切り線の行の最左文字 | |
|
7 |
+ |
垂直文字の列と水平文字の行の交点 | |
|
8 |
| |
水平区切り線の行の最右文字 | |
|
9 |
- |
左枠の末尾文字 | |
|
10 |
- |
列を区切る文字の行の末尾文字 | |
|
11 |
- |
右枠の末尾文字 | |
PROC TABULATE出力のフォーマット文字
| 制限事項 | FORMCHAR=プションは、従来のSASモノスペース出力の出力先にのみ影響します。 |
|---|---|
| 操作 | SASシステムオプションFORMCHAR=では、デフォルトのフォーマット文字を指定します。システムオプションは、フォーマット文字の全体の文字列を定義します。プロシジャのFORMCHAR=オプションでは、選択した文字を再定義できます。 |
| ヒント | 16進数文字を含むformatting-charactersの文字を使用できます。16進数文字を使用する場合、xを終了引用符の後に付ける必要があります。たとえば、次のオプションでは、16進文字2-Dが3番目のフォーマット文字に、16進文字7Cが7番目の文字にそれぞれ割り当てられます。その他の文字は変わりません。
|
formatting-character(s)に対しすべてブランクを指定すると、外枠または区切り線のないテーブルが作成されます。
(11のブランク) | |
| 参照項目: | フォーマット出力を使用した例については、PROC TABULATE by Example, Second Editionを参照してください。 |
| どの16進コードをどの文字に使用するかについては、ハードウェアのドキュメントを参照してください。 |
MISSING
欠損値を有効値とみなし、分類変数の組み合わせを作成します。数値を表すために使用される特殊欠損値(文字 AからZ、アンダースコア(_)文字)がそれぞれ個別の値としてみなされます。各欠損値に対するヘッダーがテーブルに表示されます。
| デフォルト | MISSINGを省略すると、PROC TABULATEは分類変数が欠損値のオブザベーションをレポートに含みません。 |
|---|---|
| 参照項目: | 欠損分類変数を含むオブザベーションを含める |
| 特殊欠損値の作成で特別な意味を持つ欠損値の説明を参照してください。 |
NOSEPS
行タイトルとテーブルの本文から水平区切り線を削除します。水平区切り線は、ネストされた列ヘッダーの間に残ります。
| 制限事項 | NOSEPSオプションは、従来のSAS monospace出力の出力先にのみ影響します。 |
|---|---|
| ヒント | 区切り線を削除するのではなくブランクと置き換える場合、オプションFORMCHAR= <(position(s))>='formatting-character(s)' を使用します。 |
NOTHREADS
入力データセットの並列処理を無効化します。システムオプションが制限されない限り、このオプションはSASシステムオプションTHREADS | NOTHREADSを無効にします。
デフォルトは、SASシステムオプションTHREADS | NOTHREADSの値です。
| 制限事項 | サイト管理者が、制限オプションテーブルを作成できます。制限オプションテーブルは、スタートアップ時に作成され、無効にできないSASシステムオプション値を指定します。THREADS | NOTHREADSシステムオプションが制限オプションテーブルにリストされると、これらのシステムオプションを設定しようとしても無視され、警告メッセージがSASログに書き込まれます。 |
|---|---|
| 操作 | PROC TABULATEは、BYステートメントが指定されている、またはSASシステムオプションCPUCOUNTの値が2未満の場合を除いて、SASシステムオプションTHREADSの値を使用します。この場合、PROC TABULATEステートメントでTHREADSオプションを指定して、PROC TABULATEが並列処理を使用するように指定できます。並列処理でもあるマルチスレッド処理が有効な場合、オブザベーションは予想外の順序で返されることがあります。ただし、BYステートメントが指定されている場合、オブザベーションは正しく並べ替えられます。 |
| 参照項目: | 入力データセットの並列処理を有効にするには、THREADS を参照してください。 |
| 詳細については、並列処理のサポートを参照してください。 |
ORDER=DATA | FORMATTED | FREQ | UNFORMATTED
テーブルのヘッダーを形成する分類変数の値の一意の組み合わせを指定した順序に従って作成するための並べ替え順序を指定します。
DATA
入力データセットの順序に従って値を並べ替えます。
| 操作 | CLASSステートメントでPRELOADFMTを使用すると、各分類変数の値の順序が、PROC FORMATが関連するユーザー定義出力形式の値の格納に使用する順序と一致します。CLASSDATA=オプションを使用する場合、PROC TABULATEはCLASSDATA= データセットの各分類変数の一意の値の順序を使用して、出力水準を並べ替えます。両方のオプションを使用すると、PROC TABULATEは最初にユーザー定義出力形式を使用して出力を並べ替えます。EXCLUSIVEを省略すると、PROC TABULATEはユーザー定義の出力形式とCLASSDATA=値の後に入力データセットの分類変数の一意の値を発生順に追加します。 |
|---|---|
| ヒント | デフォルトでは、PROC FORMATは出力形式定義を並べ替えられた順序で格納します。NOTSORTEDオプションを使用して、ユーザー定義出力形式の値または範囲を定義順に格納します。 |
| In-DatabaseプロシジャをORDER=DATAオプションとともに使用している場合、結果がばらつく可能性があります。DBMSテーブルの行には固有の順序はありません。SASプロシジャのデータベーステーブルに書き込まれた行の順序は保持されない可能性があります。 |
FORMATTED
値をフォーマットされた値の昇順で並べ替えます。出力形式が数値分類変数に割り当てられていない場合、デフォルトの出力形式BEST12.が使用されます。この順序は、使用している動作環境によって異なります。
| 別名 | FMT |
|---|---|
| EXTERNAL |
FREQ
度数カウントの降順で値を並べ替えます。
| 操作 | CLASSステートメントでASCENDINGオプションを使用して、値を度数カウントの昇順で並べ替えます。 |
|---|
UNFORMATTED
値をフォーマットされていない値で並べ替えます。PROC SORTと同じ順序になります。この順序は、使用している動作環境によって異なります。この並べ替え順序は、日付を年代順に表示する場合に特に便利です。
| 別名 | UNFMT |
|---|---|
| INTERNAL |
| デフォルト | UNFORMATTED |
|---|---|
| 操作 | CLASSステートメントでPRELOADFMTオプションを使用すると、 PROC TABULATEはレベルをユーザー定義出力形式の値の順序で並べ替えます。 |
| 例 | ORDER=DATAを使用したヘッダーの順序について |
OUT=SAS-data-set
出力データセットを指定します。SAS-data-setは存在しない場合、PROC TABULATEが作成します。
出力データセットのオブザベーション数は、テーブルで使用されるデータのカテゴリ数と、生成されるサブテーブル数によって異なります。出力データセットには、これらの変数が次の順序で含まれています。
| BY変数 | BYステートメントで表示される変数。 |
| 分類変数 | CLASSステートメントで表示される変数。 |
| _TYPE_ | オブザベーションの要約統計量を生成した分類変数の組み合わせを表示する文字変数。_TYPE_の位置はそれぞれ、CLASSステートメントの1つの変数を表します。その変数が統計量を生成したカテゴリ内にある場合、位置には1が含まれます。その他の場合、位置には0が含まれます。共通分類変数ALLを使用しない単純なPROC TABULATEステップでは、_TYPE_のすべての値には1のみ含まれます。これは、検討中のカテゴリのみすべての分類変数を含むためです。変数ALLを使用すると、テーブルには一部の分類変数を含まないカテゴリに対するデータが含まれるため、_TYPE_の位置には1と0が含まれます。 |
| _PAGE_ | オブザベーションを含む論理ページ。 |
| _TABLE_ | オブザベーションを含むテーブル数。 |
| statistics | データセットの各オブザベーションに対して計算される統計量。 |
| 例 | すでに読み込まれている出力形式を分類変数とともに使用する |
QMARKERS=number
P2分位点推定方法に使用するマーカーのデフォルト数を指定します。マーカー数によって固定メモリ空間のサイズを制御します。
| デフォルト | デフォルト値は、要求する分位点によって異なります。中央値(P50)の場合、numberは7です。分位点(P25とP75)の場合、numberは25です。分位点P1、P5、P10、P90、P95またはP99の場合、numberは105です。複数の分位点を要求すると、PROC TABULATEはnumberの最大デフォルト値を使用します。 |
|---|---|
| 範囲 | 3より大きい奇数の整数 |
| ヒント | デフォルト設定を超えるマーカー数を増やして推定の正確度を向上し、マーカー数を減らしてメモリと計算時間を削減します。 |
| 参照項目: | 分位点 |
QMETHOD=OS | P2
PROC TABULATEが分位点の計算時に入力データの処理に使用する方法を指定します。オブザベーション数がQMARKERS=値およびQNTLDEF=5以下の場合、両方の方法による結果は同じになります。
OS
順序統計量を使用します。PROC UNIVARIATEは、この方法を使用します。
P2
P2方法を使用して、分位点を概算します。
| 別名 | HIST |
|---|
| デフォルト | OS |
|---|---|
| 制限事項 | QMETHOD=P2の場合、PROC TABULATEはMODEまたは重み付き分位点を計算しません。 |
| ヒント | QMETHOD=P2の場合、一部の分位点(P1、P5、P95、P99)に対して信頼できる推定は、一部の種類のデータに対して信頼できないことがあります。 |
| 参照項目: | 分位点 |
QNTLDEF=1 | 2 | 3 | 4 | 5
QMETHOD=OSの指定時にプロシジャが分位点の計算に使用する算術定義を指定します。QMETHOD=P2の場合、QNTLDEF=5を使用する必要があります。
| 別名 | PCTLDEF= |
|---|---|
| デフォルト | 5 |
| 参照項目: | 分位数と関連統計量 |
STYLE=style-override(s)
テーブルのデータセルに適用する1つ以上のスタイルの上書きを指定します。たとえば、次のステートメントは、データセルの背景色が赤になるように指定します。
proc tabulate data=one style=[backgroundcolor=red];
style-override
レポートの特定の領域におけるデフォルトのスタイル要素と属性を無効にする1つ以上のスタイル属性またはスタイル要素を指定します。
スタイルの無効化は次の3つの方法で指定できます。
- スタイル要素を指定します。スタイル要素は、SASプログラムの出力の特定の部分に適用されるスタイル属性のコレクションです。
- スタイル属性を指定します。スタイル属性は、出力の1つの領域の1つの動作または視覚側面を表す名前と値のペアです。これは、出力の表示を変更する最も明確な方法です。
- PARENT値を指定します。PARENT値では、データセルがその親ヘッダーのスタイル要素を使用することを指定します。
style-overrideの形式は次のとおりです。
<PARENT>
データセルがその親ヘッダーのスタイル要素を使用することを指定します。
データセルの親スタイル要素は次のいずれになります。
- テーブルで行次元が指定されない場合、またはテーブルでスタイル要素が列の次元式で指定される場合の、データセルを含む列の上のリーフヘッダーのスタイル要素
- テーブルでスタイル要素が行の次元式で指定される場合の、セルを含む行の上のリーフヘッダーのスタイル要素
- テーブルでスタイル要素がページの次元式で指定される場合の、Beforecaptionスタイル要素
- その他の場合は未定義
style-attribute-name
変更する属性を指定します。
| 参照項目: | PROC TABULATEでのスタイルの使用については、PROCTABULATEでのODSスタイルの使用を参照してください。 |
|---|---|
| 各ODS出力先のデフォルトのスタイル属性およびスタイル要素のテーブルについては、テーブル領域のスタイル要素とスタイル属性を参照してください。 |
style-attribute-value
属性に値を指定します。属性にはそれぞれ異なる有効値のセットが含まれています。SAS出力形式を、条件付きフォーマットの属性値として使用することもできます。
| 参照項目: | PROC TABULATEでのスタイルの使用については、PROCTABULATEでのODSスタイルの使用を参照してください。 |
|---|---|
| SAS出力形式をスタイル属性値として使用する方法については、出力形式を使用してスタイル要素を割り当てるを参照してください。 | |
| 各ODS出力先のデフォルトのスタイル属性およびスタイル要素のテーブルについては、テーブル領域のスタイル要素とスタイル属性を参照してください。 |
style-element-name
ODSスタイルテンプレートの各部分を表すスタイル要素の名前。
| 参照項目: | PROC TABULATEでのスタイルの使用については、PROCTABULATEでのODSスタイルの使用を参照してください。 |
|---|---|
| 各ODS出力先のデフォルトのスタイル属性およびスタイル要素のテーブルについては、テーブル領域のスタイル要素とスタイル属性を参照してください。 |
| 別名 | S= |
|---|---|
| ヒント | STYLE=オプションをその他のステートメントまたは次元式で使用して、テーブルのその他の部分にスタイル要素を指定できます。 |
| 欠損値を含むデータセルにスタイル要素を指定するには、TABLEステートメントMISSTEXT=オプションでSTYLE=を使用します。 | |
| 角かっこ([と])の代わりに中かっこ({と})を使用できます。 | |
| 参照項目: | PROC TABULATEでのスタイルの使用については、PROCTABULATEでのODSスタイルの使用を参照してください。 |
| 例 | ODS出力にスタイルの上書きを指定する |
THREADS
入力データセットの並列処理を有効化します。システムオプションが制限されない限り、このオプションはSASシステムオプションTHREADS | NOTHREADSを無効にします。
デフォルトは、SASシステムオプションTHREADS | NOTHREADSの値です。
| 制限事項 | サイト管理者が、制限オプションテーブルを作成できます。制限オプションテーブルは、スタートアップ時に作成され、無効にできないSASシステムオプション値を指定します。THREADS | NOTHREADSシステムオプションが制限オプションテーブルにリストされると、これらのシステムオプションを設定しようとしても無視され、警告メッセージがSASログに書き込まれます。 |
|---|---|
| 操作 | PROC TABULATEは、BYステートメントが指定されている、またはSASシステムオプションCPUCOUNTの値が2未満の場合を除いて、SASシステムオプションTHREADSの値を使用します。この場合、PROC TABULATEステートメントでTHREADSオプションを指定して、PROC TABULATEが並列処理を使用するように指定できます。並列処理でもあるマルチスレッド処理が有効な場合、オブザベーションは予想外の順序で返されることがあります。ただし、BYステートメントが指定されている場合、オブザベーションは正しく並べ替えられます。 |
| 参照項目: | 入力データセットの並列処理を無効にするには、NOTHREADSを参照してください。 |
| 詳細については、並列処理のサポートを参照してください。 |
TRAP
データ処理中に通常のSAS FPE処理によって復旧できない浮動小数点例外(FPE)の復旧を可能にします。TRAPオプションを使用しない場合、算術例外の場合にPROC TABULATEが終了するように、通常のSAS FPE処理はそのまま有効です。
VARDEF=DF | N | WDF | WEIGHT
分散と標準偏差の計算に使用する除数を指定します。次のテーブルに、divisorに可能な値と、関連する除数を示します。
DF
自由度
除数の式は次のとおりです。
n − 1
N
オブザベーション数
除数の式は次のとおりです。
n
WDF
重みの合計 - 1
除数の式は次のとおりです。
(Σi wi) − 1
WEIGHT
重みの合計
除数の式は次のとおりです。
Σi wi
| 別名 | WGT |
|---|
プロシジャは分散をとして計算します。
は修正平方和で、
と等しくなります。分析変数を重み付けする場合、
は
と等しくなります。
は重み付きの平均です。