データの抽出
抽出を使用すると、Analytics テーブルからレコードまたはフィールドの一部または全部を、新しい Analytics テーブルへコピーすることができます。
新しいテーブルは次のいずれかになります。
- ソース テーブル内のすべてのレコードおよびフィールドを含む、ソース テーブルと同一のコピー
- ソース テーブル内のレコードのサブセット
- ソース テーブル内のフィールドのサブセット
- ソース テーブル内のレコードおよびフィールドの両方のサブセット
ソース テーブルに存在する並べ替え順序は、新しいテーブルに保持されます。
メモ
データを抽出し、それを既存の Analytics テーブルの末尾に追加するのは、データを結合する手法の 1 つです。これは、データの結合に関するセクションで説明します。詳細については、データの抽出と追加を参照してください。
データを抽出することのメリット
以下に、新しいテーブルへデータを抽出する理由をいくつか挙げます。
- 特定の分析に関連するデータのみのサブセットが生成され、ファイル サイズと処理時間が削減される
- フィルターを使用すると、特定の項目をさらに分析するために別のテーブルに抽出できる
- ファイルの作業コピーに元のデータ ファイルの内容を抽出することにより、元ファイルの整合性が保持される
- 演算フィールドが、実際に計算された値が格納された物理フィールドに変換される
- サーバー テーブルから新しいローカル テーブルにデータが抽出される
- 2 つ以上の関連テーブルから新しい Analytics テーブルにデータが抽出される
データの抽出とテーブルのコピーの違い
すべてのデータを抽出することと、ナビゲーターでテーブルをコピーすること([ ])の違いは、抽出では、新しいテーブル レイアウトだけでなく新しいソース データ ファイル(.fil)も作成されるのに対し、コピーでは、新しいテーブル レイアウトだけが作成され、依然として元のソース データ ファイルと関連付けられ続けるということです。
レコード単位、ビュー単位、フィールド単位の抽出
データを抽出する場合には、次のオプションがあります。
- レコード:レコード全体を抽出します。
- ビュー:ビューにあるすべてのフィールドを抽出します。
- フィールド:フィールドを個別に選択して抽出します。
レコード全体を抽出するときは、テーブル レイアウトには定義されていないすき間に格納されているデータも含め、レコードが完全にコピーされます。
ビュー内の全フィールドまたは個別フィールドを抽出するときは、ソース テーブル内のすべてのフィールドを抽出しても、レコードの定義されていない部分はすべて無視されます。
演算フィールドの抽出
演算フィールドは、レコード単位で抽出を行う場合は演算フィールドのままです。これらは、ビュー内のフィールドまたはビュー単位またはフィールド単位で抽出を行う場合には、適切なデータ型の物理フィールドに変換され、実際に計算された値が格納されます。
演算フィールド内の時刻データの抽出
演算フィールドに、UTC オフセットを伴うローカル時間(23:59:59-05:00 など)が含まれる場合、そのローカル時間と UTC オフセットはレコードの抽出時に保存されます。
ビューまたはフィールド単位で抽出する場合は、ローカル時間と UTC オフセットはオフセットなしの UTC に変換されます。たとえば、23:59:59-05:00 は 04:59:59 となります。
ビュー単位による抽出の補足説明
[抽出]ダイアログ ボックスで[ビュー]オプションを選択すると、アクティブなビューで現在表示されているデータをすべて抽出することができます。
ビュー単位で抽出する場合は、以下の点に留意してください。
抽出されるフィールド |
ビュー内で現在表示されているフィールドのみが抽出されます。テーブル レイアウトには存在していてもビューに表示されていないフィールドについては抽出されません。 ビュー内のフィールドはすべて抽出されます。フィールドのサブセットを抽出したい場合は、ビューから不要なフィールドを削除する、ビューを新たに作成し必要なフィールドのみを含める、あるいはビュー単位の抽出ではなくフィールド単位の抽出を使用するようにしてください。 |
---|---|
フィールドの順番 | フィールドは、ビューに現れる順序と同じ並びで抽出されます。別の並び順でフィールドを抽出する場合は、抽出を実行する前に、ビューでフィールドの配置を変えるか、ビューを新たに作成してフィールドを希望の順序で配置してください。 |
フィルターリング | ビューにフィルターが適用されている場合は、フィルター条件に一致するデータのみが抽出されます。 |
レコード ノート | レコード ノートは、[RecordNote]列が事前にビューへ追加されていた場合にのみ抽出されます。 |
代替列見出し | 代替列見出しがビュー レベルで指定されている場合、ビュー単位の抽出はビュー レベルの見出しを保存します。コマンド ログの構文を使用して抽出コマンドを再実行する場合、テーブル レイアウトで指定されている代替列見出しが使用され、ビュー レベルの見出しは無視されます。 |
スクリプト コマンド ライン |
ビュー単位の抽出の指定は、スクリプト内またはコマンド ラインからはサポートされません。ビュー単位の抽出は、ACLScript で表現すると、アクティブ ビューの全フィールドを使用したフィールド単位の抽出(EXTRACT FIELDS)と実質的に同じになります。フィールドはビューに表示されている順序で抽出されます。 |
論理フィールドの抽出
論理フィールドを抽出するには、[フィールド一覧にフィルターを含める]([ ])がオンになっている必要があります。
コントロール合計の設定
テーブル内のすべてのレコード、ビュー内の全データ、または個別フィールドを抽出する場合は、すべてのデータが実際に抽出されたことを確認するために、数値フィールドにコントロール合計を設定することができます。
[テーブル レイアウト]ダイアログ ボックスで、フィールドにコントロール合計を設定します。データを抽出したら、新しいテーブルで[ ]を選択して、入力と出力のコントロール合計を比較します。詳細については、物理フィールドを定義するを参照してください。
サーバー テーブルおよびローカル テーブルからのデータの抽出
サーバー テーブルとローカル テーブルの両方からデータを抽出することができます。サーバー テーブルから抽出されたデータは、サーバー上またはローカル コンピューター上のテーブルに保存できます。ローカル テーブルから抽出されたデータは、ローカル コンピューター上のテーブルにのみ保存できます。
手順
Analytics テーブルからレコードまたはフィールドの一部または全部を、新しい Analytics テーブルへ抽出することができます。
メモ
データを抽出し、それを既存の Analytics テーブルの末尾に追加するのは、データを結合する手法の 1 つです。これは、データの結合に関するセクションで説明します。詳細については、データを抽出して追加するを参照してください。
- レコードまたはフィールドを抽出するテーブルを開きます。
- [ ]の順に選択します。
- [メイン]タブで、次のいずれかを選択します。
- レコード レコード全体を抽出します
レコード内のフィールドは、テーブル レイアウトに現れる順序と同じ並びで抽出されます。
- ビュー すべてのフィールドを現在のビューに抽出します
フィールドは、ビューに表示される順序で抽出されます。
- フィールド選択した個別のフィールドを抽出します
フィールドは、選択した順序で抽出されます。
テーブルの関係における子テーブルからデータを抽出する場合、その子テーブルのフィールドがビューに追加済みであれば、[フィールド]あるいは[ビュー]を選択します。[レコード]オプションを使って子テーブルのデータを抽出することはできません。
メモ
1 つまたは複数の演算フィールドを抽出する場合、[レコード]を選択すると、抽出されたフィールドは計算式として保持されます。
[ビュー]または[フィールド]を選択すると、抽出されたフィールドは適切なデータ型の物理フィールドに変換され、実際に計算された値が格納されます。
- レコード レコード全体を抽出します
- [フィールド]を選択した場合は、次のいずれかを行います。
[抽出フィールド]リストから適切なフィールドを選択します。
[抽出フィールド]をクリックして、適切なフィールドを選択するか、または式を作成して、[OK]をクリックします。
テーブルの関係における子テーブルからフィールドを選択したい場合は、[抽出フィールド]をクリックします。[選択済みのフィールド]ダイアログ ボックスの[対象テーブル]ドロップダウン リストを使用して、適切な子テーブルを選択できます。
-
現在のビューの中に処理から除外したいレコードがある場合は、[If]テキスト ボックスに条件を指定します。直接入力するか、または[If]ボタンをクリックし、式ビルダーを利用して IF ステートメントを作成します。
メモ
If 条件は、任意の範囲オプション(First、Next、While)が適用された後に、テーブルに残るレコードに対してのみ評価されます。
- 次のいずれかを実行します。
[保存先]テキスト ボックスに、新しい Analytics テーブルの名前を指定します。
[保存先]ボタンをクリックして、[保存]または[ファイルを保存する名前]ダイアログ ボックスで新しい Analytics テーブルの名前を指定するか、または既存のテーブルに上書きする場合はそのテーブルを選択します。
Analytics によってテーブル名があらかじめ設定されている場合は、その設定されている名前を受け入れることも、あるいは変更することもできます。
また、絶対ファイル パスや相対ファイル パスを指定したり、別のフォルダーへ移動したり、プロジェクトの場所以外の場所に新しいテーブルを保存したり、その場所にある既存のテーブルを上書きしたりすることもできます。たとえば、C:\Results\GL_2011.fil または Results\GL_2011.fil と指定します。保存または上書きするテーブルの場所に関係なく、そのテーブルが開いているプロジェクトにまだ存在しないときは、プロジェクトに追加されます。
- サーバー テーブルに接続されている場合は、次のいずれかを実行します。
- プロジェクトと同じ場所に出力テーブルを保存する、パスを指定する、または別のローカル フォルダーへ移動する場合は、[ローカル]を選択します。
- サーバーの Prefix フォルダーに出力テーブルを保存する場合は、[ローカル]を選択解除されたままにしておきます。
メモ
出力結果が Analytics Exchange のサーバー テーブルの分析や処理から生成される場合は、[ローカル]を選択します。[ローカル]の設定は、結果テーブルを Analytics Exchange へインポートする場合に選択解除することはできません。
- 操作の完了時に、出力結果を含む Analytics テーブルを自動的に開くようにするかどうかに応じて、[出力テーブルを開く]を選択または選択解除します。
- [詳細]タブをクリックします。
- [適用範囲]パネルで、適切な出力オプションを選択します。
- すべて – デフォルトで、このオプションが選択されます。ビュー内のすべてのレコードを処理するように指定するには、選択されたままにしておきます。
- 先頭 – このオプションを選択してテキスト ボックスに数を入力すると、ビュー内の先頭レコードから処理が開始され、指定した件数のレコードのみが処理対象とされます。
- 次 – このオプションを選択してテキスト ボックスに数を入力すると、ビュー内で現在選択されているレコードから処理が開始され、指定した件数のレコードのみが処理対象とされます。行内のデータではなく、左端の列の実際のレコード番号が選択されている必要があります。
- While – WHILE ステートメントを使用して、特定の条件または条件のセットに基づいてビュー内のレコードの処理を制限するには、このオプションを選択します。[While]テキスト ボックスに条件を入力するか、または[While]ボタンをクリックし、式ビルダーを利用して WHILE ステートメントを作成することができます。
WHILE ステートメントでは、指定した条件が true と評価される間のみ、ビュー内のレコードを処理することができます。条件が false と評価されるとすぐに処理が終了し、それ以上レコードは判断されません。While オプションは、"すべて"、"先頭"、または "次" オプションと組み合わせて使用することができます。1 つの制限に達するとすぐに、レコードの処理が停止します。
メモ
"先頭" または "次" オプションで指定されたレコード数は、テーブル内の物理的な順番またはインデックス順のレコードを参照するもので、ビューに適用されたフィルターやクイック ソートは一切無視します。ただし、分析操作の結果ではすべてのフィルターを考慮します。
ビューでクイック ソートが実行されている場合、"次" は "先頭" のように動作します。
- 必要であれば[EOF(ファイルの終わりの処理)]をオンにして、テーブルの終わりに達したときに、もう一度抽出操作が実行されるようにします。
EOF パラメーターは通常、大規模な分析プロセスの一環としてレコードを抽出するとき、Extract コマンドがスクリプトのグループ内で発生する場合に使用されます。シーケンシャル レコード間の比較に基づいてレコードを抽出する場合は、テーブルの最後のレコードが確実に抽出されるように、EOF を使用する必要があるかもしれません。
- [OK]をクリックします。
- 上書きを確認するメッセージが表示されたら、適切なオプションを選択します。