前のページ|次のページ

列の要素

SASデータセットの変数を定義します。

構文

COLUMN name="name" retain="NO | YES" class="ORDINAL | FILENAME | FILEPATH"
TYPE
DATATYPE
DEFAULT
ENUM
FORMAT width="w" ndec="d"
INFORMAT width="w" ndec="d"
DESCRIPTION
LENGTH
PATH syntax="type"
INCREMENT-PATH syntax="type" beginend="BEGIN | END"
RESET-PATH syntax="type" beginend="BEGIN | END"
DECREMENT-PATH syntax="type" beginend="BEGIN | END"

要素

COLUMN name="name" retain="NO | YES" class="ORDINAL | FILENAME | FILEPATH"

この要素には、変数定義を含めます。たとえば、<COLUMN name="Title">のように記述します。

name="name"

変数名を指定します。この名前は、最大32文字までの有効なSAS名でなければなりません。

要件 name=属性は必須です。

retain="NO | YES"

オプション属性であり、各オブザベーションの開始時の入力バッファの内容を決定します。

NO

各オブザベーションの開始時の値を、MISSINGまたはDEFAULT要素の値(指定されている場合)のどちらかに設定します。

YES

新しい欠損値でない値により置き換えられるまで、現在の値を保持します。YESを指定した場合、DATAステップ処理でRETAINステートメントを使用した場合と同じような結果が得られます。これにより、オブザベーションが出力SASデータセットに書き出された後も、処理された値を強制的に保持できます。

デフォルト NO
階層データを関連データセットとしてインポートする

class="ORDINAL | FILENAME | FILEPATH" XMLV2 Only

オプション属性であり、変数の型を指定します。

ORDINAL

変数が数値カウンタ変数であることを指定します。カウンタ変数は、INCREMENT-PATH要素またはDECREMENT-PATHにより指定される場所パスが検出される回数を記録します (カウンタ変数は、DATAステップの自動変数_N_に似ています)。カウンタ変数の値は、この場所パスが検出されるたびに1ずつインクリメントまたはデクリメントされます。カウンタ変数は、同じ名前のデータ要素の個々のオカレンスを特定する場合や、オブザベーションの数をカウントする場合に役立ちます。

制限事項 XMLドキュメントをエクスポートする場合、class="ORDINAL"属性を持つ変数は出力XMLドキュメントには含められません。
要件 INCREMENT-PATH要素またはDECREMENT-PATH要素を使用する必要があります。PATH変数は使用できません。
TYPE要素では、SASデータ型を数値として指定する必要があります。DATATYPE要素では、データ型を整数として指定する必要があります。
生成された数値キーを含むキーフィールドを挿入する

FILENAME

入力ドキュメントのファイル名と拡張子を含める文字変数を生成します。 この機能は、SASライブラリの物理パスに関連付けられているXML Engineのライブラリ参照を割り当てる場合に、どのファイルが特定の値を含んでいるかを決定するのに役立ちます。

要件 TYPE要素では、SASデータ型を文字として指定する必要があります。DATATYPE要素では、データ型を文字列として指定する必要があります。

FILEPATH

入力ドキュメントのパス名、ファイル名、拡張子を含める文字変数を生成します。この機能は、SASライブラリの物理パスに関連付けられているXML Engineのライブラリ参照を割り当てる場合に、どのファイルが特定のオブザベーションを含んでいるかを決定するのに役立ちます。

要件 TYPE要素では、SASデータ型を文字として指定する必要があります。DATATYPE要素では、データ型を文字列として指定する必要があります。
要件 少なくとも1つのCOLUMN要素が必要となります。
操作 COLUMN要素には、DATATYPE、DEFAULT、ENUM、FORMAT、INFORMAT、DESCRIPTION、LENGTH、TYPE、PATH、INCREMENT-PATH、DECREMENT-PATH、RESET-PATHの各要素のうち、変数属性を記述する要素を1つ以上含めることができます。

TYPE

