順番検査
シーケンシャル順の検査([順番検査]オプション)を使用すると、データが既にソート済みであるか、またはインデックス付けされているかどうかを検証できます。また、特定の分析テストやデータの結合操作を実行する前に、並べ替えやインデックスの作成が必要であるかどうかを検証できます。
Analytics のいくつかのテストや操作では、結果を有効なものにするため、また操作を正常に実行するために、データが順番どおりに並んでいることを要求します。不必要にテーブルをソートしたりインデックス付けしたりする代わりに、それらの操作が必要であるかどうかを調べるために、最初に検査することができます。特に大きなテーブルでは、並べ替えにかなりの時間とシステム リソースを要することがあるため、最初に検査することは時間の節約になります。
文字、数値、日付時刻、または演算フィールドの順番を検査できます。また、データが 2 つ以上のフィールドによって並べ替えられたり、インデックス付けされたりしている場合は、複数のフィールドやデータ型を組み合わせて検査することができます。
メモ
順番に並べられたデータは、データにギャップがないということではありません。たとえば、番号 1、3、5 は順番に並べられています。ギャップのテストは別の操作です。詳細については、ギャップの検査を参照してください。
レコードを並べ替えない順番検査
順番検査は、レコードを順番どおりに並べたり、並べ替えたりしません。いかなる方法でも、検査するテーブル内のレコードの並び順を変えることはありません。テーブル内の指定されたフィールドが、現在順番どおりに並んでいるかどうかを検証し、順番の誤りをすべて報告します。レコードを並べ替えるには並べ替え操作を、レコードを順番どおりに並べるにはインデックスの作成操作を別々に実行する必要があります。
順番が正しくない項目の検査
また、順番検査では、順番どおりに並んでいることが要求される請求書番号や小切手番号などのデータ内で、順序が正しくない項目を識別することができます。これは不正行為の可能性を示しています。たとえば、特定の業者の請求書データを請求日順に並べ替え、その後、請求書番号の順番を検査することができます。順序が正しくない請求書番号は、詳細な調査を必要とするかもしれません。
文字データの検査の並べ順
文字フィールドの順番は、[並べ替え順]オプション([ ])で文字データに指定されている並べ替え順に対して検査されます。設定を変更していない限り、通常は、デフォルトの並べ替え順が指定されます(0,1,2... A,B,C...)。非 Unicode 版の Analytics には、並べ替えにいくつかの微妙な違いがあります。たとえば、デフォルトの並べ替え順は、大文字のすべての英文字が小文字のすべての英文字より前に並べ替えられるように指示します。
順番検査エラーが報告される方法
順番検査は、列の最初の値を 2 番目の値と比較し、2 番目の値を 3 番目の値と、というように、列を下へ進みながらペアとなる値を比較していきます。値のペアが順番を途切れさせると、順番検査エラーが報告されます。
途切れた後、あらためて順番が開始され、2 番目のペアとなる値を新しい開始点として使用します。この中断点の後にある値を中断点の前の値と比較した場合に、順序どおりになっていなくても、それらは報告されません。たとえば、次のような値の列を昇順として検査した場合、Analytics は 2 個の順番検査エラー(4、1)を報告します。5 個(4、4、5、1、2)ではありません。
1 3 6 4 順番検査エラー 4 5 6 9 1 順番検査エラー 2
入れ子になっている並べ替え順の検査
2 つ以上のフィールドを組み合わせて順番を検査する場合に、有効な結果を得るためには、検査対象とするフィールドを選択するとき、並べ替え順やインデックス順の優先順位と同じ順序で主キー フィールド、副キー フィールドというように選択する必要があります。また、各フィールドの並び順の方向、つまり昇順または降順も一致している必要があります。
入れ子の並べ替え順を検査した場合の有効な結果と無効な結果
次の例では、優先順位の順序と並べ替えまたはインデックス キー フィールドの方向と一致するかどうかに基づいて、有効な結果と無効な結果を示しています。
Date フィールド (昇順) |
Amount フィールド (降順、入れ子) |
順番検査の対象 Date Amount D |
順番検査の対象 Amount D Date |
順番検査の対象 Date Amount |
---|---|---|---|---|
15 Jan 2011 15 Jan 2011 15 Jan 2011 16 Jan 2011 16 Jan 2011 17 Jan 2011 17 Jan 2011 17 Jan 2011 |
$2300.00 $1200.00 $600.00 $900.00 $100.00 $4700.00 $900.00 $500.00 |
0 個の順番検査エラーが検出されました 有効な結果 – 検査するフィールドと同じ優先順位および方向を使用しています |
2 個の順番検査エラーが検出されました 無効な結果 – 検査するフィールドと異なる優先順位を使用しています。Amount フィールドを入れ子になっていないものとして扱っています |
5 個の順番検査エラーが検出されました 無効な結果 – 検査するフィールドのうちの 1 つが異なる方向を使用しています。Amount フィールドが昇順にソートされているものとして扱っています |
|
|
手順
順番検査オプションを使用すると、アクティブなテーブル内の 1 つまたは複数のフィールドが順番どおりに並んでいるかどうかを確認したり、順序が正しくない項目を識別したりすることができます。
メモ
現在アクティブなテーブルにクイック ソートが適用されていないことを確認してください。順番検査で有効な結果を提供するためには、元となる Analytics テーブルの実際の物理的な順序でビューが表示されている必要があります。
- [メイン]タブで、次のいずれかを行います。
[順番検査の対象]リストから、検査の対象となるフィールドを選択します。
[順番検査の対象]をクリックして、フィールドを選択するか、または式を作成します。
複数のフィールドを選択する場合、フィールドを選択する順序が検査する優先度を示します。最初に選択したフィールドについてレコードが検査されます。その最初のフィールドに、同じ値が連続して複数存在してる場合は、そのグループ内のレコードが 2 番目に選択したフィールドで検査される、というようになります。複数のフィールドを選択していない場合は、グループ内のレコードは、どの二次検査の対象にもなりません。
メモ
複数のフィールドで並べ替えまたはインデックス付けされている(入れ子の並べ替えまたはインデックス付け)テーブルを検査している場合、結果を有効なものにするには、検査する優先順位が、並べ替えやインデックスの優先順位(主キー フィールド、副キー フィールドなど)と一致している必要があります。
フィールドを選択する順序が、結果に表示する列の順序になります。
- [順番検査の対象]をクリックした場合は、任意で並べ替えの矢印 (デフォルトは昇順)をクリックすることにより、1 つまたは複数の選択したフィールドを降順にするよう指定することができます。
メモ
以前に並べ替えまたはインデックス付けされているフィールドを検査する場合、結果を有効なものにするには、指定する並べ替え順の方向、つまり昇順または降順が、検査するフィールドの方向と一致している必要があります。
-
現在のビューの中に処理から除外したいレコードがある場合は、[If]テキスト ボックスに条件を指定します。直接入力するか、または[If]ボタンをクリックし、式ビルダーを利用して IF ステートメントを作成します。
メモ
If 条件は、任意の範囲オプション(First、Next、While)が適用された後に、テーブルに残るレコードに対してのみ評価されます。
IF ステートメントは、ビュー内のすべてのレコードを判断し、指定された条件を満たさないレコードを除外します。
- [出力]タブをクリックします。
- [出力先]パネルで、適切な出力オプションを選択します。
- 画面 – Analytics の表示領域に結果を表示するには、このオプションを選択します。出力レコードに多数のレコードが含まれている場合は、結果を画面に表示するよりファイルに保存した方が、処理が速く便利です。
- 印刷 – デフォルトのプリンターに結果を送信するには、このオプションを選択します。
- グラフ – 結果を基にグラフを作成し、それを Analytics 表示領域に表示するには、このオプションを選択します。
- ファイル – 結果をテキスト ファイルに保存または追加するには、このオプションを選択します。ファイルは Analytics の外部に保存されます。
メモ
当該の分析操作に対して適用されない出力オプションは無効になります。
- 出力の種類として[ファイル]を選択した場合は、[出力指定]パネルで次の情報を指定します。
- ファイルの種類 – オプションは、使用している Analytics のエディションに応じて、"ASCII テキスト ファイル" または "Unicode テキスト ファイル" のいずれかのみです。結果を新しいテキスト ファイルに保存するか、または既存のテキスト ファイルに追加します。
- 名前 – [名前]テキスト ボックスにファイル名を入力します。もしくは、[名前]ボタンをクリックして、[保存]または[ファイルを保存する名前]ダイアログ ボックスでファイル名を入力するか、既存のファイルに上書きまたは追加する場合はそのファイルを選択します。Analytics によってファイル名があらかじめ設定されている場合は、その設定されている名前を受け入れることも、あるいは変更することもできます。
また、絶対ファイル パスや相対ファイル パスを指定したり、別のフォルダーへ移動したり、プロジェクトの場所以外の場所にファイルを保存したり、その場所にあるファイルに追加したりすることもできます。たとえば、C:\Results\Output.txt または Results\Output.txt のように指定します。
- ローカル – 選択された状態で無効になっています。ファイルをローカルに保存するのが唯一のオプションです。
- 出力の種類によっては、任意で[ヘッダー]および[フッター]をそれぞれのテキスト ボックスに指定できます。
デフォルトでは、ヘッダーとフッターは中央揃えで出力されます。ヘッダー テキストやフッター テキストを左揃えにするには、テキストの前に始め山かっこ(<)を入力します。複数行のヘッダーやフッターを入力する場合は、[ヘッダー]または[フッター]ボタンをクリックします。あるいは、ヘッダーまたはフッターのテキスト ボックスで、改行文字としてセミコロン(;)を入力してもかまいません。複数行を左揃えにするには、各行の先頭に始め山かっこが必要です。
- [詳細]タブをクリックします。
- [適用範囲]パネルで、適切な出力オプションを選択します。
- すべて – デフォルトで、このオプションが選択されます。ビュー内のすべてのレコードを処理するように指定するには、選択されたままにしておきます。
- 先頭 – このオプションを選択してテキスト ボックスに数を入力すると、ビュー内の先頭レコードから処理が開始され、指定した件数のレコードのみが処理対象とされます。
- 次 – このオプションを選択してテキスト ボックスに数を入力すると、ビュー内で現在選択されているレコードから処理が開始され、指定した件数のレコードのみが処理対象とされます。行内のデータではなく、左端の列の実際のレコード番号が選択されている必要があります。
- While – WHILE ステートメントを使用して、特定の条件または条件のセットに基づいてビュー内のレコードの処理を制限するには、このオプションを選択します。[While]テキスト ボックスに条件を入力するか、または[While]ボタンをクリックし、式ビルダーを利用して WHILE ステートメントを作成することができます。
WHILE ステートメントでは、指定した条件が true と評価される間のみ、ビュー内のレコードを処理することができます。条件が false と評価されるとすぐに処理が終了し、それ以上レコードは判断されません。While オプションは、"すべて"、"先頭"、または "次" オプションと組み合わせて使用することができます。1 つの制限に達するとすぐに、レコードの処理が停止します。
メモ
"先頭" または "次" オプションで指定されたレコード数は、テーブル内の物理的な順番またはインデックス順のレコードを参照するもので、ビューに適用されたフィルターやクイック ソートは一切無視します。ただし、分析操作の結果ではすべてのフィルターを考慮します。
ビューでクイック ソートが実行されている場合、"次" は "先頭" のように動作します。
- [エラー制限]テキスト ボックスで、列挙する順序どおりでない項目の最大数を指定するか、またはデフォルトの 10 のままにしておきます。
制限に達すると、Analytics によって処理が停止され、その時点までの順序どおりでない項目が出力されます。[エラー制限]の数は、検査されるすべてのフィールドでのエラーの合計数に適用されます。フィールドごとの制限ではありません。
- 出力の種類として[ファイル]を選択した場合、出力結果を既存のテキスト ファイルの末尾に追加するときは、[既存のファイルに追加する]を選択します。
- [OK]をクリックします。
- 上書きを確認するメッセージが表示されたら、適切なオプションを選択します。