レコードのインデックス付け

インデックスは、独立したインデックス ファイル(.inx ファイル)を作成します。このファイルによって、物理的な順序(つまり、未処理データの順序)ではなく、シーケンシャルな順序で Analytics テーブル内のレコードにアクセスできます。

インデックスは、テーブル内のデータを物理的に並べ替えません。ただし、テーブルのインデックスがアクティブであるときは、ビュー内のデータは、インデックスで指定された順序に従って並べ替えられ、分析は、この順序に基づいてデータを処理します。テーブルに複数のビューがある場合は、すべてのビューがアクティブなインデックスの対象になります。

インデックスがアクティブなときは、ステータス バーのレコード数の前に、「インデックス」という語が表示されます。たとえば、「インデックス レコード: 500」と表示されます。

インデックスがアクティブでないときは、ビュー内のレコードは元の物理的な順序に戻ります。Analytics テーブルを開くとき、既存のすべてのインデックスは、デフォルトで非アクティブになっています。

メモ

レコードの並べ替えは、インデックスを作成することの代替方法です。状況によっては、並べ替えがより良い選択となることがあります。詳細については以下を参照 並べ替えまたはインデックス

インデックスとフィールド型

演算フィールドや一時的に作成した式など、データ型に関係なく、あらゆる種類のフィールドのインデックスを作成することができます。

論理フィールドでのインデックスでは、[フィールド リストにフィルターを含める]を選択する必要があります([ツール > オプション > インターフェイス])。

単一テーブルの複数のインデックス

単一のテーブルに対して複数のインデックスを作成し、必要に応じてインデックス間を切り替えることができます。これは、データのセットを一次審査する場合に役立ちます。一度にアクティブにできるインデックスは 1 つだけです。

入れ子のインデックス

1 つのキー フィールドを使用してレコードのインデックスを作成することができます。また、複数のキー フィールド(主キー フィールド、副キー フィールドなど)を基にしてインデックスを作成し、入れ子のインデックス構成を作成することができます。

入れ子のインデックスでは、キー フィールド全体で昇順と降順が混在しても、データ型が混在してもかまいません。

昇順と降順が混在する入れ子のインデックス

並べ替えられていない取引テーブルで、日ごとの最大取引金額を表示できます。日付キー フィールドで昇順に、各日の金額キー フィールドで降順に、テーブルにインデックスを作成します。

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

インデックスは Analytics テーブルに制限されます

インデックスは Analytics テーブル、つまり、.fil ソース データ ファイルを持つテーブルに限定されています。ローカル ベースとサーバー ベースの Analytics テーブルは、.fil ファイルを持っている場合は、どちらもインデックスを作成できます。

データベース プロファイルを使用して接続しているデータベース テーブルのインデックスを作成することはできません。これらには .fil ファイルがありません。データは、データベースから直接読み取られます。このような状況でデータを順序付けるには、データベースへのアクセス時に、データ定義ウィザードで SQL の ORDER 句を使用することができます。

一部の Analytics コマンドに必要なインデックス

インデックスは、Analytics テーブルを検索するときに、[検索]ダイアログ ボックスで[文字検索]および[式検索]オプションを使用するための前提条件です(それぞれのオプションは、FIND コマンドと SEEK コマンドに相当します)。

次の場合にのみこれらのオプションを使用できます。

  • テーブルにインデックスが作成されている
  • インデックスが有効である
  • インデックスの主キー フィールドが昇順にインデックスが作成された文字フィールドである

テーブルには入れ子のインデックスを持つことができますが、検索されるのは主キー フィールドだけです。

条件付きインデックス

インデックスには、[If]、[先頭]、[次]、および[While]パラメーターを含めることができます。これらが指定されている場合、インデックスは条件付きインデックスになります。条件付きインデックスがアクティブなときは、条件に一致するレコードのみがインデックス付けされます。それらが表示されて、分析に利用できます。

手順

レコードのインデックス付け

アクティブなテーブルの 1 つまたは複数のキー フィールドによって、レコードをインデックス付けすることができます。また、その結果作成されるインデックスを利用して、元となるデータの物理的な順序に影響を与えることなく、一時的にレコードを並べ替えることができます。

インデックスを非アクティブにする

インデックスは、作成時、または作成後いつでもアクティブにすることができます。Analytics テーブルを開くとき、既存のすべてのインデックスは、デフォルトで非アクティブになっています。

インデックスの詳細の表示

インデックスの詳細(つまり、特定の Index コマンドの実際の構文)を表示することができます。コマンド構文には、キー フィールド、およびすべてのパラメーター、フィルター、式が含まれます。インデックスの詳細は、特定のインデックスがテーブル内のレコードをどのように処理するのかを明らかにします。

インデックスの管理

テーブル プロパティ]ダイアログ ボックスの[インデックス]タブで、インデックスのコピー、名前変更、または削除を行うことができます。また、ここでインデックスを追加することもできます。

Analytics 14.1 ヘルプ