EXTRACT コマンド

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

構文

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

パラメーター

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

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

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

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

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

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

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

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

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

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

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

AS 表示名

省略可能

FIELDS フィールド名を使って抽出を行う場合にのみ使用します。

新しい Analytics テーブルのビューにおけるフィールドの表示名(代替列見出し)。 表示名をフィールド名、またはソース テーブル内の既存の表示名と同じにしたい場合は、AS を使用しないでください。

表示名の値は引用符で囲まれた文字列。 列見出しを改行したい場合は、語句の間にセミコロン(;)を入れます。

メモ

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

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

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

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

OPEN AR_Customer
EXTRACT FIELDS Name Due Date 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"

備考

メモ

このコマンドの動作の詳細については、Analytics のヘルプを参照してください。

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

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

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