TABULATE プロシジャ

PROC TABULATE ステートメント

記述統計量を表形式で表示します。

構文

PROC TABULATE <options>;

オプション引数の要約

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

出力に表示が必要な分類変数の値の組み合わせを含むデータセットを指定します。クラス変数の値の任意の組み合わせが各テーブルまたは出力データセットに表示され、次の基準を満たしている場合、度数はゼロになります。

  1. CLASSDATA=データセットでは発生します
  2. が、入力データセットでは発生しません
制限事項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からの出力における各フォーマット文字の使用を示します。

PROC TABULATEによって使用されるフォーマット文字

位置

デフォルト

表示に使用

1

|

右枠、左枠、列間の区切り

2

-

上枠、下枠、および行間の水平区切り線

3

-

左枠の先頭文字

4

-

列を区切る文字の行の先頭文字

5

-

右枠の先頭文字

6

|

水平区切り線の行の最左文字

7

+

垂直文字の列と水平文字の行の交点

8

|

水平区切り線の行の最右文字

9

-

左枠の末尾文字

10

-

列を区切る文字の行の末尾文字

11

-

右枠の末尾文字

PROC TABULATE出力のフォーマット文字
PROC TABULATE出力のフォーマット文字
制限事項FORMCHAR=プションは、従来のSASモノスペース出力の出力先にのみ影響します。
操作SASシステムオプションFORMCHAR=では、デフォルトのフォーマット文字を指定します。システムオプションは、フォーマット文字の全体の文字列を定義します。プロシジャのFORMCHAR=オプションでは、選択した文字を再定義できます。
ヒント16進数文字を含むformatting-charactersの文字を使用できます。16進数文字を使用する場合、xを終了引用符の後に付ける必要があります。たとえば、次のオプションでは、16進文字2-Dが3番目のフォーマット文字に、16進文字7Cが7番目の文字にそれぞれ割り当てられます。その他の文字は変わりません。
formchar(3,7)='2D7C'x
formatting-character(s)に対しすべてブランクを指定すると、外枠または区切り線のないテーブルが作成されます。
formchar(1,2,3,4,5,6,7,8,9,10,11)          ='           '
(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 | style-element-name | [style-attribute-name-1=style-attribute-value-1
<style-attribute-name-2=style-attribute-value-2 ...>]

<PARENT>

データセルがその親ヘッダーのスタイル要素を使用することを指定します。

データセルの親スタイル要素は次のいずれになります。

  • テーブルで行次元が指定されない場合、またはテーブルでスタイル要素が列の次元式で指定される場合の、データセルを含む列の上のリーフヘッダーのスタイル要素
  • テーブルでスタイル要素が行の次元式で指定される場合の、セルを含む行の上のリーフヘッダーのスタイル要素
  • テーブルでスタイル要素がページの次元式で指定される場合の、Beforecaptionスタイル要素
  • その他の場合は未定義
注: この使用法では、文字PARENTを山かっこで囲む必要があります。構文で中かっこまたは角かっこを代わりに使用することはできません。
注: ヘッダーの親(PROC TABULATEステートメントのSTYLE=には適用不可)は、現在のヘッダーがネストされているヘッダーです。

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

プロシジャは分散をc s s slash d i v i s o r. 別の形式を利用するにはイメージをクリックします。として計算します。c s s. 別の形式を利用するにはイメージをクリックします。は修正平方和で、cap sigma . open , x sub i , minus , x with macron above , close squared. 別の形式を利用するにはイメージをクリックします。と等しくなります。分析変数を重み付けする場合、c s s. 別の形式を利用するにはイメージをクリックします。はcap sigma , w sub i . open , x sub i , minus , x with macron above sub w , close squared. 別の形式を利用するにはイメージをクリックします。と等しくなります。x with macron above sub w. 別の形式を利用するにはイメージをクリックします。は重み付きの平均です。

デフォルトDF
要件平均値の標準誤差を計算するには、VARDEF=のデフォルト値を使用します。
ヒントWEIGHTステートメントとVARDEF=DFを使用する場合、分散はsigma squared. 別の形式を利用するにはイメージをクリックします。の推定です。i番目のオブザベーションの分散はv eh r . open , x sub i , close . equals , sigma squared , slash , w sub i. 別の形式を利用するにはイメージをクリックします。、およびw sub i. 別の形式を利用するにはイメージをクリックします。はi番目のオブザベーションの重みです。これにより、オブザベーションの分散の推定が単位重みとともに生成されます。
WEIGHTステートメントとVARDEF=WGTを使用する場合、計算された分散が漸近的に(大きなnに対し)table with 1 row and 1 column , row1 column 1 , sigma squared , slash , w with macron above , end table. 別の形式を利用するにはイメージをクリックします。の推定になります。table with 1 row and 1 column , row1 column 1 , w with macron above , end table. 別の形式を利用するにはイメージをクリックします。は、平均重みです。これにより、オブザベーションの分散の漸近的推定が平均重みとともに生成されます。
最終更新: 2026年9月18日