EXTRACT コマンド

Analytics テーブルからデータを抽出し、それを新しい Analytics テーブルに出力するか、または既存の Analytics テーブルへ追加します。レコード全体または選択したフィールドを抽出することができます。

構文

EXTRACT {RECORD|FIELDS フィールド名 <AS 新しいフィールド名> <...n>|FIELDS ALL} <関連テーブル名.ALL <...n>> <EXCLUDE フィールド名 <...n>> TO テーブル名 <LOCAL> <IF テスト> <WHILE テスト> <FIRST 範囲|NEXT 範囲> <EOF> <APPEND> <OPEN>

パラメーター

名前 説明
RECORD | FIELDS フィールド名 | FIELDS ALL

出力に含めるフィールド:

  • RECORD ソース データ ファイル内のレコード全体、つまり、テーブル内のすべてのフィールド、およびレコード内の未定義部分すべてが使用されます。

    フィールドは、テーブル レイアウトに現れる順序と同じ並びで使用されます。

    演算フィールドを保持します。

  • FIELDS フィールド名 指定されたフィールドを使用します

    フィールドは一覧の順序で使用されます。

    関連テーブルのフィールドを使用する場合は、related_table_name.field_name(関連テーブル名.フィールド名)を指定します。

    演算フィールドを出力先テーブル内の適切なデータ型(ASCII 型または Unicode 型(Analytics のエディションによる)、ACL 型(ネイティブの数値データ型)、日付時刻型、あるいは論理型)の物理フィールドに変換します。演算された実際の値を物理フィールドに設定します。

  • FIELDS ALL テーブルのすべてのフィールドを使用します。

    フィールドは、テーブル レイアウトに現れる順序と同じ並びで使用されます。

    演算フィールドを出力先テーブル内の適切なデータ型(ASCII 型または Unicode 型(Analytics のエディションによる)、ACL 型(ネイティブの数値データ型)、日付時刻型、あるいは論理型)の物理フィールドに変換します。演算された実際の値を物理フィールドに設定します。

AS 新しいフィールド名

省略可能

FIELDS フィールド名を使って抽出を行う場合にのみ有効です。

出力テーブルのフィールドの新しい物理名と表示名(代替の列タイトル)。

指定した特殊文字やスペースは表示名に保持され、テーブル レイアウトの物理フィールド名では自動的にアンダースコア (_) に変換されます。

新しいフィールド名 を引用符で囲んだ文字列として指定します。表示名に改行を入れたい場合は、語句の間にセミコロン (;) を入れます。

メモ

AS は新しいテーブルに抽出を行う場合にのみ使用します。既存のテーブルに追加している場合は、既存テーブルの代替列見出しが優先されます。

関連テーブル名.ALL

省略可能

指定された関連テーブルのすべてのフィールドを使用します。

EXCLUDE フィールド名

省略可能

FIELDS ALL または 関連テーブル名.ALL を使用して抽出したときのみ有効です。

コマンドから除外するフィールド。EXCLUDE では、指定したフィールドを除外して、ALL キーワードを微調整できます。

EXCLUDE は、FIELDS ALL の直後、または 1 つ以上の関連テーブルのフィールドを含める場合は ALL キーワードの最後の出現の直後に続く必要があります。例:

FIELDS ALL EXCLUDE field_1 field_2
FIELDS ALL 関連テーブル名.ALL EXCLUDE field_1 field_2
TO テーブル名

コマンドの結果を送信する場所:

  • テーブル名は、結果の保存先となる Analytics テーブルのことです。

    テーブル名には、ファイル拡張子 .FIL を付けた文字列を引用符で囲んで指定する必要があります。例:TO "Output.FIL"

    デフォルトでは、テーブル データ ファイル(.fil)は、Analytics プロジェクトが入っているフォルダーに保存されます。

    既存の異なるフォルダーにデータ ファイルを保存するには、絶対または相対ファイル パスを指定します。

    • TO "C:\Output.FIL"
    • TO "Results\Output.FIL"

    メモ

    テーブル名は 64 文字の英数字(.FIL 拡張子を含まない)に制限されています。名前にはアンダースコア文字(_)を使用できますが、他の特殊文字やスペースは使用できません。名前の先頭を数字にすることはできません。

LOCAL

省略可能

Analytics プロジェクトと同じ場所に出力ファイルを保存します。

メモ

Analytics テーブルである出力ファイルを含むサーバー テーブルに対してコマンドを実行するときにのみ適用されます。

LOCAL パラメーターは TO パラメーターの直後に置く必要があります。

IF テスト

省略可能

各レコードを処理するために真である必要がある条件式。コマンドは、その条件を満たすレコードに対してのみ実行されます。

メモ

IF パラメーターは、任意の範囲パラメーター(WHILE、FIRST、NEXT)が適用された後に、テーブルに残るレコードに対してのみ評価されます。

WHILE テスト

省略可能

各レコードを処理するために真である必要がある条件式。条件が false と評価するか、テーブルの最後に達したら、コマンドは実行を中止します。

メモ

WHILE を FIRST または NEXT とともに使用する場合は、1 つの制限に達するとすぐに、レコードの処理が停止します。

FIRST 範囲 | NEXT 範囲

省略可能

処理するレコード数:

  • FIRST 指定されたレコード数に達するまで、最初のレコードから処理を開始します
  • NEXT 指定されたレコード数に達するまで、現在選択されているレコードから処理を開始します

