(57)【特許請求の範囲】
【請求項１】
データセットの複数の要素の各要素の１又は２以上のフィールドに含まれるデータの妥当性を検証するための１又は２以上の妥当性検証規則を指定するためのユーザーインターフェイスを表示可能なコンピューティングシステムであって、
前記コンピューティングシステムが、
（１）前記妥当性検証規則が適用される前記データセットの複数の要素のうちの１つの要素のそれぞれのフィールドにおけるデータ値と、（２）第１の軸及び第２の軸を有する２次元グリッドに配列された複数のセルとを備える前記ユーザーインターフェイスを描画するように構成されたユーザインターフェースモジュールであって、前記２次元グリッドが、
前記２次元グリッドの前記第１の軸に沿った方向に延伸した前記セルの１又は２以上のサブセットであって、それぞれのサブセットが前記データセットの前記複数の要素のうちの１つの要素のそれぞれのフィールドに関連付けられる、１又は２以上のサブセット、及び
前記２次元グリッドの前記第２の軸に沿った方向に延伸した前記セルの複数のサブセットであって、その１又は２以上がそれぞれの妥当性検証規則に関連付けられる、複数のサブセットを含む、前記ユーザインターフェースモジュールと、
前記セルの少なくともいくつかのセルから受け取られたユーザ入力に基づいて前記データセットの少なくとも１つの要素に妥当性検証規則を適用するように構成された処理モジュールとを含み、
フィールド及び妥当性検証規則に関連する少なくともいくつかのセルが、それぞれ、
関連する妥当性検証規則が関連するフィールドに適用されるか否かを判定する入力を受け取るための入力要素、及び
前記要素の前記関連するフィールドに含まれるデータに前記関連する妥当性検証規則を適用することに基づく妥当性検証結果に関連するフィードバックを示すためのインジケータを含む、前記コンピューティングシステム。
【請求項２】
第１の要素の第１のフィールドに含まれるデータに妥当性検証規則を適用することが、
セルの入力要素において受け取られた任意の入力に基づいて、前記第１の要素の前記第１のフィールドに関連する第１の軸に沿った方向に延伸したセルのサブセットからの前記セルに関連する任意の選択された妥当性検証規則を決定することと、
前記選択された妥当性検証規則に基づいて前記第１の要素の前記第１のフィールドに含まれる前記データに関する妥当性検証結果を決定することとを含む、請求項１に記載のシステム。
【請求項３】
第１の軸に沿った方向に延伸したセルの１又は２以上のサブセットが、セルの行である、請求項１に記載のシステム。
【請求項４】
第２の軸に沿った方向に延伸したセルの複数のサブセットが、セルの列である、請求項１に記載のシステム。
【請求項５】
入力要素が、１又は２以上の妥当性検証規則パラメータを指定する入力を受け取るように構成される、請求項１に記載のシステム。
【請求項６】
妥当性検証規則のうちの１又は２以上が、評価されるときに、少なくとも２つの妥当性検証結果のセットの妥当性検証結果を生じ、前記妥当性検証結果が、妥当な結果及び妥当でない結果を含む、請求項１に記載のシステム。
【請求項７】
セルの少なくともいくつかのセルに含まれるフィードバックを示すためのインジケータが、妥当性検証結果が妥当でない結果である場合にセルに網かけを適用するように構成される、請求項６に記載のシステム。
【請求項８】
入力要素が、妥当性検証規則パラメータのそれぞれの正しさを判定するようにさらに構成される、請求項５に記載のシステム。
【請求項９】
フィールド及び妥当性検証規則に関連する少なくともいくつかのセルが、それぞれ、前記セルに関連する妥当性検証規則パラメータの正しさを判定した結果を表示するための第２のインジケータを含む、請求項８に記載のシステム。
【請求項１０】
フィードバックを示すためのインジケータが、妥当でない結果の数を表示するように構成される数値インジケータを含み、妥当でない結果の前記数が、データセットの要素のすべてに関する関連するフィールドに含まれるデータに関連する妥当性検証規則を適用することによって決定される、請求項１に記載のシステム。
【請求項１１】
データセットが、データベースの１又は２以上のテーブルを含み、前記データセットの要素が、データベースのレコードを含む、請求項１に記載のシステム。
【請求項１２】
妥当性検証規則のうちの１又は２以上が、ユーザによって定義される、請求項１に記載のシステム。
【請求項１３】
妥当性検証規則のうちの１又は２以上が、予め定義される、請求項１に記載のシステム。
【請求項１４】
２次元グリッドの第２の軸に沿った方向に延伸したセルの複数のサブセットのうちの１又は２以上が、第１の妥当性検証規則に関連する第１のセル及び第２の妥当性検証規則に関連する第２のセルを含み、前記第２の妥当性検証規則が、前記第１の妥当性検証規則とは異なる、請求項１に記載のシステム。
【請求項１５】
２次元グリッドの第２の軸に沿った方向に延伸したセルの複数のサブセットのうちの１又は２以上が、既存の値に適用された妥当性検証規則のうちの１つに関する妥当でない結果に応じて対応するフィールドの前記既存の値を置き換えるための値を受け取るための入力要素を含むセルのサブセットを含む、請求項１に記載のシステム。
【請求項１６】
２次元グリッドの第２の軸に沿った方向に延伸したセルの複数のサブセットのうちの１又は２以上が、除外される値が対応するフィールドに表示されることが妥当性検証規則が既存の値に適用されることを防止する結果となるように、前記除外される値を受け取るための入力要素を含むセルのサブセットを含む、請求項１に記載のシステム。
【請求項１７】
データセットの複数の要素の各要素の１又は２以上のフィールドに含まれるデータの妥当性を検証するための１又は２以上の妥当性検証規則を指定するためのユーザーインターフェイスを表示可能なコンピューティングシステムであって、
前記コンピューティングシステムが、
（１）前記妥当性検証規則が適用される前記データセットの複数の要素のうちの１つの要素のそれぞれのフィールドにおけるデータ値と、（２）第１の軸及び第２の軸を有する２次元グリッドに配列された複数のセルとを備える前記ユーザーインターフェイスを描画するための手段であって、前記２次元グリッドが、
前記２次元グリッドの前記第１の軸に沿った方向に延伸した前記セルの１又は２以上のサブセットであって、それぞれのサブセットが前記データセットの前記複数の要素のうちの１つの要素のそれぞれのフィールドに関連付けられる、１又は２以上のサブセット、及び
前記２次元グリッドの前記第２の軸に沿った方向に延伸した前記セルの複数のサブセットであって、その１又は２以上がそれぞれの妥当性検証規則に関連付けられる、複数のサブセットを含む、前記描画するための手段と、
前記セルの少なくともいくつかのセルから受け取られたユーザ入力に基づいて前記データセットの少なくとも１つの要素に妥当性検証規則を適用するための手段とを含み、
フィールド及び妥当性検証規則に関連する少なくともいくつかのセルが、それぞれ、
関連する妥当性検証規則が関連するフィールドに適用されるか否かを判定する入力を受け取るための入力要素、及び
前記要素の前記関連するフィールドに含まれるデータに前記関連する妥当性検証規則を適用することに基づく妥当性検証結果に関連するフィードバックを示すためのインジケータを含む、前記コンピューティングシステム。
【請求項１８】
データセットの複数の要素の各要素の１又は２以上のフィールドに含まれるデータの妥当性を検証するための１又は２以上の妥当性検証規則を指定するための方法であって、
ユーザインターフェースモジュールによって、（１）前記妥当性検証規則が適用される前記データセットの複数の要素のうちの１つの要素のそれぞれのフィールドにおけるデータ値と、（２）第１の軸及び第２の軸を有する２次元グリッドに配列された複数のセルとを備えるユーザーインターフェイスを描画するステップであって、前記２次元グリッドが、
前記２次元グリッドの前記第１の軸に沿った方向に延伸した前記セルの１又は２以上のサブセットであって、それぞれのサブセットが前記データセットの前記複数の要素のうちの１つの要素のそれぞれのフィールドに関連付けられる、１又は２以上のサブセット、及び
前記２次元グリッドの前記第２の軸に沿った方向に延伸した前記セルの複数のサブセットであって、その１又は２以上がそれぞれの妥当性検証規則に関連付けられる、複数のサブセットを含む、前記描画するステップと、
少なくとも１つのプロセッサによって、前記セルの少なくともいくつかのセルから受け取られたユーザ入力に基づいて前記データセットの少なくとも１つの要素に妥当性検証規則を適用するステップとを含み、
フィールド及び妥当性検証規則に関連する少なくともいくつかのセルが、それぞれ、
関連する妥当性検証規則が関連するフィールドに適用されるか否かを判定する入力を受け取るための入力要素、及び
前記要素の前記関連するフィールドに含まれるデータに前記関連する妥当性検証規則を適用することに基づく妥当性検証結果に関連するフィードバックを示すためのインジケータを含む、前記方法。
【請求項１９】
データセットの複数の要素の各要素の１又は２以上のフィールドに含まれるデータの妥当性を検証するための１又は２以上の妥当性検証規則を指定するための、コンピュータ可読ストレージ媒体に記憶されたコンピュータプログラムであって、ユーザーインターフェイスを表示可能なコンピュータシステムに、
（１）前記妥当性検証規則が適用される前記データセットの複数の要素のうちの１つの要素のそれぞれのフィールドにおけるデータ値と、（２）第１の軸及び第２の軸を有する２次元グリッドに配置された複数のセルとを備える前記ユーザーインターフェイスを描画することであって、前記２次元グリッドが、
前記２次元グリッドの前記第１の軸に沿った方向に延伸した前記セルの１又は２以上のサブセットであって、それぞれのサブセットが前記データセットの前記複数の要素のうちの１つの要素のそれぞれのフィールドに関連付けられる、１又は２以上のサブセット、及び
前記２次元グリッドの前記第２の軸に沿った方向に延伸した前記セルの複数のサブセットであって、その１又は２以上がそれぞれの妥当性検証規則に関連付けられる、複数のサブセットを含む、前記描画することと、
前記セルの少なくともいくつかのセルから受け取られたユーザ入力に基づいて前記データセットの少なくとも１つの要素に妥当性検証規則を適用することとを実行させるための命令を含み、
フィールド及び妥当性検証規則に関連する少なくともいくつかのセルが、それぞれ、
関連する妥当性検証規則が関連するフィールドに適用されるか否かを判定する入力を受け取るための入力要素、及び
前記要素の前記関連するフィールドに含まれるデータに前記関連する妥当性検証規則を適用することに基づく妥当性検証結果に関連するフィードバックを示すためのインジケータを含む、前記コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照により本明細書に組み込まれている、２０１２年１０月１７日に出願した米国特許出願第１３／６５３，９９５号の優先権を主張するものである。
【０００２】
本明細書は、データに対する規則の指定及び適用に関する。
【背景技術】
【０００３】
ビジネスアプリケーションを含む多くの最近のアプリケーションは、さまざまなソースから集められる可能性があるデータの大きな組（すなわち、「データセット」）を処理する。データセットにデータを提供するさまざまなソースは、異なるレベルのデータ品質を有する可能性がある。アプリケーションが適切に機能することを保証するために、データセットの適切なレベルのデータ品質が維持されるべきである。適切なレベルのデータ品質を維持するために、データセットを、データ妥当性検証システムによって処理することができる。そのようなシステムは、データセットがアプリケーションに提供される前にそのデータセットに妥当性検証規則を適用する。一部の例において、データ妥当性検証システムは、妥当性検証規則の結果を用いてデータ品質の測定値を計算し、データ品質の測定値が予め決められた閾値未満になる場合、アプリケーションの管理者に警告する。その他の例において、データ妥当性検証システムは、妥当性検証規則のうちの１又は２以上に反するデータを取り扱うためのモジュールを含む。例えば、データ妥当性検証システムは、妥当性検証規則のうちの１又は２以上に反するデータを破棄又は修復することができる。
【０００４】
概して、データ妥当性検証システムによって適用される妥当性検証規則は、データ妥当性検証システムの管理者によって定義される。
【発明の概要】
【課題を解決するための手段】
【０００５】
一態様においては、概して、コンピューティングシステムは、データセットの複数の要素の各要素の１又は２以上のフィールドに含まれるデータの妥当性を検証するための１又は２以上の妥当性検証規則を指定する。コンピューティングシステムは、第１の軸及び第２の軸を有する２次元グリッドに配置された複数のセルを描画するように構成されたユーザインターフェースモジュールを含む。２次元グリッドは、２次元グリッドの第１の軸に沿った方向に延伸したセルの１又は２以上のサブセットであって、１又は２以上のサブセットのそれぞれのサブセットがデータセットの複数の要素のうちの１つの要素のそれぞれのフィールドに関連付けられる、１又は２以上のサブセット、及び２次元グリッドの第２の軸に沿った方向に延伸したセルの複数のサブセットであって、複数のサブセットのうちの１又は２以上がそれぞれの妥当性検証規則に関連付けられる、複数のサブセットを含む。コンピューティングシステムは、セルの少なくともいくつかのセルから受け取られたユーザ入力に基づいてデータセットの少なくとも１つの要素に妥当性検証規則を適用するように構成された処理モジュールも含む。一部の実施形態においては、フィールド及び妥当性検証規則に関連する少なくともいくつかのセルが、それぞれ、関連する妥当性検証規則が関連するフィールドに適用されるか否かを判定する入力を受け取るための入力要素を含む。一部の実施形態においては、フィールド及び妥当性検証規則に関連する少なくともいくつかのセルが、それぞれ、要素の関連するフィールドに含まれるデータに関連する妥当性検証規則を適用することに基づく妥当性検証結果に関連するフィードバックを示すためのインジケータを含む。
【０００６】
態様は、以下の特徴のうちの１又は２以上を含み得る。
【０００７】
第１の要素の第１のフィールドに含まれるデータに妥当性検証規則を適用することは、セルの入力要素において受け取られた任意の入力に基づいて、第１の要素の第１のフィールドに関連する第１の軸に沿った方向に延伸したセルのサブセットからのセルに関連する任意の選択された妥当性検証規則を決定することと、選択された妥当性検証規則に基づいて第１の要素の第１のフィールドに含まれるデータに関する妥当性検証結果を決定することとを含む。
【０００８】
第１の軸に沿った方向に延伸したセルの１又は２以上のサブセットは、セルの行である。
【０００９】
第２の軸に沿った方向に延伸したセルの複数のサブセットは、セルの列である。
【００１０】
入力要素は、１又は２以上の妥当性検証規則パラメータを指定する入力を受け取るように構成される。
【００１１】
妥当性検証規則のうちの１又は２以上は、評価されるときに、少なくとも２つの妥当性検証結果の組のうちの妥当性検証結果を生じ、妥当性検証結果は、妥当な結果及び妥当でない結果を含む。
【００１２】
セルの少なくともいくつかのセルに含まれるフィードバックを示すためのインジケータは、妥当性検証結果が妥当でない結果である場合にセルに網かけ（shade）を適用するように構成される。
【００１３】
入力要素は、妥当性検証規則パラメータのそれぞれの正しさを判定するようにさらに構成される。
【００１４】
フィールド及び妥当性検証規則に関連する少なくともいくつかのセルは、それぞれ、セルに関連する妥当性検証規則パラメータの正しさを判定した結果を表示するための第２のインジケータを含む。
【００１５】
フィードバックを示すためのインジケータは、妥当でない結果の数を表示するように構成される数値インジケータを含み、妥当でない結果の数は、データセットの要素のすべてに関する関連するフィールドに含まれるデータに関連する妥当性検証規則を適用することによって決定される。
【００１６】
データセットは、データベースの１又は２以上のテーブルを含み、データセットの要素は、データベースのレコードを含む。
【００１７】
妥当性検証規則のうちの１又は２以上は、ユーザによって定義される。
【００１８】
妥当性検証規則のうちの１又は２以上は、予め定義される。
【００１９】
２次元グリッドの第２の軸に沿った方向に延伸したセルの複数のサブセットのうちの１又は２以上は、第１の妥当性検証規則に関連する第１のセル及び第２の妥当性検証規則に関連する第２のセルを含み、第２の妥当性検証規則は、第１の妥当性検証規則とは異なる。
【００２０】
２次元グリッドの第２の軸に沿った方向に延伸したセルの複数のサブセットのうちの１又は２以上は、既存の値に適用された妥当性検証規則のうちの１つに関する妥当でない結果に応じて対応するフィールドの既存の値を置き換えるための値を受け取るための入力要素を含むセルのサブセットを含む。
【００２１】
２次元グリッドの第２の軸に沿った方向に延伸したセルの複数のサブセットのうちの１又は２以上は、除外される値が対応するフィールドに表示されることが妥当性検証規則が既存の値に適用されることを防止する結果となるように、除外される値を受け取るための入力要素を含むセルのサブセットを含む。
【００２２】
別の態様においては、概して、コンピューティングシステムが、データセットの複数の要素の各要素の１又は２以上のフィールドに含まれるデータの妥当性を検証するための１又は２以上の妥当性検証規則を指定する。コンピューティングシステムは、第１の軸及び第２の軸を有する２次元グリッドに配置された複数のセルを描画するための手段を含む。２次元グリッドは、２次元グリッドの第１の軸に沿った方向に延伸したセルの１又は２以上のサブセットであって、１又は２以上のサブセットのそれぞれのサブセットがデータセットの複数の要素のうちの１つの要素のそれぞれのフィールドに関連付けられる、１又は２以上のサブセット、及び２次元グリッドの第２の軸に沿った方向に延伸したセルの複数のサブセットであって、複数のサブセットのうちの１又は２以上がそれぞれの妥当性検証規則に関連付けられる、複数のサブセットを含む。コンピューティングシステムは、セルの少なくともいくつかのセルから受け取られたユーザ入力に基づいてデータセットの少なくとも１つの要素に妥当性検証規則を適用するための手段も含む。一部の実施形態においては、フィールド及び妥当性検証規則に関連する少なくともいくつかのセルが、それぞれ、関連する妥当性検証規則が関連するフィールドに適用されるか否かを判定する入力を受け取るための入力要素を含む。一部の実施形態においては、フィールド及び妥当性検証規則に関連する少なくともいくつかのセルが、それぞれ、要素の関連するフィールドに含まれるデータに関連する妥当性検証規則を適用することに基づく妥当性検証結果に関連するフィードバックを示すためのインジケータを含む。
【００２３】
別の態様においては、方法は、データセットの複数の要素の各要素の１又は２以上のフィールドに含まれるデータの妥当性を検証するための１又は２以上の妥当性検証規則を指定する。方法は、ユーザインターフェースモジュールによって、第１の軸及び第２の軸を有する２次元グリッドに配置された複数のセルを描画するステップを含む。２次元グリッドは、２次元グリッドの第１の軸に沿った方向に延伸したセルの１又は２以上のサブセットであって、１又は２以上のサブセットのそれぞれのサブセットがデータセットの複数の要素のうちの１つの要素のそれぞれのフィールドに関連付けられる、１又は２以上のサブセット、及び２次元グリッドの第２の軸に沿った方向に延伸したセルの複数のサブセットであって、複数のサブセットのうちの１又は２以上がそれぞれの妥当性検証規則に関連付けられる、複数のサブセットを含む。方法は、少なくとも１つのプロセッサによって、セルの少なくともいくつかのセルから受け取られたユーザ入力に基づいてデータセットの少なくとも１つの要素に妥当性検証規則を適用するステップも含む。一部の実施形態においては、フィールド及び妥当性検証規則に関連する少なくともいくつかのセルが、それぞれ、関連する妥当性検証規則が関連するフィールドに適用されるか否かを判定する入力を受け取るための入力要素を含む。一部の実施形態においては、フィールド及び妥当性検証規則に関連する少なくともいくつかのセルが、それぞれ、要素の関連するフィールドに含まれるデータに関連する妥当性検証規則を適用することに基づく妥当性検証結果に関連するフィードバックを示すためのインジケータを含む。
【００２４】
別の態様においては、概して、コンピュータ可読ストレージ媒体に記憶されたコンピュータプログラムが、データセットの複数の要素の各要素の１又は２以上のフィールドに含まれるデータの妥当性を検証するための１又は２以上の妥当性検証規則を指定する。コンピュータプログラムは、コンピュータシステムに、第１の軸及び第２の軸を有する２次元グリッドに配置された複数のセルを描画させるための命令を含む。２次元グリッドは、２次元グリッドの第１の軸に沿った方向に延伸したセルの１又は２以上のサブセットであって、１又は２以上のサブセットのそれぞれのサブセットがデータセットの複数の要素のうちの１つの要素のそれぞれのフィールドに関連付けられる、１又は２以上のサブセット、及び２次元グリッドの第２の軸に沿った方向に延伸したセルの複数のサブセットであって、複数のサブセットのうちの１又は２以上がそれぞれの妥当性検証規則に関連付けられる、複数のサブセットを含む。コンピュータプログラムは、コンピュータシステムに、セルの少なくともいくつかのセルから受け取られたユーザ入力に基づいてデータセットの少なくとも１つの要素に妥当性検証規則を適用させるための命令も含む。一部の実施形態においては、フィールド及び妥当性検証規則に関連する少なくともいくつかのセルが、それぞれ、関連する妥当性検証規則が関連するフィールドに適用されるか否かを判定する入力を受け取るための入力要素を含む。一部の実施形態においては、フィールド及び妥当性検証規則に関連する少なくともいくつかのセルが、それぞれ、要素の関連するフィールドに含まれるデータに関連する妥当性検証規則を適用することに基づく妥当性検証結果に関連するフィードバックを示すためのインジケータを含む。
【００２５】
態様は、以下の利点のうちの１又は２以上を有する場合がある。
【００２６】
利点の中でもとりわけ、ユーザインターフェースは、規則が入力されるとき、データセットの単一のデータ要素に規則を適用した結果のライブフィードバックを提供することができる。このようにして、ユーザは、データセット全体に規則を適用する（潜在的に時間のかかるプロセス）必要なしにそれらの規則の有効性をテストすることができる。
【００２７】
ユーザインターフェースは、ユーザがデータセットに対して指定された規則を実行し、データセット全体に対する指定された規則のそれぞれの実行に関するフィードバックを受け取ることを可能にする。そして、ユーザは、ユーザの期待にそぐわない指定された規則のいずれかを修正する機会を得る。
【００２８】
ユーザインターフェースは、ユーザが規則を迅速且つ直感的に指定及び修正することを可能にし、時間及びリソースを節約する。
【００２９】
本発明のその他の特徴及び利点は、以下の説明及び請求項から明らかになるであろう。
【図面の簡単な説明】
【００３０】
【図１】データの妥当性を検証するための妥当性検証規則を指定するためのシステムのブロック図である。
【図２】データの妥当性を検証するための妥当性検証規則を指定するためのユーザインターフェースの図である。
【図３】妥当性検証規則を指定するためのユーザインターフェースのスクリーンキャプチャの図である。
【発明を実施するための形態】
【００３１】
図１は、妥当性検証方法が使用され得る例示的なデータ処理システム１００を示す。データ処理システム１００は、ストレージデバイス、又はオンラインデータストリームへの接続などのデータの１又は２以上のソースを含み得るデータソース１０２を含み、それらの１又は２以上のソースのそれぞれは、さまざまな記憶フォーマット（例えば、データベーステーブル、スプレッドシートファイル、フラットテキストファイル、又はメインフレームによって使用されるネイティブフォーマット）のいずれかでデータ（「データセット」と呼ばれる場合がある）を記憶し得る。実行環境１０４は、ユーザインターフェース（ＵＩ，user interface）モジュール１０６及び処理モジュール１０８を含む。ＵＩモジュール１０６は、データソース１０２からのデータを処理するために処理モジュール１０８によって使用される妥当性検証規則を指定するための、ユーザインターフェース１１２（例えば、ディスプレイスクリーン上のグラフィカルな表示）を介してユーザ１１０から受け取られる入力を管理する。
【００３２】
実行環境１０４は、ＵＮＩＸオペレーティングシステムなどの好適なオペレーティングシステムの制御の下で１又は２以上の多目的コンピュータでホストされてもよい。例えば、実行環境１０４は、ローカルの（例えば、ＳＭＰコンピュータなどのマルチプロセッサシステム）、又はローカルに分散された（例えば、クラスタ若しくはＭＰＰとして接続された複数のプロセッサ）、又はリモートの、又はリモートに分散された（例えば、ローカルエリアネットワーク（ＬＡＮ，local area network）及び／若しくは広域ネットワーク（ＷＡＮ，wide-area network）を介して接続された複数のプロセッサ）、或いはそれらの任意の組み合わせのいずれかの複数の中央演算処理装置（ＣＰＵ，central processing unit）を用いるコンピュータシステムの構成を含むマルチノード並列コンピューティング環境を含み得る。
【００３３】
処理モジュール１０８は、データソース１０２からデータを読み取り、ＵＩモジュール１０６によって取得された妥当性検証情報に基づいて妥当性検証手順を実行する。データソース１０２を提供するストレージデバイスは、実行環境１０４のローカルにあってもよく、例えば、実行環境１０４を実行するコンピュータに接続されたストレージ媒体（例えば、ハードドライブ１１４）に記憶され、又は実行環境１０４のリモートにあってもよく、例えば、リモート接続を介して実行環境１０４を実行するコンピュータと通信するリモートシステム（例えば、メインフレーム１１６）でホストされる。
【００３４】
概して、データソース１０２からアクセスされるデータセットは、いくつかのデータ要素（例えば、予め決められたレコード構造にしたがってフォーマットされたレコード、又はデータベーステーブルの行）を含む。いくつかのデータ要素のそれぞれの要素は、場合によってはヌル（ゼロ）又は空値を含むいくつかのフィールド（例えば、レコード構造内で定義された属性、又はデータベーステーブルの列）（例えば、「名前」、「名字」、「電子メールアドレス」など）に関する値を含む場合がある。（例えば、内容若しくはデータ型に関連する）フィールドの値のさまざまな特徴、又は特定のフィールドの値の有無が、妥当である又は妥当でないと見做される場合がある。例えば、文字列「Ｓｍｉｔｈ」を含む「名字」フィールドは、妥当であると考えられ得る一方、空白の「名字」フィールドは、妥当でないと考えられ得る。
【００３５】
データソース１０２からのデータセットを利用するアプリケーションの性能は、データセットが１又は２以上の妥当でないフィールドを有する、かなり多くのデータ要素を含む場合、悪影響を受ける可能性がある。処理モジュール１０８は、データセットにデータ妥当性検証規則を適用することを含むデータ妥当性検証手順を実行して、データセットが妥当性検証規則によって定義された品質の制約を満たすことを保証する。データ処理システム１００は、データセットの品質が品質の制約を満たさない場合、システム管理者に警告する。一部の例において、処理モジュール１０８は、可能であれば妥当でないデータを修復し、又はさまざまなデータクレンジング手順を実行してクレンジングされたデータ要素のデータセットを生成するように構成され得る。さらに、その他の例において、処理モジュール１０８は、妥当でないデータを含むフィールドのリストを生成するように構成されてもよく、このフィールドのリストから、レポートを生成することができる。一部の例において、レポートは、フィールドのリストの中のフィールドのうちの１又は２以上に関して、妥当でないデータを含んでいたレコードの数を含む。その他の例においては、妥当でないフィールドの集約が、フィールドのリストから計算される。
【００３６】
概して、異なるアプリケーションは、異なる種類のデータを処理する。したがって、アプリケーションに応じて、データセットの要素は、異なるフィールドを含んでもよい。ＵＩモジュール１０６は、データセットの妥当性を検証するために、１組の妥当性検証規則が指定され、使用されることを可能にするユーザインターフェース１１２を提供する。ユーザインターフェース１１２は、特定のデータ要素の構造の複数のフィールド（一部の実施形態においては、すべての利用可能なフィールド）を含む単一の表示を提供することができる。したがって、所与のアプリケーションに関して、ユーザ１１０（例えば、システム管理者）は、データのための適切な妥当性検証規則を指定することができる。
【００３７】
１  妥当性検証ユーザインターフェース
図２を参照すると、ユーザインターフェース１１２の一例が、データセットの妥当性を検証するための１又は２以上の妥当性検証規則をユーザ１１０が指定（設定）し、確認することを容易にするように構成される。
【００３８】
１．１  妥当性検証規則の指定
ＵＩモジュール１０６は、第１の軸２２６及び第２の軸２２８を有する２次元グリッド（格子）２２５で配置された、いくつかのセル２２４を含むユーザインターフェース１１２を（例えば、コンピュータモニタ上に）描画する。セル２２４の１又は２以上のサブセット２３０（以後、発明を実施するための形態において行２３０という）は、２次元グリッド２２５の第１の軸２２６に沿った方向に延びる。行２３０のそれぞれは、フィールド２１８に関連付けられる。一部の例において、行２３０のそれぞれの最初のセル（すなわち、最も左のセル）は、行２３０に関連するフィールド２１８の名前を含む（この例において、フィールド名は「フィールド１」、「フィールド２」、．．．「フィールドＭ」である）。
【００３９】
セル２２４の複数のサブセット２３２（以後、発明を実施するための形態において列２３２という）は、２次元グリッド２２５の第２の軸２２８に沿った方向に延びる。列２３２のうちの１又は２以上は、それぞれの妥当性検証規則２３４に関連付けられる。一部の例において、列２３２のそれぞれの最初の（すなわち、最も上の）セルは、列２３２に関連する妥当性検証規則２３４の名前を含む（この例において、妥当性検証規則名は、「妥当性検証規則１」、「妥当性検証規則２」、．．．「妥当性検証規則Ｎ」である）。一部の例においては、第１の軸２２６及び第２の軸２２８の方向を入れ替え、フィールド２１８に関連する行２３０を列にし、妥当性検証規則２３４に関連する列２３２を行とすることができることに留意されたい。
【００４０】
一部の例において、ユーザインターフェース１１２は、予め定義された妥当性検証規則のリスト（図示せず）を含む（有する）。妥当性検証規則２３４は、例えば、ユーザ１１０が予め定義された妥当性検証規則のうちの１若しくは２以上を２次元グリッド２２５内にドラッグするか、又は予め定義された妥当性検証規則のうちの１つをダブルクリックし、その結果、１又は２以上の新しい列２３２が２次元グリッド２２５に追加されることによって２次元グリッド２２５に追加される。予め定義された妥当性検証規則は、対応するセル内で与えられ得る入力として予め定義された１組のパラメータを受け付け得る組み込み関数を有する。多くの状況に関して、妥当性検証規則の予め定義されたリストは、ユーザ１１０の必要を十分に満たす。しかし、一部の例においては、以下で説明されるように、ユーザ１１０は、２次元グリッド２２５に列２３２としてやはり追加され得るカスタムの妥当性検証規則を定義することができる。
【００４１】
１又は２以上の妥当性検証規則の列２３２が２次元グリッド２２５に追加された後、ユーザ１１０は、どの妥当性検証規則２３４がどのフィールド２１８に適用されるべきかを指定することができる。所与の妥当性検証規則２３４が所与のフィールド２１８に適用されるべきであることを指定するために、ユーザ１１０は、まず、所与のフィールド２１８に関連する行２３０が所与の妥当性検証規則２３４に関連する列２３２と交差するセル２２４を選択する。それから、ユーザ１１０は、選択されたセル２２４の入力要素（例えば、テキストフィールド又はチェックボックス）に１又は２以上の妥当性検証規則パラメータ２３６を入力する。概して、セルに規則パラメータ２３６を含めることは、潜在的に、２つの目的に資する。第１の目的は、妥当性検証規則２３４を構成する「設定入力（configuration input）」を与えることであり、第２の目的は、所与の妥当性検証規則２３４が所与のフィールド２１８に適用されるべきであることを示すことである。したがって、セル２２４が妥当性検証規則パラメータ２３６を含まない（つまり、セルが空白のままである）場合、処理モジュール１０８は、セル２２４に関連する妥当性検証規則２３４をセル２２４に関連するフィールド２１８に適用しないということになる。
【００４２】
多くの異なる種類の規則パラメータ２３６が、セル２２４に入力され得る。場合によっては、設定入力が規則を構成するために必要とされず、したがって、規則パラメータ２３６は、単に、対応する妥当性検証規則が適用されるべきであることを確定する「確定入力（confirmation input）」規則パラメータである場合がある。例えば、確定入力規則パラメータを受け取るための入力要素の一例は、チェックされたときに、セル２２４に関連する妥当性検証規則２３４がセル２２４に関連するフィールド２１８に適用されるべきであることを示すチェックボックスである。さまざまな種類の妥当性検証規則の例が、妥当性検証規則が設定入力によって構成されるのか否かを示す以下のリストに示される。
・整数−フィールドが整数のみを含むことを検証する（設定入力は必要とされない）。
・妥当でない値−フィールドが（設定入力として与えられる）ユーザ指定の妥当でない値を含まないことを検証する。
・最大精度−フィールドが小数点以下の（設定入力として与えられる）ユーザ指定の数以下の桁数を有することを検証する。
・最大−フィールドの値が（設定入力として与えられる）ユーザ指定の値よりも大きい場合、妥当でない。
・最大長−フィールドが（設定入力として与えられる）ユーザ指定の数以下の文字数又はバイト数を有することを検証する。
・最小−フィールドが（設定入力として与えられる）ユーザ指定の値未満である場合、妥当でない。
・空白でない−フィールドが空であるか又は空白のみを含む場合、妥当でない（設定入力は必要とされない）。
・ヌルでない−フィールドが（必要とされる設定入力として与えられる）ヌルである場合、妥当でない。
・パターン−文字列フィールドが（設定入力として与えられる）指定されたパターン通りであることを検証する。
・妥当な値−フィールドが（設定入力として与えられる）ユーザ指定の妥当な値のみを含むことを検証する。
・型に対して妥当−フィールドのデータがそのデータの型に対して妥当であることを検証する（設定入力は必要とされない）。
【００４３】
妥当性検証規則の上記のリストは必ずしも包括的でないことが、留意される。
【００４４】
１．２  妥当性検証規則の確認
一部の例において、ＵＩモジュール１０６は、処理モジュール１０８がデータセットの要素の少なくとも一部にユーザ指定の妥当性検証規則２３４を適用した結果を表示することによってユーザインターフェース１１２を通じてユーザ１１０にフィードバックを提供する。
【００４５】
図２に示されたユーザインターフェース１１２は、データセットの所与の要素２４４に関するフィールド２１８の値２４２を表示するように構成される。ユーザが妥当性検証規則２３４及びそれらの関連するパラメータ２３６を指定する（及び／又は修正する）とき、処理モジュール１０８は、自動的に、指定された妥当性検証規則２３４を所与のデータ要素２４４のフィールド２１８の値２４２に適用し、妥当性検証規則２３４を適用した結果をＵＩモジュール１０６に与え、そして、ＵＩモジュール１０６が、ユーザ１１０へのフィードバックとしてユーザインターフェース１１２に結果を表示する。概して、妥当性検証規則を適用した結果は、パス／フェイル（合／否）結果である。そのようなパス／フェイル結果は、例えば、適切なセルを特定の色、パターン、又は網かけで満たすことによってユーザ１１０に示され得る。図２において、フィールド１及び妥当性検証規則１に関連するセルは、フィールド１の値が妥当性検証規則１に反したことを示す灰色の網かけ２３８を含む。その他の例において、パス／フェイル結果は、適切なセルにインジケータアイコンを含むこと／含まないことによってユーザ１００に示すことができる。例えば、フェイル（不合格）の結果を、セルに赤い感嘆符アイコンを含めることによって示すことができ、パス（合格）の結果を、赤い感嘆符アイコンがないことによって示すことができる。一部の例において、緑色の円などのアイコンを、パスの結果を示すためにセルに含めることができる。
【００４６】
妥当性検証規則２３４を指定するとき、ユーザ１１０がデータセットの異なる要素に対する妥当性検証規則の影響を評価するためにデータセット内をナビゲーションすることが有用である場合がある。したがって、ユーザインターフェース１１２は、ユーザが（この例において、シーケンス番号を入力することによって）データセットの異なる要素を選択することを可能にするコントロール２４６を含む。ユーザが１つの要素から次の要素へとナビゲーションするとき、処理モジュール１０８は、現在選択されている要素に妥当性検証規則２３４を自動的に適用する。
【００４７】
一部の例において、ユーザインターフェース１１２は、処理モジュール１０８がデータセットの要素のすべてに指定された妥当性検証規則２３４を適用することを可能にする実行コントロール２４８を含む。データセットへの妥当性検証規則２３４の適用が完了すると、処理モジュール１０８は、データセットに妥当性検証規則２３４を適用した結果をＵＩモジュール１０６に与え、そして、ＵＩモジュール１０６が、ユーザ１１０に対してユーザインターフェース１１２で結果を表示する。一部の例において、適用された妥当性検証規則２３４に関連する各セル２３４は、フェイル結果カウントインジケータ２４０を含む。フェイル結果カウントインジケータ２４０は、セル２２４によって指定された妥当性検証規則２３４に反したデータ要素の数を表示する。
【００４８】
１．３  混合された列及びカスタムの妥当性検証規則
上で述べられたように、ユーザ１１０は、予め定義された妥当性検証規則のいずれにも含まれていない機能を有する妥当性検証規則を望む場合がある。一部の例において、ユーザインターフェース１１２は、１又は２以上の混合された妥当性検証規則の列を２次元グリッド２２５に挿入するためのオプションを含む。混合された妥当性検証規則の列は、列に含まれる（所与のフィールド２１８に関連する）各セルに関する異なる妥当性検証規則をユーザ１１０が指定することを可能にする。例えば、混合された妥当性検証規則の列の１つのセルが「妥当な値」テストを含み得る一方、混合された妥当性検証規則の列の別のセルは「最大」テストを含み得る。概して、ユーザ１００は、（テストが規則パラメータを受け付ける場合は）テストのための規則パラメータが後に続くテストの名前を入力することによって混合された妥当性検証規則の列の所与のセルに関する妥当性検証規則を指定する。概して、列として２次元グリッド２２５に追加され得る任意の妥当性検証規則が、混合された妥当性検証規則の列の単一のセルに入力され得る。混合された妥当性検証規則の列のセルの内容のいくつかの例は、「ヌルでない」、「最大（９９）」、及び「妥当な値（ＶＭ，Ｆ）」である。
【００４９】
混合された妥当性検証規則の列によってもたらされる１つの利点は、まれにしか使用されないテストをスクリーン上により効率的に示すことによってユーザインターフェース１１２の使い勝手が高められることである。特に、ユーザ１１０は、単一のフィールド２１８にのみ当てはまる妥当性検証規則に２次元グリッド２２５の列２３２全体を割り当てる必要はない。例えば、混合された妥当性検証規則の列は、「妥当な電子メール」テストが単一のフィールド２１８（例えば、「ｅｍａｉｌ＿ａｄｄｒ」フィールド）にのみ当てはまるが、２次元グリッド２２５の列２３２全体を占有し、それによって、貴重なスクリーンの領域（real estate）を無駄にする状況を避けることができる。
【００５０】
その他の例において、ユーザ１１０は、予め定義された妥当性検証規則のリストを新しい、再利用可能な、カスタムの妥当性検証規則２３４によって拡張することができる。ユーザインターフェース１１２は、ユーザ１１０が新しい妥当性検証規則２３４の機能を定義するためのテンプレートを提供する。ユーザ１１０は、例えば、プログラミング言語、又は例えば構造化されたコメントが施されたＤＭＬコードなどの式言語（expression language）を用いて、テンプレートの範囲内で、所望のカスタムの機能を定義する。新しい妥当性検証規則２３４は、保存されると、予め定義された妥当性検証規則のリストに追加される。ユーザ１１０は、例えば、妥当性検証規則のリストから２次元グリッド２２５内に妥当性検証規則をドラッグするか、又は妥当性検証規則をダブルクリックすることによって、新しいカスタムの妥当性検証規則２３４を後で使用することができる。予め定義された妥当性検証規則と同様に、新しい妥当性検証規則を２次元グリッド２２５内にドラッグするか、又は新しい妥当性検証規則をダブルクリックすることは、新しい列２３２を２次元グリッド２２５に追加させ、新しい列２３２は、新しい妥当性検証規則に関連付けられる。
【００５１】
予め定義された妥当性検証規則か、又はカスタムの妥当性検証規則かに関わらず、妥当性検証規則は、規則がヌル値又は空白値に適用されるべきかどうかを示す属性を有する場合がある。規則がヌル値に適用されるべきでないとその規則が指定する場合、最初に、値がヌル値であるかに関してテストされ、それから、ヌルである場合は規則が適用されず、又はヌルでない場合は規則が適用される。規則が空白値に適用されるべきでないとその規則が指定する場合、最初に、値が空白であるかどうかを調べるためにその値がテストされ、それから、値が空白でないと分かった場合にだけ規則が適用される。
【００５２】
予め定義されているか又はカスタムであるかに関わらず、妥当性検証規則は、セル２２４に入力された１組の規則パラメータ２３６が妥当性検証規則に関して妥当であるかどうかを判定するために使用され得る論理を示す属性を有する場合がある。例えば、ユーザインターフェース１１２は、この論理を用いて、セル２２４に入力されたそれぞれの１組の規則パラメータ２３６が正しいか否か（correctness）を判定し、規則パラメータが（例えば、構文（syntax）エラーが原因で）正しくないと判定される場合、インジケータ（例えば、赤い停止サイン）がセル内に表示され、論理によって決定されたエラーメッセージが（例えば、エラーのリストで、又はホバリングしているときにはホバーツールチップとして）表示される。規則パラメータが正しいか否か（正しさ）を調べることの別の例は、指定されたルックアップファイルの識別子が処理モジュール１０８に実際に知らされていることを確認することなど、意味（semantics）を調べることである。
【００５３】
１．４  前処理列又は後処理列
一部の例において、ユーザインターフェース１１２は、フィールドの値に任意の初期処理を適用するか、又はその他の列の妥当性検証規則によって異なるように取り扱われる任意の特定の値を指定するために使用され得る前処理列を含んでもよい。また、ユーザインターフェース１１２は、妥当性検証規則によって実行されたテストの結果に応じて任意の対処を適用するために使用され得る後処理列も含んでもよい。前処理列は、例えば、妥当性検証から除外される値と、フィールド２１８のうちの１又は２以上に関する妥当性検証のデータ型とをユーザ１１０が指定することを可能にするために使用され得る。後処理列は、例えば、（例えば、異なる種類の妥当でない値を適切な置換値で置き換えるために）要素の既存の値を置き換える置換値をユーザ１１０が指定することを可能にするために使用され得る。
【００５４】
概して、置換値は、後処理列の単一のセルに入力され、所与のフィールド２１８に関連付けられる。置換値は、所与のフィールド２１８に関連する１又は２以上の妥当性検証規則２３６に違反するときに所与のフィールド２１８の値２４２を置き換える。例えば、「ｓｔａｒｔ＿ｄａｔｅ」フィールドが２つの妥当性検証規則、最小（１９００−０１−０１）及び最大（２０１１−１２−３１）に関連付けられる場合、置換値の一例は、１９７０−０１−０１である。したがって、所与のレコードに関する「ｓｔａｒｔ＿ｄａｔｅ」フィールドの値が最小未満であるか（すなわち、１９００−０１−０１よりも前）又は最大を超える（すなわち、２０１１−１２−３１よりも後）場合、値は、置換値１９７０−０１−０１で置き換えられる。文字列、日付／時間などのその他の種類の置換値も、後処理列で指定され得る。
【００５５】
上述のように、ユーザ１１０は、除外される値の種類の前処理列で、妥当性検証から除外される１又は２以上の値を指定することもできる。例えば、「ｅｎｄ＿ｄａｔｅ」などのフィールドに関する妥当なデータは、概して、日付情報（例えば、１９００−０１−０１）のみを含む。しかし、一部のアプリケーションにおいては、「ＡＣＴＩＶＥ」などの別の値も「ｅｎｄ＿ｄａｔｅ」フィールドに関する妥当なデータであると指定することが望ましい場合もある。これは、除外される値の種類の前処理列に文字列「ＡＣＴＩＶＥ」を入力し、値「ＡＣＴＩＶＥ」が「ｓｔａｒｔ＿ｄａｔｅ」フィールドに関して常に許容されることと、妥当性検証規則が指定された除外される値に適用される必要がないこととを示すことによってなされ得る。
【００５６】
前処理列は、フィールド２１８のうちの１又は２以上に関する妥当性検証のデータ型を指定する妥当性検証の型列も含むことができる。一部の例において、ユーザ１１０は、フィールドの妥当性を検証するために使用されるＤＭＬの型宣言を入力することができる。例えば、フィールド２１８が日付を表す文字列値を含む場合、ユーザ１１０は、文字列値が実際は日付データ型を表し、したがって、そのように妥当性を検証されるべきであると指定するようにDATE(‘YYYY-MM-DD’)を入力することができる。同様に、１０進数として文字列の妥当性を検証するために、ユーザ１１０は、decimal(‘’)を入力することができる。
【００５７】
１．５  例示的なユーザインターフェース
図３を参照すると、スクリーンキャプチャが、図２のユーザインターフェース１１２の一実施形態を示す。ユーザインターフェース１１２は、ユーザ１１０が妥当性検証規則のフィードバックを受け取りながらデータセットに関する妥当性検証規則２３４を指定することを可能にするように構成される。
【００５８】
上述のように、ユーザインターフェース１１２は、セル２２４の２次元グリッド２２５を含む。２次元グリッド２２５は、データセットのデータ要素のフィールド２１８に関連するいくつかの行２３０を含む。行２３０のそれぞれの最初のセルは、行２３０に関連するフィールド２１８の名前を含み、データセットの現在選択されているデータ要素２４４に関するフィールド２１８の値２４２を括弧内に含む。フィールドについてのその他の情報も、ユーザが妥当性検証規則を指定するのを支援するために視覚的に表示され得る。この例において、第１のセルは、フィールド２１８の値のデータ型を視覚的に示すアイコン２２０も含む。
【００５９】
図３において、ユーザ１１０は、２次元グリッド２２５にいくつかの妥当性検証規則２３４を追加した。妥当性検証規則２３４は、いくつかの列２３２としてグリッドに表示される。それぞれの妥当性検証規則２３４の名前が、妥当性検証規則２３４に関連する列２３２の一番上に含まれる（例えば、「最大長」、「空白でない」、「パターン」など）。
【００６０】
ユーザ１１０は、選択された妥当性検証規則２３４がデータセットの要素の１又は２以上のフィールド２１８に適用されるべきであると指定している。そのようにするために、適用されるそれぞれの妥当性検証規則２３４に関して、ユーザ１１０は、妥当性検証規則２３４に関連する列２３２と妥当性検証規則２３４が適用されるべき（１又は２以上の）フィールド２１８に関連する（１又は２以上の）行２３０との交差部分に規則パラメータ２３６を入力している。例えば、ユーザ１１０は、「パターン」妥当性検証規則と「ｚｉｐｃｏｄｅ」フィールドとの交差部分に規則パラメータＳ“９９９９９”を入力している。入力された規則パラメータは、データセットの各要素の「ｚｉｐｃｏｄｅ」フィールドを評価して要素のそれぞれの「ｚｉｐｃｏｄｅ」フィールドの値が５つの連続する数字文字のパターンを有する文字列であるかどうかを判定するように「パターン」妥当性検証規則を構成する。同様に、「パターン」妥当性検証規則は、データセットの各要素の「ｐｈｏｎｅｎｕｍ」フィールドを評価して、各要素の「ｐｈｏｎｅｎｕｍ」フィールドの値２４２がＳ“９９９−９９９−９９９９”（すなわち、３つの数字文字、ダッシュ、３つの数字文字、ダッシュ、及び４つの数字文字）のパターンを有する文字列であるかどうかを判定するように構成される。
【００６１】
その他の種類の妥当性検証規則２３４及び規則パラメータも、図３に示されている。例えば、「妥当な値」妥当性検証規則が、「ｓｔａｔｅｎａｍｅ」フィールドに関する妥当な値を米国の州名の組として特定する規則パラメータＭ“ＳｔａｔｅＮａｍｅｓ”を有する「ｓｔａｔｅｎａｍｅ」フィールドに適用される。上記の規則パラメータの「ＳｔａｔｅＮａｍｅｓ」の前の「Ｍ」は、実行環境１０４内でアクセス可能なメタデータ参照システムに記憶される（コードセットと呼ばれることもある）別個のデータセットとして（例えば、ユーザ１１０又はシステム管理者によって）州名の組が定義されることを示す。この例において、州名を含むデータセットは、変数名「ＳｔａｔｅＮａｍｅｓ」によって参照される。
【００６２】
一部の例において、コードセットは、ルックアップテーブルに記憶される。ルックアップテーブルのコードセットにアクセスするために、規則パラメータは、例えば、名前「ＳｔａｔｅＮａｍｅｓ」によってシステムに対して特定されたルックアップファイルが妥当な「ｓｔａｔｅｎａｍｅ」の値のソースであることを示すＬ“ＳｔａｔｅＮａｍｅｓ”として入力される。さらにその他の例において、ユーザ１１０は、１組の妥当な値を直接入力することができる。例えば、妥当な１組の性別コードは、Ｖ“Ｍ，Ｆ，Ｕ”として入力され得る。
【００６３】
別の「空白でない」妥当性検証規則が、いくつかのフィールドに適用される。例えば、「空白でない」妥当性検証規則は、「空白でない」規則パラメータの列と「ｓｔｒｅｅｔ」フィールドの行との交差部分のセルにチェックマーク規則パラメータが存在するので「ｓｔｒｅｅｔ」フィールドに適用される。
【００６４】
上述のように、ユーザインターフェース１１２は、所与の要素２４４に関するフィールド２１８の値２４２のすべてをユーザ１１０に対して表示することができる。また、ＵＩモジュール１０６は、要素２４４のフィールド２１８に関連する妥当性検証規則２３４の一部又はすべてを処理モジュール１０８に実行させる入力をユーザインターフェース１１２から受け取る。処理モジュール１０８によって生成された（１又は２以上の）結果が、ＵＩモジュール１０６に与えられ、そして、ＵＩモジュール１０６が、（１又は２以上の）結果に基づくフィードバックをユーザインターフェース１１２でユーザ１１０に対して表示する。図３においては、「ｓｔａｔｅｎａｍｅ」フィールドの値が１組の州名の構成要素であるかどうかをテストするために、「妥当な値」妥当性検証規則が「ｓｔａｔｅｎａｍｅ」フィールドに適用される。検査から、「ｓｔａｔｅｎａｍｅ」フィールドの値が州名「Ｐｅｎｎｓｙｌｖａｎｉａ」の綴りの誤り「Ｐｅｎｎｓｙｌｖａｎｎｉａ」であることを知り得る。したがって、「妥当な値」妥当性検証規則は、所与の要素２４４に関する「ｓｔａｔｅｎａｍｅ」フィールドに関して守られていない。妥当性検証規則が守られていないことをユーザ１１０に対して示すために、「妥当な値」妥当性検証規則及び「ｓｔａｔｅｎａｍｅ」フィールドに関連するセルが、網かけを付けられる。
【００６５】
ユーザ１１０は、ナビゲーションコントロール２４６を用いてデータセットの要素内をナビゲーションすることができる。一部の例において、ナビゲーションコントロール２４６は、ユーザ１１０が１度に１つずつデータセットの要素内に入り込むことを可能にする矢印と、ユーザ１１０がそれらのユーザ１１０が見たいデータセットの要素の番号を入力することを可能にする数値フィールドとを含む。ユーザ１１０がナビゲーションコントロール２４６を用いて異なる要素にナビゲーションするたびに、処理モジュール１０８は、新しい要素の値に対して指定された妥当性検証規則を実行し、値２４２及び妥当性検証テストの結果を示すその他の視覚的なフィードバック（例えば、セルの網かけ）が、リフレッシュ／更新される。
【００６６】
ユーザインターフェース１１２は、作動されるときに、処理モジュール１０８にデータセットの要素のすべてに関して指定された妥当性検証規則を実行させる「テスト」ボタン２４８も含む。上述のように、データセットの要素のすべてに関して指定された妥当性検証規則を実行した結果は、１又は２以上の要素が指定された妥当性検証規則に反した各セルにフェイル要素カウントインジケータ２４０を含めることによってユーザインターフェース１１２においてまとめられる。図３の実施形態において、フェイル要素カウントインジケータ２４０は、セルによって指定された妥当性検証規則に反したデータセットの要素の数を表す数である。例えば、「ｓｔａｔｅｎａｍｅ」フィールド及び「妥当な値」妥当性検証規則に関連するセルに関するフェイル要素カウントインジケータは、データセットの要素のうちの３８８６個が１組の妥当な州名の構成要素ではない州名を含むことを示す。ユーザは、そのセルをクリックして、フェイルであった要素についての情報を取得することができる。
【００６７】
１又は２以上の妥当性検証規則のテスト結果に反した各要素に関して、妥当性検証の問題点について問題点の情報の集合を集約し、後で取得されるように記憶することができる。例えば、１又は２以上の妥当性検証規則が指定されたフィールドのリストを、そのフィールドに関して妥当性検証の問題点が存在しなかった場合のゼロ個の要素のカウントを含む、そのフィールドに関して妥当性検証の問題点を有していた要素の数のカウントとともに別のビューに表示することができる。これは、ユーザが、そのフィールドに関する妥当性検証規則が実際に実行されたことを確認しながらその特定の妥当性検証規則に反した要素がないと明白に判定することを可能にする。記憶された妥当性検証の問題点の情報は、さまざまな測定基準（例えば、特定の品質の問題点を有するレコードの割合）を計算するため、又は妥当性検証の問題点の情報によってデータ要素のデータセットを補足するためにも使用され得る。
【００６８】
２  代替
一部の例において、フェイル結果カウントインジケータ２４０は、ユーザ１１０によってクリックされるときにＵＩモジュール１０６にフェイル要素のすべてをまとめるウィンドウをユーザ１１０に対して表示させるハイパーリンクである。
【００６９】
一部の例において、データ妥当性検証規則を適用した結果は、データセットの測定基準を判定するために使用され得る。例えば、測定基準は、データ品質の問題点を有するデータセットのレコードの割合を含み得る。本明細書において説明されていないその他のユーザインターフェースを使用し、これらの測定基準を指定し、ユーザ１１０に対して示すことができる。
【００７０】
上記の説明はセルに網かけを付けることによってユーザにフィードバックを与えることを示すが、その他の種類のフィードバックメカニズム（例えば、音声、ポップアップウィンドウ、特別なシンボルなど）を利用することができる。
【００７１】
上記の説明は、完全なデータセットを処理しながら規則を指定することを示す。しかし、一部の例においては、削減されたより管理しやすいサイズを有し、完全なデータセットを代表するテストデータセットを使用することができる。
【００７２】
上述の方法は、コンピュータで実行するためのソフトウェアを用いて実装され得る。例えば、ソフトウェアは、それぞれが少なくとも１つのプロセッサ、（揮発性及び不揮発性メモリ及び／又はストレージ要素を含む）少なくとも１つのデータストレージシステム、少なくとも１つの入力デバイス又はポート、並びに少なくとも１つの出力デバイス又はポートを含む（分散、クライアント／サーバ、又はグリッドなどのさまざまなアーキテクチャであってよい）１又は２以上のプログラムされた又はプログラム可能なコンピュータシステムで実行される１又は２以上のコンピュータプログラムで手順を形成する。ソフトウェアは、例えば、データフローグラフの設計及び構成に関連するその他のサービスを提供するより大きなプログラムの１又は２以上のモジュールを形成する場合がある。グラフのノード及び要素は、コンピュータ可読媒体に記憶されたデータ構造、又はデータリポジトリに記憶されたデータモデルに準拠するその他の編成されたデータとして実装され得る。
【００７３】
ソフトウェアは、多目的又は専用のプログラム可能なコンピュータによって読み取り可能なＣＤ−ＲＯＭなどのストレージ媒体で提供されるか、又はそのソフトウェアが実行されるコンピュータのストレージ媒体にネットワークの通信媒体を介して配信される（伝播信号に符号化される）場合がある。機能のすべてが、専用のコンピュータで、又はコプロセッサなどの専用のハードウェアを用いて実行される場合がある。ソフトウェアは、ソフトウェアによって指定された計算の異なる部分が異なるコンピュータによって実行される分散された方法で実装される場合がある。それぞれのそのようなコンピュータプログラムは、本明細書において説明された手順を実行するためにストレージ媒体又はデバイスがコンピュータシステムによって読まれるときにコンピュータを構成し、動作させるために、多目的又は専用のプログラム可能なコンピュータによって読み取り可能なストレージ媒体又はデバイス（例えば、ソリッドステートメモリ若しくは媒体、又は磁気若しくは光媒体）に記憶されるか又はダウンロードされることが好ましい。本発明のシステムは、コンピュータプログラムで構成されたコンピュータ可読ストレージ媒体として実装される場合もあり、そのように構成されたストレージ媒体は、本明細書において説明された機能を実行するために特定の予め定義された方法でコンピュータシステムを動作させる。
【００７４】
本発明のいくつかの実施形態が、説明された。しかしながら、本発明の主旨及び範囲から逸脱することなしにさまざまな修正がなされ得ることが理解されるであろう。例えば、上述のステップの一部は、順番に依存しない場合があり、したがって、説明された順番とは異なる順番で実行され得る。
【００７５】
上述の説明は、添付の請求項の範囲によって定義される本発明の範囲を例示するように意図されており、限定するように意図されていないことを理解されたい。例えば、上述のいくつかの機能のステップは、処理全体に実質的に影響を与えることなく異なる順番で実行され得る。その他の実施形態は、以下の請求項の範囲内にある。
【図１】
0006400588.tif 000002
【図２】
0006400588.tif 000003
【図３】
0006400588.tif 000004