変数のSASデータ型(文字または数値)を指定します。SASシステムは、このデータ型を使用して変数のデータを保存します。たとえば、<TYPE> numeric </TYPE>は、変数のSASデータ型が数値であると指定します。

要件 TYPE要素は必須です。
ヒント 浮動小数点型を割り当てるには、
<DATATYPE> float </DATATYPE>
<TYPE> numeric </TYPE>
を使用します。
SASシステムで出力形式を適用するには、FORMAT要素を使用します。
入力におけるデータ型の変換を制御するには、INFORMAT要素を使用します。たとえば、<INFORMAT> datatime </INFORMAT>のように記述します。

DATATYPE

XMLドキュメントから変数にデータを読み込む際に使用するデータ型を指定します。たとえば、<DATATYPE> string </DATATYPE>は、データがアルファベット文字を含むことを指定します。

指定できるデータ型は次のいずれかになります。

string

データはアルファベット文字を含んでおり、計算に使用される数字は含んでいないことを指定します。

integer

データは、計算に使用される整数を含んでいることを指定します。

double

データは、浮動小数点数を含んでいることを指定します。

datetime

入力が有効な日時値を表すことを指定します。この値は、次のいずれかの形式で指定します。

  • XML規格ISO 8601フォーマットの形式。デフォルトの形式はyyyy-mm-ddThh:mm:ss.ffffffになります。
  • SAS入力形式(SASシステムが提供する入力形式かまたはユーザー定義の入力形式)により入力を有効なSAS日時値に変換できる形式。詳細は、INFORMAT要素を参照してください。

date

入力が有効な日付値を表すことを指定します。この値は、次のいずれかの形式で指定します。

  • XML規格ISO 8601フォーマットの形式。デフォルトの形式はyyyy-mm-ddになります。
  • SAS入力形式(SASシステムが提供する入力形式かまたはユーザー定義の入力形式)により入力を有効なSAS日付値に変換できる形式。詳細は、 INFORMAT要素を参照してください。

time

入力が有効な時間値を表すことを指定します。この値は、次のいずれかの形式で指定します。

  • XML規格ISO 8601フォーマットの形式。デフォルトの形式はhh:mm:ss.ffffffになります。
  • SAS入力形式(SASシステムが提供する入力形式かまたはユーザー定義の入力形式)により入力を有効なSAS日付値に変換できる形式。詳細は、 INFORMAT要素を参照してください。
制限事項 XMLMap構文のバージョン1.9および2.1では、それより前のバージョンのXMLMap構文を受け入れません。
要件 DATATYPE要素は必須です。

DEFAULT

オプション要素であり、変数に割り当てる欠損値のデフォルト値を指定します。 欠損データに非欠損値を割り当てるには、DEFAULT要素を使用します。 たとえば、<DEFAULT> single </DEFAULT>は、欠損値が発生した場合に、値singleを割り当てます。

デフォルト デフォルトでは、XML Engineは欠損値をMISSINGに設定します。
最適な列を選択するために、オブザベーションの境界を決定する

ENUM

オプション要素であり、変数で使用できる有効な値のリストを指定します。ENUM要素には、値をリストする1つ以上のVALUE要素を含めることができます。ENUM要素を使用すると、XMLドキュメント内の値の有効性が値リストに照らして検証されます。値が有効でない場合、その値はMISSINGに設定される(デフォルト)か、またはDEFAULT要素で指定された値に設定されます。DEFAULT要素で指定された値が有効となるためには、その値がENUM値の1つとして指定されていなければならないことに注意してください。

<COLUMN name="filing_status">
.
.
.
<DEFAULT> single </DEFAULT>
.
.
.
<ENUM>
<VALUE> single </VALUE>
<VALUE> married filing joint return </VALUE>
<VALUE> married filing separate return </VALUE>
<VALUE> head of household </VALUE>
<VALUE> qualifying widow(er) </VALUE>
</ENUM>
</COLUMN>
最適な列を選択するために、オブザベーションの境界を決定する

FORMAT width="w" ndec="d"