範囲は処理するレコード数を指定します。

FIRST と NEXT を省略すると、すべてのレコードがデフォルトで処理されます。

EOF

省略可能

ファイルの終わりに達した後、コマンドをもう一度実行します。

これにより、GROUP コマンド内でテーブルの最後のレコードが処理されることが保証されます。すべてのフィールドが以前のレコードを参照する演算フィールドである場合にのみ使用してください。

APPEND

省略可能

コマンドの出力を既存ファイルに上書きしないで、そのファイルの末尾に追加します。

メモ

コマンドの出力と既存のファイルの構造が同一であるようにする必要があります。

  • 同じフィールド
  • 同じフィールド順序
  • 一致するフィールドが同じ長さ
  • 一致するフィールドが同じデータ型

出力は、既存ファイルとの間でファイル構造が違っている場合でも、Analytics によって既存ファイルに追加されます。出力と既存のファイルの構造が一致しない場合は、データが混在、不足、不正確になります。

OPEN

省略可能

コマンドを実行した後、コマンドによって作成されたテーブルを開きます。コマンドが出力テーブルを作成する場合にのみ有効です。

テーブル内のすべてのレコードを新しいテーブルへ抽出する

次の例では、既存のすべてのレコードを新しい Analytics テーブルへ抽出することにより、AR_Customer テーブルの正確な複製を作成します。すべての演算フィールドは演算フィールドとして保持されます。

OPEN AR_Customer
EXTRACT RECORD TO "AR_Customer_2"

テーブル内のすべてのフィールドを新しいテーブルへ抽出する

AR_Customer テーブル内の定義済みのすべてのフィールドを新しい Analytics テーブルへ抽出するとします。すべての演算フィールドが、物理フィールドに変換され、実際に計算された値が格納されます。

OPEN AR_Customer
EXTRACT FIELDS ALL TO "AR_Customer_2"

テーブルのすべてのレコードの抽出と、既存のテーブルへの追加

AR_Customer テーブルのすべてのレコードを抽出し、AR_Customer_Master テーブルの最後にグループとして追加します。

OPEN AR_Customer
EXTRACT RECORD TO "AR_Customer_Master" APPEND

テーブルのすべてのレコードの抽出と、別のフォルダーの既存のテーブルへの追加

AR_Customer テーブルのすべてのレコードを抽出し、AR_Customer_Master テーブルの最後にグループとして追加します。これは、Analytics プロジェクト フォルダー以外のフォルダーです。

OPEN AR_Customer
EXTRACT RECORD TO "C:\Users\Customer Data\AR_Customer_Master" APPEND

テーブルから新しいテーブルへフィールドのサブセットを抽出する

テーブルのフィールドのサブセットを抽出する際には、2 つのオプションがあります。

  • 抽出する個別のフィールドを指定する
  • FIELDS ALL を指定し、抽出から除外するフィールドを指定する

ヒント

最も作業が少ない方法を使用してください。

次の例は、7 つのフィールドがある AR_Customer テーブルを参照します。

  • reference number(参照番号)
  • customer number(顧客番号)
  • customer name(顧客名)
  • transaction type(取引形態)
  • 請求日
  • due date(期日)
  • 請求金額

抽出するフィールドを指定する

次の例では、AR_Customer テーブルから 3 つのフィールドを新しい Analytics テーブルへ抽出します。

OPEN AR_Customer
EXTRACT FIELDS Name Due Date TO "AR_Customer_Dates.fil"

FIELDS ALL を指定し、除外するフィールドを指定する

次の例では、AR_Customer テーブルから、Reference_num フィールドを除くすべてのフィールドを新しい Analytics テーブルへ抽出します。

OPEN AR_Customer
EXTRACT FIELDS ALL EXCLUDE Reference_num TO "AR_Customer_Dates.fil"

抽出されたフィールドの新規名の作成

次の例では、AR_Customer テーブルから 3 つのフィールドを抽出し、新しい Analytics テーブルにそれらのフィールドの新しい物理名と表示名を作成します。

OPEN AR_Customer
EXTRACT FIELDS Name AS "Customer;Name" Due AS "Due;Date" Date AS "Invoice;Date" TO "AR_Customer_Dates.fil"

語句の間にセミコロン (;) を入れると、表示名に改行が入ります。物理フィールド名では、セミコロンは自動的にアンダースコア (_) に変換されます。

条件に基づいてフィールドを抽出する

次の例では、Due フィールドの日付が 2014 年 7 月 1 日より前の日付の場合に、AR_Customer テーブルから 3 つのフィールドを新しい Analytics テーブルへ抽出します。

OPEN AR_Customer
EXTRACT FIELDS Name Due Date IF Due < `20140701` TO "Overdue.fil"

備考

このコマンドの動作の詳細については、データの抽出またはデータの抽出と追加を参照してください。

テーブルの抽出(EXTRACT)とテーブルのコピーの比較

EXTRACT では、新しいテーブル レイアウトだけでなく、新しいソース データ ファイル(.fil)も作成されます。

これに対し、ナビゲーター編集 > コピー)を使ってテーブルを作成すると、元のソース データ ファイルとも関連付けられた新しいテーブル レイアウトが作成されます。この場合、新しいデータ ファイルが作成されるわけではありません。