レコードの並べ替え
レコードを昇順または降順に並べ替えて、その結果を新しい、物理的に整列し直された Analytics テーブルに出力することができます。Analytics テーブルへの出力は唯一の出力オプションです。
レコードの並べ替えは複数の Analytics 操作の前提条件です。詳細については以下を参照 明示的な並べ替えを実行するか、事前並べ替えを使用するべきか
並べ替えは、パターンと異常値に焦点を当て、それ自体が有用な分析操作として役立ちます。
メモ
レコードのインデックスは、レコードを並べ替えることの代替方法です。状況によっては、インデックスがより良い選択となることがあります。詳細については以下を参照 並べ替えまたはインデックス
レコード全体または指定したフィールドのみを出力するべきか
並べ替えるときには、並べ替えられた出力テーブルのレコード全体または指定されたフィールドのみを含めることができます。以下に要約されているように、各オプションに関連付けられた意味があります。
選択するオプションは並べ替えの速度にも影響することがあります。詳細については、並べ替えを高速化する方法を参照してください。
ヒント
フィールドで出力する特性を維持しながら、レコード全体が必要な場合は、フィールドで出力し、すべてのフィールドを選択します。
出力タイプ | 意味 |
---|---|
レコード |
|
フィールド |
|
複数のキー フィールドでの並べ替え
1 つのキー フィールドを使用してレコードを並べ替えることができます。また、複数のキー フィールド(主キー フィールド、副キー フィールドなど)を基にして並べ替えることで、入れ子の並べ替えの構成を作成することができます。入れ子の並べ替えでは、キー フィールド全体で昇順と降順が混在しても、データ型が混在してもかまいません。
例
取引テーブルを Date キー フィールドで昇順に並べ替え、それぞれの日にち内を Amount キー フィールドで降順に並べ替えることができます。
以下の結果は、データ型が混在(日付時刻と数値)したネストされた並べ替えを昇順および降順で示します。
Date フィールド (昇順) |
Amount フィールド (降順、入れ子) |
---|---|
15 Jan 2011 |
$2300.00 |
15 Jan 2011 |
$1200.00 |
15 Jan 2011 |
$600.00 |
16 Jan 2011 |
$900.00 |
16 Jan 2011 |
$100.00 |
17 Jan 2011 |
$4700.00 |
17 Jan 2011 |
$900.00 |
17 Jan 2011 |
$500.00 |
並べ替えを高速化する方法
数百万件のレコードがある非常に大きいテーブルを並べ替えると、時間がかかる場合があります。並べ替えは大量のシステム リソースを必要とするため、ほかのタスクが同時に実行されている場合は、処理速度が低下する可能性があります。
並べ替え速度の改善
2 つのオプションで並べ替え速度を改善できます。
- フィールドのサブセットの出力期間に含まれるデータの一部のみが必要な場合は、並べ替えられた出力にレコード全体を含めないでください。必要なフィールドのみを選択します。多くの場合、これにより、並べ替え処理が高速化します。
合計フィールド数の割合としてフィールドのサブセットが小さいほど、パフォーマンスが改善します。
- 並べ替えで使用できるメモリを増やす並べ替え用の特定のメモリ量を最大 2000 MB に割り当てることができます。[ツール|オプション|テーブル|並べ替えメモリ]に移動するか、SET SORTMEMORY コマンドを使用します。
追加の提案
大きいテーブルを並べ替える時間が問題になる場合は、次の点を考慮してください。
- コンピューターのハードウェアをアップグレードする
- スクリプトを作成して、スケジュールで夜間にデータを並べ替える
明示的な並べ替えを実行するか、事前並べ替えを使用するべきか
次の処理の前にレコードを並べ替えることは前提条件か推奨されます。
- テーブルの結合
- テーブルのマージ
- 集計(キー フィールドの同じ値の各セットで単一グループが必要な場合)
- 重複の検査
- ギャップの検査
これらすべての操作には[あらかじめ並べ替える]オプションが含まれており、操作の一部としてレコードを順番に並べ替える予備の手段を組み込むことができます。
1 つのテーブルに対して複数の操作を実行している場合は、[あらかじめ並べ替える]を繰り返し使用するよりも、最初に明確にテーブルを並べ替えた方がより効率的であるかもしれません。テーブルに含まれるレコード数が多い場合は特にそうです。
すべてのソース レコードが出力テーブルにあることを確認する
テーブル内のすべてのレコードを並べ替えて出力する場合は、数値フィールドにコントロール合計を設定することによって、実際にすべてのレコードが新しいテーブルへ出力されたかどうかを検証できます。
[テーブル レイアウト]ダイアログ ボックスで、フィールドにコントロール合計を設定します。レコードを並べ替えて出力したら、新しいテーブルで[ ]を選択して、入力と出力のコントロール合計を比較します。詳細については、物理フィールドを定義するを参照してください。
手順
アクティブなテーブルの 1 つまたは複数のキー フィールドによってレコードを並べ替え、その結果を新しい Analytics テーブルに出力することができます。並べ替えられた出力テーブルのレコード全体または指定されたフィールドのみを含めることができます。
メモ
並べ替えの処理中に使用される一時ファイルを作成するために、並べ替えられるファイルのサイズの少なくとも 2.5 倍の空き領域が必要です。
- ナビゲーターで、並べ替えるテーブルを開きます。
- の順に選択します。
- [メイン]タブで、次のいずれかを行います。
- [並べ替えの対象]リストから、並べ替えるフィールドを選択します。
- [並べ替えの対象]をクリックして、キー フィールドを選択するか、または式を作成します。
ヒント
[並べ替えの対象]をクリックした場合は、任意で並べ替えの矢印 (デフォルト並べ順は昇順)をクリックすることにより、1 つまたは複数のキー フィールドの出力結果を降順にするよう指定することができます。
- レコード全体または指定されたフィールドのみを出力するには、次のいずれかを実行します。
- 並べ替えられた出力テーブルにレコード全体を含める場合は、[レコード]を選択します。
- 並べ替えられた出力テーブルにフィールドのサブセットのみを含める場合は、[フィールド]を選択します。
- [フィールド]を選択した場合は、次のいずれかを行います。
- [他のフィールド]リストから適切な非キー フィールドを選択します。
- [その他のフィールド]をクリックして、フィールドを選択するか、または式を作成します。
ヒント
隣接する複数のフィールドを選択するには、Shift キー + クリックを、隣接していない複数のフィールドを選択するには、Ctrl キー + クリックを利用できます。
- [保存先]テキスト ボックスに、出力テーブルの名前を指定します。
- [詳細]タブ
- (省略可能)レコードのサブセットのみが処理されることを指定するには、[範囲]パネルでオプションのいずれかを選択します。
- [OK]をクリックします。
[並べ替え]ダイアログ ボックス オプション
次の表は、[並べ替え]ダイアログ ボックスのオプションの詳細を示します。
[メイン]タブ
オプション - [並べ替え]ダイアログ ボックス | 説明 |
---|---|
並べ替え基準 |
テーブルを並べ替えるために使用するキー フィールドを指定します。
メモ 論理フィールドでの並べ替えでは、[フィールド リストにフィルターを含める]を選択する必要があります([ ])。 キー フィールドのガイドライン:
|
レコード フィールド |
並べ替えられた出力テーブルのレコード全体またはフィールドのサブセットのみを含めるかどうかを指定します。
1 つ以上の演算フィールドを含める場合:
テーブルの関係における子テーブルからフィールドを含める場合:
[レコード]オプションを使って子テーブルのフィールドを含めることはできません。 |
その他のフィールド |
[フィールド]を選択した場合は、並べ替えられた出力テーブルに含める非キー フィールドを指定します。
メモ キー フィールドは自動的に出力フィールドに含まれます。他のフィールドとして指定されると無視されます。 グループとして、出力テーブルの他のフィールドの前にキー フィールドが表示されます。 テーブルの関係における子テーブルからフィールドを選択したい場合:
|
もし次の |
(省略可能)レコードを処理から除外する条件を作成できます [If]テキスト ボックスに条件を入力するか、または[If]ボタンをクリックし、式ビルダーを利用して WHILE ステートメントを作成することができます。 |
変換先 | 出力テーブルの名前と場所を指定します。
保存する出力テーブルの場所に関係なく、そのテーブルが開いているプロジェクトにまだ存在しないときは、プロジェクトに追加されます。 Analytics によってテーブル名があらかじめ設定されている場合は、その設定されている名前を受け入れることも、あるいは変更することもできます。 |
ローカル |
サーバー テーブルに接続している場合は、出力テーブルを保存する場所を指定します。
|
出力テーブルを開く | 操作の完了時に、出力結果を含んでいる Analytics テーブルを自動的に開くかどうかを指定します。 |
[詳細]タブ
オプション - [並べ替え]ダイアログ ボックス | 説明 |
---|---|
範囲パネル | 処理されるソース テーブルのレコードを指定します。
メモ "先頭" または "次" オプションで指定されたレコード数は、テーブル内の物理的な順番またはインデックス順のレコードを参照するもので、ビューに適用されたフィルターやクイック ソートは一切無視します。ただし、分析操作の結果ではすべてのフィルターを考慮します。 ビューでクイック ソートが実行されている場合、"次" は "先頭" のように動作します。 |
既存のファイルに追加する |
出力結果が既存の Analytics テーブルの最後に追加されることを指定します。 結果として生じる結合されたテーブルは、並べ替えられていないテーブルと見なされます。これは、並べ替えられたレコードを出力先テーブルの末尾に追加するときに、出力先テーブルの既存の並べ替え順が何も考慮されないからです。
メモ 出力結果と既存のテーブルの構造が同一であるかどうかが不確かな場合は、[既存のファイルに追加する]を選択解除されたままにしておくことをお勧めします。 追加およびデータ構造の詳細については、Analytics テーブルおよびテキスト ファイルへの結果の追加を参照してください。 |
OK | 処理を実行します。 上書きを確認するメッセージが表示されたら、適切なオプションを選択します。 [最後に追加]オプションが表示されることを期待していたのに表示されない場合は、[いいえ]をクリックして操作をキャンセルし、Analytics テーブルおよびテキスト ファイルへの結果の追加を参照してください。 |