オプション要素であり、変数に割り当てるSAS出力形式を指定します。出力形式名の長さは、文字出力形式の場合は最大31文字まで、数値出力形式の場合は最大32文字までとなります。SAS出力形式とは、SASシステムが値の書き出しの際に使用する命令のことです。出力形式を使うと、値が出力される見かけを制御できます。 出力形式名の一部にピリオド(.)を含めることはできません。幅および長さは、出力形式名の一部としてではなく、属性として指定します。

SAS出力形式の一覧(ISO 8601準拠のSAS出力形式を含む)については、SAS出力形式と入力形式: リファレンスを参照してください。

width="w"

オプション属性であり、出力形式の幅を指定します。ほとんどの出力形式で、幅は出力データにおける列数を意味します。

ndec="d"

オプション属性であり、数値出力形式のdecimalスケーリングファクタを指定します。

たとえば次のように記述します。
<FORMAT> E8601DA </FORMAT>
<FORMAT width="8"> best </FORMAT>
<FORMAT width="8" ndec="2"> dollar </FORMAT>
最適な列を選択するために、オブザベーションの境界を決定する

INFORMAT width="w" ndec="d"

オプション要素であり、変数に割り当てるSAS入力形式を指定します。入力形式名の長さは、文字入力形式の場合は最大30文字まで、数値入力形式の場合は最大31文字までとなります。SAS入力形式とは、SASシステムが値を変数に読み込む(すなわち値を変数に保存する)際に使用する命令のことです。 入力形式名の一部にピリオド(.)を含めることはできません。幅および長さは、入力形式名の一部としてではなく、属性として指定します。

SAS入力形式の一覧(ISO 8601準拠のSAS出力形式を含む )については、SAS出力形式と入力形式: リファレンスを参照してください。
たとえば次のように記述します。
<INFORMAT> E8601DA </INFORMAT>
<INFORMAT width="8"> best </INFORMAT>
<INFORMAT width="8" ndec="2"> dollar </INFORMAT>

width="w"

オプション属性であり、入力形式の幅を指定します。ほとんどの入力形式で、幅は入力データにおける列数を意味します。

ndec="d"

オプション属性であり、数値入力形式のdecimalスケーリングファクタを指定します。SASシステムは、この属性に指定された数を指数とする10の累乗により、入力データを除算します。

最適な列を選択するために、オブザベーションの境界を決定する

DESCRIPTION

オプションの要素であり、変数の説明を最大256文字で指定します。説明を変数ラベルとして割り当てる例を次に示します。

<DESCRIPTION> Story link </DESCRIPTION>

LENGTH

XMLデータの文字変数の最大格納フィールド長を指定します。この値は、SASデータセット内の各変数の値を格納する場合に使用されるバイト数を意味します。この属性値の範囲は、1~32,767になります。インポート処理時に、この属性に指定した最大長の文字列がXMLドキュメントから読み込まれた後、オブザベーションバッファに転送されます。たとえば、<LENGTH> 200 </LENGTH>のように記述します。

制限事項 LENGTH要素は数値データでは無効です。
要件 STRINGデータ型として定義されているデータの場合、LENGTH要素が必須です。
ヒント LENGTH要素を使用すると、長いフィールドを切り詰めることができます。

PATH syntax="type"

場所パスを指定します。場所パスとは、現在の変数の値を取り出すには、XMLドキュメント内のどの位置を検索し、特定のタグにアクセスする必要があるかをXML Engineに伝えるものです。また、場所パスは、場所パス形式により指定される機能を実行して変数の値を取り出すようXML Engineに伝えます。サポートされているXPath形式を指定すると、生成されるSASデータセットに要素や属性を個別に含めることができます。

syntax="type"

この属性は、場所パス内に記述する構文のタイプを指定します。この構文は、W3C規格に準拠した有効なXPath構成になります。 XML EngineがサポートしているXPath形式では、生成されるSASデータセットに要素や属性を個別に含めることができます。

