順番検査

コンセプト情報

SEQUENCE コマンド

シーケンシャル順の検査([順番検査]オプション)を使用すると、データが既にソート済みであるか、またはインデックス付けされているかどうかを検証できます。また、特定の分析テストやデータの結合操作を実行する前に、並べ替えやインデックスの作成が必要であるかどうかを検証できます。

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 つ以上のフィールドを組み合わせて順番を検査する場合に、有効な結果を得るためには、検査対象とするフィールドを選択するとき、並べ替え順やインデックス順の優先順位と同じ順序で主キー フィールド、副キー フィールドというように選択する必要があります。また、各フィールドの並び順の方向、つまり昇順または降順も一致している必要があります。

入れ子の並べ替え順を検査した場合の有効な結果と無効な結果

次の例では、検査順序がネストされた並べ順と、日付および時刻キー フィールドの値の方向と一致するかどうかに基づいて、有効な結果と無効な結果を示しています。

日付

(主キー フィールドの昇順)

金額

(ネストされた副キー フィールドの降順)

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 を返します。

SEQUENCE ON Date Amount D

検査するフィールドと同じ優先順位および方向を使用しています。

無効な結果

順番検査エラー 2 を返します。

SEQUENCE ON Amount D Date

検査するフィールドと異なる優先順位を使用しています。Amount フィールドをネストされていないフィールドとして扱っています。

無効な結果

順番検査エラー 5 を返します。

SEQUENCE ON Date Amount

検査するフィールドのうちの 1 つが異なる方向を使用しています。Amount フィールドが昇順にソートされているものとして扱っています

手順

順番検査オプションを使用すると、アクティブなテーブル内の 1 つまたは複数のフィールドが順番どおりに並んでいるかどうかを確認したり、順序が正しくない項目を識別したりすることができます。

メモ

現在アクティブなテーブルにクイック ソートが適用されていないことを確認してください。順番検査で有効な結果を提供するためには、元となる Analytics テーブルの実際の物理的な順序でビューが表示されている必要があります。