デフォルト XPath
要件 この値は、XPathまたはXPathENRのどちらかでなければなりません。
XML名前空間をNAMESPACES要素で定義する場合、構文のタイプをXPathENR (埋め込み型の名前空間参照を持つXPath)として指定する必要があります。これは、この構文がXPath規格とは異なるためです。たとえば、syntax="XPathENR"のように指定します。
PATH要素の場所パスを指定するには、次の形式のどちらかを使用します。
注意:
これらの形式は、どちらもXML EngineがサポートしているXPath形式のみになります。
それ以外の有効なW3C形式を使用した場合、予測できない結果が引き起こされることがあります。

element-form

指定の要素からPCDATA (パーシング済みの文字データ)を選択します。次に示す各種の要素形式を使うと、指定の要素からの選択、指定の属性に基づく指定の要素からの条件付き選択、位置機能を使用した要素の特定オカレンスに基づく指定の要素からの条件付き選択が行えます。

<PATH> /LEVEL/ITEM </PATH>
<PATH> /LEVEL/ITEM[@attr="value"] </PATH>
<PATH> /LEVEL/ITEM[position()=n]|[n] </PATH>
次の例では、要素形式の使い方を示します。使用例については、PATH要素に場所パスを指定するを参照してください。
  • 次の場所パスは、CONFERENCE要素を検出するまでXMLマークアップをスキャンするようXML Engineに指示します。XML Engineは、開始タグ<CONFERENCE>と終了タグ</CONFERENCE>に囲まれている値を取り出します。
    <PATH> /NHL/CONFERENCE </PATH>
  • 次の場所パスは、founded=属性の値が1993であるTEAM要素を検出するまでXMLマークアップをスキャンするようXML Engineに指示します。XML Engineは、開始タグ<TEAM>と終了タグ</TEAM>に囲まれている値を取り出します。
    <PATH> /NHL/CONFERENCE/DIVISION/TEAM[@founded="1993"] </PATH>
  • 次の場所パスは、位置機能を使用して、TEAM要素の5番目のオカレンスを検出するまでXMLマークアップをスキャンするようXML Engineに指示します。XML Engineは、開始タグ<TEAM>と終了タグ</TEAM>に囲まれている値を取り出します。
    <PATH> /NHL/CONFERENCE/DIVISION/TEAM[position()=5] </PATH>
    次に示すような位置機能の短縮版が使用できます。
    <PATH> /NHL/CONFERENCE/DIVISION/TEAM[5] </PATH>

attribute-form

属性から値を選択します。次の属性形式を使うと、指定の属性からの選択や、別の属性の値に基づく指定の属性からの条件付き選択が行えます。

<PATH> /LEVEL/ITEM/@attr </PATH>
<PATH> /LEVEL/ITEM/@attr[attr2="value"] </PATH
次の例では、属性形式の使い方を示します。使用例については、PATH要素に場所パスを指定するを参照してください。
  • 次の場所パスは、TEAM要素を検出するまでXMLマークアップをスキャンするようXML Engineに指示します。 XML Engineはabbrev=属性から値を取り出します。
    <PATH syntax="XPath"> /NHL/CONFERENCE/DIVISION/TEAM/@abbrev </PATH>
  • 次の場所パスは、TEAM要素を検出するまでXMLマークアップをスキャンするようXML Engineに指示します。 XML Engineは、abbrev=属性の値がATLであるfounded=属性から値を取り出します。これら2つの属性は、同じ要素に対して指定されたものでなければなりません。
    <PATH> /NHL/CONFERENCE/DIVISION/TEAM/@founded[@abbrev="ATL"] </PATH>
要件 PATHが必須であるかどうか、または許可されているかどうかは、COLUMN要素のclass="ORDINAL"属性により決定されます。 class="ORDINAL"属性を指定しない場合(デフォルト)、PATH要素が必須となり、INCREMENT-PATH、DECREMENT-PATH、RESET-PATH要素は許可されません。class="ORDINAL"属性を指定した場合、PATH要素は許可されず、INCREMENT-PATHまたはDECREMENT-PATH要素が必須となり、RESET-PATH要素はオプションになります。
XML名前空間をNAMESPACES要素で定義する場合、定義しようとしている要素に先立って、場所パスにID番号を含める必要があります。ID番号は中かっこで囲みます。たとえば、<PATH syntax="XPathENR">/Table/Hurricane/{1}Month</PATH>のように記述します。詳細は、XMLMapに名前空間要素を挿入するを参照してください。
XPath構成は、XML構造の各要素に関してUNIXライクなパス記述を配置する公式規格です。XPathの構文では大文字小文字が区別されます。たとえば、要素タグ名が大文字である場合、そのタグ名は場所パスでも大文字で記述する必要があります。 同様に、要素タグ名が小文字である場合、そのタグ名は場所パスでも小文字で記述する必要があります。すべての場所パスは、ルート包含要素(スラッシュ'/'で表される)で始まるか、または"任意の親"バリアント(ダブルスラッシュ'//'で表される)で始まる必要があります。W3Cで規定されているその他の形式は、現時点ではサポートされていません。
PATH要素に場所パスを指定する

INCREMENT-PATH syntax="type" beginend="BEGIN | END"

COLUMN要素のclass="ORDINAL属性を指定した場合に確立される、カウンタ変数用の場所パスを指定します。この場所パスは、入力データ内のどの箇所で、カウンタ変数の累積値を1インクリメントするかをXML Engineに伝えます。

syntax="type"

オプション属性であり、場所パス内に記述する構文のタイプを指定します。この構文は、W3C規格に準拠した有効なXPath構成になります。 XML EngineがサポートしているXPath形式では、生成されるSASデータセットに要素や属性を個別に含めることができます。たとえば、syntax="XPath"のように指定します。

デフォルト XPath
要件 この値は、XPathまたはXPathENRのどちらかでなければなりません。
XML名前空間をNAMESPACES要素で定義する場合、構文のタイプをXPathENR (埋め込み型の名前空間参照を持つXPath)として指定する必要があります。これは、この構文がXPath規格とは異なるためです。たとえば、syntax="XPathENR"のように指定します。

beginend="BEGIN | END"

オプション属性であり、要素の開始タグを検出した時点または要素の終了タグを検出した時点で、処理を停止するよう指定します。

デフォルト BEGIN
要件 XML名前空間をNAMESPACES要素で定義する場合、定義しようとしている要素に先立って、場所パスにID番号を含める必要があります。ID番号は中かっこで囲みます。たとえば、<INCREMENT-PATH syntax="XPathENR">/Table/Hurricane/{1}Month</INCREMENT-PATH>のように記述します。
XPath構成は、XML構造の各要素に関してUNIXライクなパス記述を配置する公式規格です。XPathの構文では大文字小文字が区別されます。たとえば、要素タグ名が大文字である場合、そのタグ名は場所パスでも大文字で記述する必要があります。同様に、要素タグ名が小文字である場合、そのタグ名は場所パスでも小文字で記述する必要があります。すべての場所パスは、ルート包含要素(スラッシュ'/'で表される)で始まるか、または"任意の親"バリアント(ダブルスラッシュ'//'で表される)で始まる必要があります。W3Cで規定されているその他の形式は、現時点ではサポートされていません。
変数がカウンタ変数でない場合、PATH要素が必須となり、INCREMENT-PATH要素およびRESET-PATH要素は許可されません。変数がカウンタ変数である場合、PATH要素は許可されず、INCREMENT-PATH またはDECREMENT-PATH要素のどちらかが必須となります。
生成された数値キーを含むキーフィールドを挿入する

RESET-PATH syntax="type" beginend="BEGIN | END"

COLUMN要素のclass="ORDINAL属性を指定した場合に確立される、カウンタ変数用の場所パスを指定します。この場所パスは、XMLドキュメント内のどの箇所で、カウンタ変数の累積値をゼロにリセットするかをXML Engineに伝えます。

syntax="type"

オプション属性であり、場所パス内に記述する構文のタイプを指定します。この構文は、W3C規格に準拠した有効なXPath構成になります。 XML EngineがサポートしているXPath形式では、生成されるSASデータセットに要素や属性を個別に含めることができます。たとえば、syntax="XPath"のように指定します。

デフォルト XPath
要件 この値は、XPathまたはXPathENRのどちらかでなければなりません。
XML名前空間をNAMESPACES要素で定義する場合、構文のタイプをXPathENR (埋め込み型の名前空間参照を持つXPath)として指定する必要があります。これは、この構文がXPath規格とは異なるためです。たとえば、syntax="XPathENR"のように指定します。

beginend="BEGIN | END"

オプション属性であり、要素の開始タグを検出した時点または要素の終了タグを検出した時点で、処理を停止するよう指定します。

デフォルト BEGIN
要件 変数がカウンタ変数でない場合、RESET-PATHは使用できません。変数がカウンタ変数である場合、RESET-PATHの指定はオプションです。
XML名前空間をNAMESPACES要素で定義する場合、定義しようとしている要素に先立って、場所パスにID番号を含める必要があります。ID番号は中かっこで囲みます。たとえば、<RESET-PATH syntax="XPathENR">/Table/Hurricane/{1}Month</RESET-PATH>のように記述します。
XPath構成は、XML構造の各要素に関してUNIXライクなパス記述を配置する公式規格です。XPathの構文では大文字小文字が区別されます。たとえば、要素タグ名が大文字である場合、そのタグ名は場所パスでも大文字で記述する必要があります。同様に、要素タグ名が小文字である場合、そのタグ名は場所パスでも小文字で記述する必要があります。すべての場所パスは、ルート包含要素(スラッシュ'/'で表される)で始まるか、または"任意の親"バリアント(ダブルスラッシュ'//'で表される)で始まる必要があります。W3Cで規定されているその他の形式は、現時点ではサポートされていません。

DECREMENT-PATH syntax="type" beginend="BEGIN | END"

COLUMN要素のclass="ORDINAL属性を指定した場合に確立される、カウンタ変数用の場所パスを指定します。この場所パスは、入力データ内のどの箇所で、カウンタ変数の累積値を1デクリメントするかをXML Engineに伝えます。

syntax="type"

オプション属性であり、場所パス内に記述する構文のタイプを指定します。この構文は、W3C規格に準拠した有効なXPath構成になります。 XML EngineがサポートしているXPath形式では、生成されるSASデータセットに要素や属性を個別に含めることができます。たとえば、syntax="XPath"のように指定します。

デフォルト XPath
要件 この値は、XPathまたはXPathENRのどちらかでなければなりません。
XML名前空間をNAMESPACES要素で定義する場合、構文のタイプをXPathENR (埋め込み型の名前空間参照を持つXPath)として指定する必要があります。これは、この構文がXPath規格とは異なるためです。たとえば、syntax="XPathENR"のように指定します。

beginend="BEGIN | END"

オプション属性であり、要素の開始タグを検出した時点または要素の終了タグを検出した時点で、処理を停止するよう指定します。

デフォルト BEGIN
要件 変数がカウンタ変数でない場合、DECREMENT-PATHは使用できません。変数がカウンタ変数である場合、DECREMENT-PATHまたはINCREMENT-PATHのどちらかが必須となります。
XML名前空間をNAMESPACES要素で定義する場合、定義しようとしている要素に先立って、場所パスにID番号を含める必要があります。ID番号は中かっこで囲みます。たとえば、<DECREMENT-PATH syntax="XPathENR">/Table/Hurricane/{1}Month</DECREMENT-PATH>のように記述します。
XPath構成は、XML構造の各要素に関してUNIXライクなパス記述を配置する公式規格です。XPathの構文では大文字小文字が区別されます。たとえば、要素タグ名が大文字である場合、そのタグ名は場所パスでも大文字で記述する必要があります。 同様に、要素タグ名が小文字である場合、そのタグ名は場所パスでも小文字で記述する必要があります。すべての場所パスは、ルート包含要素(スラッシュ'/'で表される)で始まるか、または"任意の親"バリアント(ダブルスラッシュ'//'で表される)で始まる必要があります。W3Cで規定されているその他の形式は、現時点ではサポートされていません。
前のページ|次のページ|ページの先頭へ