(57)【要約】  分析しやすい情報を得るための条件指定が行えるように表の構成を変更することができる表操作システムを提供する。データ取得手段７２は、指定された各フォーリンキー列の参照先となる個々の表を特定し、特定した個々の表のプライマリキー列のキー値の組み合わせ毎に、指定された関係値列の関係値の集計値を取得する。グルーピング手段７３は、個々の表のプライマリキー列のキー値の組み合わせ毎に取得された集計値と、指定された種別の統計モデルとに基づいて、個々の表のプライマリキー列のキー値をそれぞれグループ分けする。属性値列追加手段７４は、個々の表毎に、当該表のプライマリキー列のキー値が属するグループの識別情報を属性値とする属性値列を追加する。
2016157707.tif 000002
【特許請求の範囲】
【請求項１】
２以上のフォーリンキー列と１以上の関係値列とを持つ表における少なくとも２つのフォーリンキー列の指定と、関係値列の指定と、当該関係値列に対応付けられる統計モデルの種別の指定とを受け付ける指定受付手段と、
指定された各フォーリンキー列の参照先となる個々の表を特定し、特定した個々の表のプライマリキー列のキー値の組み合わせ毎に、前記関係値列の関係値の集計値を取得するデータ取得手段と、
前記個々の表のプライマリキー列のキー値の組み合わせ毎に取得された集計値と、指定された種別の統計モデルとに基づいて、前記個々の表のプライマリキー列のキー値をそれぞれグループ分けするグルーピング手段と、
前記個々の表毎に、当該表のプライマリキー列のキー値が属するグループの識別情報を属性値とする属性値列を追加する属性値列追加手段とを備える
ことを特徴とする表操作システム。
【請求項２】
指定受付手段は、
指定されたフォーリンキー列の参照先となる表が持つ属性値列の指定と、当該属性値列に対応付けられる統計モデルの種別の指定とを受け付け、
データ取得手段は、
指定された属性値列の属性値を、当該属性値列を持つ表のプライマリキー列のキー値毎に取得し、
グルーピング手段は、
指定された各フォーリンキー列の参照先となる個々の表のプライマリキー列のキー値の組み合わせ毎に取得された集計値と、関係値列に対応付けられた種別の統計モデルと、前記属性値列を持つ表のプライマリキー列のキー値毎に取得された属性値と、前記属性値列に対応付けられた種別の統計モデルとに基づいて、前記個々の表のプライマリキー列のキー値をそれぞれグループ分けする
請求項１に記載の表操作システム。
【請求項３】
指定受付手段は、
各表の表名を表示する表名表示欄と、
選択された表名が示す表が持つ各列の列名を表示する列名表示欄と、
選択された関係値列の列名または選択された属性値列の列名を表示する選択列名表示欄と、
前記選択列名表示欄に表示された列名に対応する統計モデルの種別を選択するための種別選択欄とを含む画面を表示し、
前記列名表示欄に表示された列名の中から少なくとも２つのフォーリンキー列の列名が選択されることによって、前記少なくとも２つのフォーリンキー列の指定を受け付け、
前記列名表示欄に表示された列名の中から関係値列の列名が選択され、かつ、前記種別選択欄で統計モデルの種別が選択されることによって、前記関係値列の指定と、当該関係値列に対応付けられる統計モデルの種別の指定を受け付け、
前記列名表示欄に表示された列名の中から属性値列の列名が選択され、かつ、前記種別選択欄で統計モデルの種別が選択されることによって、前記属性値列の指定と、当該属性値列に対応付けられる統計モデルの種別の指定を受け付ける
請求項２に記載の表操作システム。
【請求項４】
グルーピング手段は、１つのキー値が１つのグループのみに属するようにキー値をグループ分けする
請求項１から請求項３のうちのいずれか１項に記載の表操作システム。
【請求項５】
グルーピング手段は、１つのキー値が複数のグループに属することを許容してキー値をグループ分けする
請求項１から請求項３のうちのいずれか１項に記載の表操作システム。
【請求項６】
２以上のフォーリンキー列と１以上の関係値列とを持つ表における少なくとも２つのフォーリンキー列の指定と、関係値列の指定と、当該関係値列に対応付けられる統計モデルの種別の指定とを受け付け、
指定された各フォーリンキー列の参照先となる個々の表を特定し、特定した個々の表のプライマリキー列のキー値の組み合わせ毎に、前記関係値列の関係値の集計値を取得し、
前記個々の表のプライマリキー列のキー値の組み合わせ毎に取得した集計値と、指定された種別の統計モデルとに基づいて、前記個々の表のプライマリキー列のキー値をそれぞれグループ分けし、
前記個々の表毎に、当該表のプライマリキー列のキー値が属するグループの識別情報を属性値とする属性値列を追加する
ことを特徴とする表操作方法。
【請求項７】
コンピュータに、
２以上のフォーリンキー列と１以上の関係値列とを持つ表における少なくとも２つのフォーリンキー列の指定と、関係値列の指定と、当該関係値列に対応付けられる統計モデルの種別の指定とを受け付ける指定受付処理、
指定された各フォーリンキー列の参照先となる個々の表を特定し、特定した個々の表のプライマリキー列のキー値の組み合わせ毎に、前記関係値列の関係値の集計値を取得するデータ取得処理、
前記個々の表のプライマリキー列のキー値の組み合わせ毎に取得された集計値と、指定された種別の統計モデルとに基づいて、前記個々の表のプライマリキー列のキー値をそれぞれグループ分けするグルーピング処理、および、
前記個々の表毎に、当該表のプライマリキー列のキー値が属するグループの識別情報を属性値とする属性値列を追加する属性値列追加処理
を実行させるための表操作プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予め定められているデータベースの表を操作する表操作システム、表操作方法および表操作プログラムに関する。
【背景技術】
【０００２】
ＢＩ（Business Intelligence ）の分野では、分析者が指定した条件を満たす情報を提示することによって、分析者の意思決定を支援することが考えられる。その一例を以下に示す。【０００３】
図１６は、データベースに含まれる種々の表を示す模式図である。図１６では、購買テーブル、顧客マスタ、商品マスタおよび店舗マスタを示している。購買テーブルでは、顧客ＩＤ、商品ＩＤ、店舗ＩＤおよび購買数を対応付け、どの顧客がどの商品をどの店舗でいくつ購買したかを示している。顧客マスタは、顧客ＩＤ毎に、その顧客の属性値（図１６に示す例では年齢）を示している。商品マスタは、商品ＩＤ毎に、その商品の属性値（図１６に示す例では商品カテゴリ）を示している。店舗マスタは、店舗ＩＤ毎に、その店舗の属性（図１６に示す例ではその店舗の存在している地区）を示している。【０００４】
以下、ＢＩツール（図示略）が、図１６に例示するデータベースから、分析者に指定された条件を満たす情報を抽出する例を示す。分析者が、「二十代の者が川崎でジャケットを購買した購買数」を知りたいと考えたとする。この場合、分析者は、顧客に関して「二十代」という条件を指定し、商品に関して「ジャケット」という条件を指定し、店舗に関して「川崎」という条件を指定する。すると、ＢＩツールは、顧客マスタから、「二十代」に該当する顧客の顧客ＩＤを絞り込み、商品マスタから、「ジャケット」に該当する商品の商品ＩＤを絞り込み、店舗マスタから、「川崎」に該当する店舗の店舗ＩＤを絞り込む。そして、ＢＩツールは、それらの顧客ＩＤ、商品ＩＤ、店舗ＩＤの組み合わせを含む行を購買テーブルから特定する。本例では、購買テーブル内の行Ａ，Ｃを特定する。そして、ＢＩツールは、その行における購買数の和を算出し、分析者に提示する。【０００５】
図１６では、購買テーブルに購買時刻の情報を含めていないが、購買テーブルに購買時刻も含め、分析者が、期間毎（例えば、一カ月毎）の購買数の変化の表示を要求することも考えられる。この場合、ＢＩツールが、各月における「二十代の者が川崎でジャケットを購買した購買数」を上記のように算出し、図１７に例示するグラフを表示することも考えられる。図１７では、「二十代の者が川崎でジャケットを購買した購買数」の月毎の変化を例示している。分析者は、図１７に例示するように可視化された情報を確認して、意思決定を行える。【０００６】
また、特許文献１には、リレーショナルデータベースサーバとＯＬＡＰ（Online Analytical Processing）サーバとがネットワークにより接続された分析環境が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−２８７９１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述したようなＢＩツールによる情報の提示方法では、分析者は、各マスタ（例えば、図１６に例示する顧客マスタ、商品マスタおよび店舗マスタ）で属性として示されている情報しか条件として指定できない。そして、そのような条件の指定が適切であるとは限らない。例えば、上記の例では、分析者が、顧客に関して「二十代」という条件を指定し、商品に関して「ジャケット」という条件を指定し、店舗に関して「川崎」という条件を指定する場合を示した。このような条件の指定では、意思決定に参考になる情報が提示されない場合もあり得る。【０００９】
そこで、本発明は、分析しやすい情報を得るための条件指定が行えるように表の構成を変更するという技術課題を解決可能な表操作システム、表操作方法および表操作プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明による表操作システムは、２以上のフォーリンキー列と１以上の関係値列とを持つ表における少なくとも２つのフォーリンキー列の指定と、関係値列の指定と、当該関係値列に対応付けられる統計モデルの種別の指定とを受け付ける指定受付手段と、指定された各フォーリンキー列の参照先となる個々の表を特定し、特定した個々の表のプライマリキー列のキー値の組み合わせ毎に、関係値列の関係値の集計値を取得するデータ取得手段と、個々の表のプライマリキー列のキー値の組み合わせ毎に取得された集計値と、指定された種別の統計モデルとに基づいて、個々の表のプライマリキー列のキー値をそれぞれグループ分けするグルーピング手段と、個々の表毎に、当該表のプライマリキー列のキー値が属するグループの識別情報を属性値とする属性値列を追加する属性値列追加手段とを備えることを特徴とする。【００１１】
また、本発明による表操作方法は、２以上のフォーリンキー列と１以上の関係値列とを持つ表における少なくとも２つのフォーリンキー列の指定と、関係値列の指定と、当該関係値列に対応付けられる統計モデルの種別の指定とを受け付け、指定された各フォーリンキー列の参照先となる個々の表を特定し、特定した個々の表のプライマリキー列のキー値の組み合わせ毎に、関係値列の関係値の集計値を取得し、個々の表のプライマリキー列のキー値の組み合わせ毎に取得した集計値と、指定された種別の統計モデルとに基づいて、個々の表のプライマリキー列のキー値をそれぞれグループ分けし、個々の表毎に、当該表のプライマリキー列のキー値が属するグループの識別情報を属性値とする属性値列を追加することを特徴とする。【００１２】
また、本発明による表操作プログラムは、コンピュータに、２以上のフォーリンキー列と１以上の関係値列とを持つ表における少なくとも２つのフォーリンキー列の指定と、関係値列の指定と、当該関係値列に対応付けられる統計モデルの種別の指定とを受け付ける指定受付処理、指定された各フォーリンキー列の参照先となる個々の表を特定し、特定した個々の表のプライマリキー列のキー値の組み合わせ毎に、関係値列の関係値の集計値を取得するデータ取得処理、個々の表のプライマリキー列のキー値の組み合わせ毎に取得された集計値と、指定された種別の統計モデルとに基づいて、個々の表のプライマリキー列のキー値をそれぞれグループ分けするグルーピング処理、および、個々の表毎に、当該表のプライマリキー列のキー値が属するグループの識別情報を属性値とする属性値列を追加する属性値列追加処理を実行させることを特徴とする。
【発明の効果】
【００１３】
本発明の技術手段により、分析しやすい情報を得るための条件指定が行えるように表の構成を変更することができるという技術効果が得られる。
【図面の簡単な説明】
【００１４】
【図１】リレーショナルデータベースの一例を示す説明図である。
【図２】第３の表の例を示す説明図である。
【図３】本発明の第１の実施形態の表操作システムの構成例を示すブロック図である。
【図４】グループ分け前の顧客ＩＤおよび商品ＩＤを順番に並べた状態を示す模式図である。
【図５】決定された顧客ＩＤグループおよび商品ＩＤグループの例を模式的に示す説明図である。
【図６】新たに属性値列が追加された顧客マスタおよび商品マスタの例を示す説明図である。
【図７】本発明の第１の実施形態の処理経過の例を示すフローチャートである。
【図８】本発明の第２の実施形態の処理経過の例を示すフローチャートである。
【図９】本発明で用いられるＧＵＩの例を示す説明図である。
【図１０】本発明で用いられるＧＵＩの例を示す説明図である。
【図１１】キー列が複数の列を含む場合の例を示す説明図である。
【図１２】関係値列が複数の列を含む場合の例を示す説明図である。
【図１３】関係値列が明示的に示されていない表の例を示す説明図である。
【図１４】本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。
【図１５】本発明の概要を示すブロック図である。
【図１６】データベースに含まれる種々の表を示す模式図である。
【図１７】ＢＩツールによる表示例を示す模式図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態を図面を参照して説明する。
【００１６】
リレーショナルデータベースに含まれる個々の表の構成や、表同士の参照関係を規定した情報をスキーマ設定情報と記す。スキーマ設定情報は、予め、分析者によって作成される。そして、そのスキーマ設定情報に従って、リレーショナルデータベースに含まれる個々の表が作成される。
【００１７】
本発明について説明する前に、スキーマ設定情報に従って作成されるリレーショナルデータベースの例について説明する。
【００１８】
図１は、リレーショナルデータベース（以下、ＲＤＢと記す。）の一例を示す説明図である。図１では、ＲＤＢが、表として、購買テーブルと、顧客マスタと、商品マスタと、店舗マスタとを含んでいる場合を示している。
【００１９】
購買テーブルは、個々の購買の購買記録を表している。図１に示す例では、購買テーブルで、顧客ＩＤと、商品ＩＤと、店舗ＩＤと、購買数と、購買金額とが対応付けられている。従って、図１に示す購買テーブルの各行は、誰が、どの商品を、どの店舗で、何個、いくらで購買したかを示している。
【００２０】
顧客マスタは、個々の顧客の属性を表している。図１に示す例では、顧客マスタで、顧客ＩＤと、年齢と、性別とが対応付けられている。従って、図１に示す顧客マスタの各行は、顧客毎の年齢および性別を示している。
【００２１】
商品マスタは、個々の商品の属性を表している。図１に示す例では、商品マスタで、商品ＩＤと、商品カテゴリとが対応付けられている。従って、図１に示す商品マスタの各行は、商品毎の商品カテゴリを示している。
【００２２】
店舗マスタは、個々の店舗の属性を表している。図１に示す例では、店舗マスタで、店舗ＩＤと、その店舗が存在する地区とが対応付けられている。従って、図１に示す店舗マスタの各行は、店舗毎の存在地区を示している。
【００２３】
図１に示す例において、購買テーブルはファクト表に該当する。また、顧客マスタ、商品マスタおよび店舗マスタは、それぞれマスタ表に該当する。
【００２４】
図１に示す例では、購買テーブル内の顧客ＩＤが顧客マスタ参照時の参照元となり、購買テーブル内の商品ＩＤが商品マスタ参照時の参照元となり、購買テーブル内の店舗ＩＤが店舗マスタ参照時の参照元となる。
【００２５】
このような参照関係や個々の表の構成は、分析者が予め作成したスキーマ設定情報で規定されている。
【００２６】
図１では、スタースキーマとして参照関係が規定されたＲＤＢを例示しているが、ＲＤＢの参照関係は、スノーフレークスキーマとして規定されていてもよい。
【００２７】
個々の表は、列を有する（図１参照）。列は、キー列と値列に分類することができる。
【００２８】
キー列は、フォーリンキー列とプライマリキー列に分類することができる。キー列に格納されているキーの具体的な値をキー値と記す。
【００２９】
フォーリンキー列は、フォーリンキーを格納する列である。フォーリンキーは、他の表を参照する際の参照元になるキーである。図１に示す例では、購買テーブルの「顧客ＩＤ」列、「商品ＩＤ」列、および「店舗ＩＤ」列がそれぞれフォーリンキー列に該当する。
【００３０】
プライマリキー列は、プライマリキーを格納する列である。プライマリキーは、他の表から参照される場合に参照先になるキーである。図１に示す例では、顧客マスタの「顧客ＩＤ」列、商品マスタの「商品ＩＤ」列、および店舗マスタの「店舗ＩＤ」列がそれぞれプライマリキーに該当する。
【００３１】
値列は、関係値列と属性値列とに分類することができる。
【００３２】
関係値列は、関係値を格納する列である。関係値は、複数のキー値の関係を表す値である。従って、関係値は、表内で複数のキー値に対応付けられる。ここで述べた「複数のキー値」は、全てフォーリンキーであってもよく、あるいは、フォーリンキーとプライマリキーとを含んでいてもよい。図１に示す例では、購買テーブルの「購買数」列および「購買金額」列がそれぞれ関係値列に該当する。
【００３３】
属性値列は、属性値を格納する列である。属性値は、１つのプライマリキーの属性を表す値である。従って、属性値は、表内で１つのプライマリキーに対応付けられる。図１に示す例では、顧客マスタの「年齢」列および「性別」列、並びに、商品マスタの「商品カテゴリ」列、並びに、店舗マスタの「地区」列がそれぞれ属性値列に該当する。
【００３４】
また、表は、例えば、以下に示す第１の表から第３の表までの３種類に分類することができる。
【００３５】
第１の表は、２以上のフォーリンキー列を含む表である。第１の表の例として、例えば、ファクト表が挙げられる。図１に示す例では、購買テーブルが第１の表に該当する。
【００３６】
第２の表は、キー列として１つのプライマリキー列のみを含む表である。第２の表の例として、例えば、マスタ表が挙げられる。図１に示す例では、顧客マスタ、商品マスタおよび店舗マスタがそれぞれ第２の表に該当する。
【００３７】
第３の表は、１つのプライマリキー列と１つ以上のフォーリンキー列を持つ表である。第３の表は、例えば、スノーフレークスキーマで用いられる。第３の表の例を図２に示す。図２において、「ＦＫ」と記載した列は、フォーリンキー列であり、「ＰＫ」と記載した列はプライマリキー列である。図２に示す表９１は、１つのプライマリキー列（「顧客ＩＤ」列）と、１つのフォーリンキー列（「会社ＩＤ」列）とを含んでいる。従って、図２に示す表９１は、第３の表に該当する。図２では、表９１が１つのフォーリンキー列を含んでいる場合を示しているが、第３の表に含まれるフォーリンキー列の数は２以上であってもよい。
【００３８】
複数のキー列（プライマリキー列であるかフォーリンキー列であるかは問わない。）を持つ表は、関係値列を持ち得る。従って、第１の表および第３の表は、関係値列を持ち得る。図１に示す購買テーブルは、第１の表に該当し、関係値列として、「購買数」列および「購買金額」列を持っている。また、図２に例示した表９１は、第３の表に該当し、関係値列として、「勤続年数」列を持っている。ただし、複数のキー列（プライマリキー列であるかフォーリンキー列であるかは問わない。）を持つ表が、関係値列を持っていなくてもよい。
【００３９】
また、プライマリキー列を持つ表は、属性値列を持ち得る。従って、第２の表および第３の表は、属性値列を持ち得る。図１に示す顧客マスタ、商品マスタおよび店舗マスタはそれぞれ、第２の表に該当し、属性値列を持っている。ただし、プライマリキー列を持つ表が、属性値列を持っていなくてもよい。例えば、図２に例示する表９１は、属性値列を持っていない。
【００４０】
以下に示す各実施形態では、予め分析者によって作成されたスキーマ設定情報に基づいて、図１に例示するＲＤＢが作成されている場合を例にして説明する。ただし、スキーマ設定情報で規定されている各表に含まれる各列は、図１に示す例に限定されない。すなわち、予め分析者によって作成されたスキーマ設定情報で規定される表の構成は、図１に示す例に限定されない。また、スキーマ設定情報で規定される表の参照関係も、図１に示す例に限定されない。また、図１では、購買テーブル、商品マスタ、顧客マスタおよび店舗マスタを例示したが、個々の表が表す内容も、特に限定されない。
【００４１】
以上の事項を前提として、本発明について説明する。
【００４２】
実施形態１．
図３は、本発明の第１の実施形態の表操作システムの構成例を示すブロック図である。第１の実施形態の表操作システム１は、データベース管理部２（以下、単にＤＢ管理部２と記す。）と、指定受付部３と、データ取得部４と、グルーピング部５と、属性値列追加部６とを備える。
【００４３】
ＤＢ管理部２は、ＲＤＢ（リレーショナルデータベース）７を管理するデータベースマネジメントシステム（ＤＢＭＳ）である。ＲＤＢ７に含まれる表同士の参照関係は、予め分析者によって作成されたスキーマ設定情報によって規定されている。また、ＲＤＢ７に含まれる各表の構成も、そのスキーマ設定情報によって規定されている。
【００４４】
本発明では、スキーマ設定情報によって各表の構成や表の参照関係が規定されたＲＤＢ７は、２以上のフォーリンキー列と１以上の関係値列を持つ表を含んでいるものとする。また、そのＲＤＢ７は、それらの各フォーリンキー列の参照先となる個々の表も含んでいるものとする。以下の説明では、スキーマ設定情報によって各表の構成や表の参照関係が規定されたＲＤＢ７が、図１に例示するＲＤＢであるものとして説明する。図１に示す購買テーブルは、「２以上のフォーリンキー列と１以上の関係値列を持つ表」に該当する。また、図１に示す顧客マスタ、商品マスタおよび店舗マスタはそれぞれ、「各フォーリンキー列の参照先となる個々の表」に該当する。
【００４５】
後述するように、表操作システム１は、これらの表の一部の表に、属性値列を追加する処理を行う。従って、一部の表には、スキーマ設定情報で規定されていない属性値列が追加される。
【００４６】
指定受付部３は、２以上のフォーリンキー列と１以上の関係値列を持つ表（本例では、購買テーブル）における少なくとも２つのフォーリンキー列の指定を、表操作システム１の操作者（以下、単に操作者と記す。）から受け付ける。さらに、指定受付部３は、その表における１つの関係値列の指定と、その関係値列に対応付けられる統計モデルの種別の指定も受け付ける。統計モデルの種別の例として、ポアソン分布、ガウス分布等が挙げられるが、これらの分布に限定されない。操作者は、関係値列として購買テーブルの「購買数」列を指定する場合、「購買数」列に対応付ける統計モデルの種別として、例えば、ポアソン分布を指定すればよい。また、操作者は、関係値列として購買テーブルの「購買金額」列を指定する場合、「購買金額」列に対応付ける統計モデルの種別として、例えば、ガウス分布を指定すればよい。
【００４７】
指定受付部３は、例えば、操作者がフォーリンキー列、関係値列、および統計モデルの種別の指定を入力するためのＧＵＩ（Graphical User Interface）をディスプレイ装置（図３において図示略）に表示し、そのＧＵＩを介して、フォーリンキー列、関係値列、および統計モデルの種別の指定を受け付けてもよい。各実施形態では、指定受付部３がＧＵＩを介して情報の指定を受け付ける場合を例にして説明する。
【００４８】
以下の説明では、指定受付部３は、図１に示す購買テーブルのフォーリンキー列のうち、「顧客ＩＤ」列および「商品ＩＤ」列の指定を受け付けた場合を例にして説明する。また、指定受付部３は、図１に示す購買テーブルの関係値列のうち、「購買数」列の指定を受け付けるとともに、統計モデルの種別として、ポアソン分布の指定を受け付けた場合を例にして説明する。ただし、操作者によって指定されるフォーリンキー列、関係値列および統計モデルの種別は、上記の例に限定されない。また、指定されるフォーリンキー列の数は３つ以上であってもよい。
【００４９】
データ取得部４は、操作者によって指定された各フォーリンキーの参照先となる個々の表を特定する。そして、データ取得部４は、特定した個々の表のプライマリキー列のキー値の組み合わせ毎に、指定された関係値列の関係値の集計値をＲＤＢ７から取得する。
【００５０】
データ取得部４の処理を、具体例を用いて説明する。本例では、フォーリンキーとして、「顧客ＩＤ」列および「商品ＩＤ」列が指定されている。データ取得部４は、「顧客ＩＤ」列の参照先となる表として、顧客マスタを特定する。また、データ取得部４は、「商品ＩＤ」列の参照先となる表として、商品マスタを特定する。そして、データ取得部４は、顧客マスタのプライマリキー列のキー値と、商品マスタのプライマリキー列のキー値との組み合わせ毎に、指定された関係値列の関係値の集計値を、その関係値列を含む表（本例では、購買テーブル）から取得する。本例では、関係値列として、「購買数」列が指定されている。従って、データ取得部４は、顧客マスタのプライマリキー列のキー値と、商品マスタのプライマリキー列のキー値との組み合わせ毎に、購買数の集計値を購買テーブルから取得する。
【００５１】
顧客マスタのプライマリキー列は、顧客マスタ内の「顧客ＩＤ」列であり、商品マスタのプライマリキー列は、商品マスタ内の「商品ＩＤ」列である。以下、これらのプライマリキー列のキー値の組み合わせの例として、顧客ＩＤ“１８３”と商品ＩＤ“５０”との組み合わせを用いて、購買数の集計値を取得する処理の例を示す。データ取得部４は、顧客ＩＤ“１８３”と商品ＩＤ“５０”との組み合わせに合致する購買テーブル内の行を検索し、その各行における購買数の値の合計値を返すことを、ＤＢ管理部２に要求する。図１に示す例では、顧客ＩＤ“１８３”と商品ＩＤ“５０”との組み合わせに合致する購買テーブル内の行は、行Ｂおよび行Ｅである。従って、ＤＢ管理部２は、行Ｂの購買数の値“３”と行Ｅの購買数の値“４”の合計値“７”を算出し、その算出結果を購買数の集計値として、データ取得部４に返す。この結果、データ取得部４は、顧客ＩＤ“１８３”と商品ＩＤ“５０”との組み合わせにおける購買数の集計値を取得する。
【００５２】
ここでは、顧客ＩＤ“１８３”と商品ＩＤ“５０”との組み合わせを例にして、データ取得部４が、購買数の集計値を取得する場合を示した。データ取得部４は、顧客ＩＤの値と商品ＩＤとの全ての組み合わせに関して、同様に、購買数の集計値を取得する。
【００５３】
データ取得部４は、顧客マスタのプライマリキー列のキー値（顧客マスタ内の顧客ＩＤ）と、商品マスタのプライマリキー列のキー値（商品マスタ内の商品ＩＤ）との組み合わせ毎に購買数の集計値を要求するＳＱＬを生成し、そのＳＱＬをＤＢ管理部２に入力することによって、組み合わせ毎の購買数の集計値を取得すればよい。
【００５４】
グルーピング部５は、指定された各フォーリンキーの参照先となる個々の表のプライマリキー列のキー値の組み合わせ毎にデータ取得部４が取得した集計値と、指定された種別の統計モデルとに基づいて、その個々の表のプライマリキー列のキー値をグループ分けする。
【００５５】
グルーピング部５の処理を、具体例を用いて説明する。上記の例では、データ取得部４は、顧客ＩＤの値と商品ＩＤとの組み合わせ毎に購買数の集計値を取得する場合を示した。また、統計モデルの種別として、ポアソン分布が指定されている。この場合、グルーピング部５は、顧客ＩＤの値と商品ＩＤとの組み合わせ毎の購買数の集計値と、ポアソン分布とに基づいて、顧客マスタ内の顧客ＩＤおよび商品マスタ内の商品ＩＤをグループ分けする。
【００５６】
以下、顧客ＩＤのグループを単に顧客ＩＤグループと記す。また、商品ＩＤのグループを単に商品ＩＤグループと記す。
【００５７】
また、以下の説明では、説明を簡単にするために、個々の顧客ＩＤがそれぞれ１つの顧客ＩＤグループのみに属し、個々の商品ＩＤがそれぞれ１つの商品ＩＤグループのみに属するように、グルーピング部５が顧客ＩＤおよび商品ＩＤをグループ分けする場合を例にして説明する。なお、このように、１つのキー値が１つのグループのみに属するようにグループを定めることをクラスタリングと呼ぶ。
【００５８】
顧客ＩＤを符号“ｃ”で表すこととする。また、商品ＩＤを符号“ｉ”で表すこととする。
【００５９】
また、顧客ＩＤ“ｃ”と商品ＩＤ“ｉ”との組み合わせに対応する関係値の集計値（本例では、購買数の集計値）を、集計値ｘｃ，ｉと記す。例えば、前述の例のように、顧客ＩＤ“１８３”と商品ＩＤ“５０”との組み合わせに関して集計値“７”が得られているとする。この場合、ｘ１８３，５０＝７である。
【００６０】
図４は、グループ分け前の顧客ＩＤおよび商品ＩＤを順番に並べた状態を図示している。図４では、顧客ＩＤを横軸方向に順番に並べ、商品ＩＤを縦軸方向に順番に並べた状態を示している。また、顧客ＩＤおよび商品ＩＤの組み合わせに対応する購買数の集計値ｘｃ，ｉを図示している。例えば、図４に示すｘ３，５は、顧客ＩＤ“３”と商品ＩＤ“５”の組み合わせに対応する購買数の集計値である。
【００６１】
図５は、グルーピング部５によって決定された顧客ＩＤグループおよび商品ＩＤグループの例を模式的に示す説明図である。グルーピング部５は、顧客ＩＤグループおよび商品ＩＤグループをそれぞれ複数決定する。ただし、図５では、説明を簡単にするため、ＩＤ“９”の顧客ＩＤグループと、ＩＤ“４”の商品ＩＤグループのみを図示している。顧客ＩＤグループの数、および商品ＩＤグループの数は、それぞれ、固定の値に定めてもよく、あるいは、固定の値に限定されなくてもよい。以下、顧客ＩＤグループの数はＫＣ個であり、各顧客ＩＤグループのＩＤは、１〜ＫＣであるとする。また、商品ＩＤグループの数はＫＩ個であり、各商品ＩＤグループのＩＤは、１〜ＫＩであるとする。また、顧客ＩＤグループのＩＤが“ｋ”（ｋは１〜ＫＣのうちのいずれか）である場合、その顧客ＩＤグループを、顧客ＩＤグループ“ｋ”と記す。この点は、商品ＩＤグループに関しても同様である。
【００６２】
また、図５に示す例では、グループに属している顧客ＩＤおよび商品ＩＤを括弧で示している。例えば、顧客ＩＤグループ“９”には、顧客ＩＤ“１”，“３”等が属している。商品ＩＤグループ“４”には、商品ＩＤ“２”，“５”等が属している。
【００６３】
１つの顧客ＩＤグループおよび１つの商品ＩＤグループの組み合わせには、その顧客ＩＤグループに属する顧客ＩＤ、および、その商品ＩＤグループに属する商品ＩＤの組み合わせに応じた集計値ｘｃ，ｉが対応している。例えば、図５に示す例では、顧客ＩＤグループ“９”および商品ＩＤグループ“４”の組み合わせには、ｘ１，２、ｘ３，５等が対応している。
【００６４】
なお、図５は、同一の顧客ＩＤグループに属する顧客ＩＤが連続して並び、同一の商品ＩＤグループに属する商品ＩＤが連続して並ぶように、図４を変形した図であると言うことができる。
【００６５】
以下、グルーピング部５がグループを決定する際の演算について説明する。
【００６６】
ここで、顧客ＩＤ“ｃ”が属する顧客ＩＤグループをｚＣｃと記す。例えば、顧客ＩＤ“３”が顧客ＩＤグループ“１”に属している場合、ｚＣ３＝１と表すことができる。また、ｚＣｃを、顧客ＩＤグループのＩＤに対応する要素のみを１とし他の要素を０とするベクトルで表してもよい。例えば、上記の例において、ｚＣ３＝（１，０，０，０，０，・・・）Ｔと表してもよい。
【００６７】
同様に、商品ＩＤ“ｉ”が属する商品ＩＤグループをｚＩｉと記す。例えば、商品ＩＤ“２”が商品ＩＤグループ“４”に属している場合、ｚＩ２＝４と表すことができる。また、ｚＩｉを、商品ＩＤグループのＩＤに対応する要素のみを１とし他の要素を０とするベクトルで表してもよい。例えば、上記の例において、ｚＩ２＝（０，０，０，１，０，・・・）Ｔと表してもよい。
【００６８】
また、統計モデルのパラメータのもとで集計値ｘｃ，ｉが生じる確率をｐ（ｘｃ，ｉ）と記す。具体的には、ｐ（ｘｃ，ｉ）は、以下の式（１）のように表される。
【００６９】
ｐ（ｘｃ，ｉ）＝ｐ（ｘｃ，ｉ｜θ（ｚＣｃ，ｚＩｉ））      ・・・式（１）
【００７０】
式（１）においてθ（ｚＣｃ，ｚＩｉ）は、顧客ＩＤ“ｃ”が属する顧客ＩＤグループ“ｚＣｃ”と商品ＩＤ“ｉ”が属する商品ＩＤグループ“ｚＩｉ”との組み合わせに対応する購買数の集計値の分布のパラメータである。この分布は、操作者によって指定された分布であり、本例では、ポアソン分布である。すなわち、本例では、θ（ｚＣｃ，ｚＩｉ）は、“ｚＣｃ”と“ｚＩｉ”との組み合わせに対応するポアソン分布のパラメータである。そして、ｐ（ｘｃ，ｉ）は、そのようなポアソン分布のパラメータのもとでｘｃ，ｉが生じる確率である。なお、分布のパラメータは、分布の種別に応じたパラメータであればよい。例えば、ガウス分布のパラメータは、平均および分散である。
【００７１】
グルーピング部５は、以下に示す式（２）を用いる。
【００７２】
【数１】
2016157707.tif 000003
【００７３】
式（２）は、個々の顧客ＩＤが属する各顧客ＩＤグループ、個々の商品ＩＤが属する各商品ＩＤグループ、および顧客ＩＤグループと商品ＩＤグループの組み合わせに応じた分布のパラメータ（θ（ｚＣｃ，ｚＩｉ））の組み合わせの尤度である。また、式（２）において、Ｓｃは、顧客ＩＤの集合であり、Ｓｉは、商品ＩＤの集合である。
【００７４】
グルーピング部５は、式（２）で算出される尤度を用いて、各顧客ＩＤグループおよび各商品ＩＤグループを決定する。このとき、グルーピング部５は、顧客ＩＤグループと商品ＩＤグループの組み合わせに応じた分布のパラメータ（θ（ｚＣｃ，ｚＩｉ））も、組み合わせ毎に決定する。
【００７５】
例えば、グルーピング部５は、式（２）で算出される尤度が増加するように、式（２）におけるｚＣｃ，ｚＩｉ，θ（ｚＣｃ，ｚＩｉ）を更新していき、各顧客ＩＤグループ、各商品ＩＤグループ、および、顧客ＩＤグループと商品ＩＤグループの組み合わせに応じた分布のパラメータをそれぞれ確定すればよい。
【００７６】
上記のように式（２）内の要素を更新するときに、尤度が最大になるように、各顧客ＩＤグループ、各商品ＩＤグループや、パラメータを決定する場合、あるいは、式（２）に事前分布を含め、事後分布を最大化する推定（ＭＡＰ推定）を行う場合は、グルーピング部５は、ＥＭ（Expectation-Maximization）を用いればよい。尤度が最大になるようにする方法は一例であり、グルーピング部５は、尤度が最大になるようにする方法以外の方法（例えば、変分ベイズ法やＧｉｂｂｓサンプリング法等）を用いて、各顧客ＩＤグループ、各商品ＩＤグループ等を決定してもよい。
【００７７】
各顧客ＩＤグループが決定されることによって、顧客マスタ内の個々の顧客ＩＤには、その顧客ＩＤが属する顧客ＩＤグループのＩＤを属性値として対応付けることができる。同様に、各商品ＩＤグループが決定されることによって、商品マスタ内の個々の商品ＩＤには、その商品ＩＤが属する商品ＩＤグループのＩＤを属性値として対応付けることができる。
【００７８】
属性値列追加部６は、指定された各フォーリンキーの参照先となる個々の表毎に、その表のプライマリキー列のキー値が属するグループのＩＤを属性値とする属性値列を追加する。本例では、属性値列追加部６は、顧客マスタに対して、顧客ＩＤが属する顧客ＩＤグループのＩＤを属性値とする属性値列を追加する。同様に、属性値列追加部６は、商品マスタに対して、商品ＩＤが属する商品ＩＤグループのＩＤを属性値とする属性値列を追加する。
【００７９】
図６は、新たに属性値列が追加された顧客マスタおよび商品マスタの例を示す。なお、図６では、図１に示す購買テーブルおよび店舗マスタの図示を省略している。本例では、フォーリンキー列のうち、「顧客ＩＤ」列および「商品ＩＤ」列が指定された場合を例にして説明したので、顧客マスタおよび商品マスタに新たに属性値列が追加される。指定されるフォーリンキー列の中に、「店舗ＩＤ」列が含まれていれば、「店舗ＩＤ」列の参照先となる店舗マスタに新たに属性値列が追加されることになる。
【００８０】
なお、本実施形態では、顧客ＩＤグループのＩＤや、商品ＩＤグループのＩＤを番号で表しているため、追加される属性値列の属性値も番号で示している。顧客ＩＤグループのＩＤや、商品ＩＤグループのＩＤを、分析者が理解しやすい名称で表し、追加される属性値列の属性値を、そのような理解しやすい名称としてもよい。この点は、後述の第２の実施形態においても同様である。
【００８１】
ＤＢ管理部２、指定受付部３、データ取得部４、グルーピング部５および属性値列追加部６は、例えば、プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、ＣＰＵは、コンピュータのプログラム記憶装置（図３において図示略）等のプログラム記録媒体から表操作プログラムを読み込み、その表操作プログラムに従って、ＤＢ管理部２、指定受付部３、データ取得部４、グルーピング部５および属性値列追加部６として動作すればよい。また、ＤＢ管理部２、指定受付部３、データ取得部４、グルーピング部５および属性値列追加部６がそれぞれ別のハードウェアで実現されていてもよい。これらの点は、後述の第２の実施形態においても同様である。
【００８２】
また、表操作システム１は、２つ以上の物理的に分離した装置が有線または無線で接続されている構成であってもよい。この点も、後述の第２の実施形態において同様である。
【００８３】
次に、処理経過について説明する。図７は、本発明の第１の実施形態の処理経過の例を示すフローチャートである。
【００８４】
指定受付部３は、２以上のフォーリンキー列と１以上の関係値列を持つ表における少なくとも２つのフォーリンキー列の指定を受け付けるとともに、その表における１つの関係値列の指定と、その関係値列に対応付けられる統計モデルの種別の指定とを受け付ける（ステップＳ１）。ステップＳ１において、指定受付部３は、これらの項目をユーザが入力するためのＧＵＩをディスプレイ装置（図３において図示略）に表示し、そのＧＵＩを介して、上記の各項目の指定を受け付ける。ＧＵＩの具体例については後述する。
【００８５】
以下の説明においても、フォーリンキー列として、図１に示す購買テーブルの「顧客ＩＤ」列および「商品ＩＤ」列が指定され、関係値列としてその購買テーブルの「購買数」列が指定される場合を例にする。また、統計モデルの種別としてポアソン分布が指定される場合を例にする。
【００８６】
次に、データ取得部４は、ステップＳ１で指定されたフォーリンキー列の参照先となる各表を特定する。本例では、データ取得部４は、購買テーブルの「顧客ＩＤ」列および「商品ＩＤ」列それぞれの参照先である顧客マスタおよび商品マスタ（図１参照）を特定する。そして、データ取得部４は、その個々の表のプライマリキー列のキー値の組み合わせ毎に、指定された関係値列の関係値の集計値をＲＤＢ７の購買テーブルから取得する（ステップＳ２）。本例では、データ取得部４は、顧客マスタの「顧客ＩＤ」列に格納されている各顧客ＩＤと商品マスタの「商品ＩＤ」列に格納されている各商品ＩＤの組み合わせ毎に、購買数の集計値を要求するＳＱＬを生成し、そのＳＱＬをＤＢ管理部２に入力する。ＤＢ管理部２は、そのＳＱＬに応じて、顧客ＩＤと商品ＩＤの組み合わせに合致する行を購買テーブル（図１参照）から検索し、検索した行における購買数の合計値を算出する処理を、顧客ＩＤと商品ＩＤの組み合わせ毎に実行する。ＤＢ管理部２は、顧客ＩＤと商品ＩＤの組み合わせ毎に算出した、購買数の合計値をデータ取得部４に返す。この結果、データ取得部４は、組み合わせ毎の購買数の集計値を取得する。
【００８７】
次に、グルーピング部５は、ステップＳ２で特定された各表のプライマリキー列のキー値をそれぞれグループ分けする（ステップＳ３）。本例では、グルーピング部５は、式（２）で算出される尤度が増加するように、個々の顧客ＩＤが属する顧客ＩＤグループ（ｚＣｃ）、個々の商品ＩＤが属する商品ＩＤグループ（ｚＩｉ）、および“ｚＣｃ”と“ｚＩｉ”との組み合わせに対応するポアソン分布のパラメータθ（ｚＣｃ，ｚＩｉ）を更新していき、各顧客ＩＤグループ、各商品ＩＤグループ、および、顧客ＩＤグループと商品ＩＤグループの組み合わせに応じたポアソン分布のパラメータをそれぞれ確定する。
【００８８】
次に、属性値列追加部６は、ステップＳ２で特定された表毎に、その表のプライマリキー列のキー値が属するグループのＩＤを属性とする属性値列を追加する（ステップＳ４）。本例では、属性値列追加部６は、顧客マスタに対して、顧客ＩＤが属する顧客ＩＤグループのＩＤを属性値とする属性値列を追加する。同様に、属性値列追加部６は、商品マスタに対して、商品ＩＤが属する商品ＩＤグループのＩＤを属性値とする属性値列を追加する。この結果、図６に示すように、顧客マスタおよび商品マスタに、新たな属性値列が追加される。
【００８９】
本実施形態によれば、スキーマ設定情報で規定されていなかった属性値列が、ステップＳ１で指定されたフォーリンキー列の参照先となる表に追加される。よって、分析者は、所望の条件に合致する情報をＢＩツールに提示させるときに、追加された属性値列の属性値（プライマリキーが属するグループのＩＤ）を条件に含めることができる。例えば、分析者が、顧客ＩＤグループ“５”に属する顧客が商品ＩＤグループ“１１”に属する商品を購買した購買数を知りたい場合、その分析者は、顧客に関して「顧客ＩＤグループ“５”」という条件を指定し、商品に関して「商品ＩＤグループ“１１”」という条件を指定することができる。
【００９０】
グルーピング部５は、グループやパラメータの尤度が増加するように、プライマリキー列のキー値をグループ分けする。この結果得られる各グループは、スキーマ設定情報に従って作成されたＲＤＢ７から分析者が把握することができないものである。本発明は、そのようなグループのＩＤを新たな属性値として参照先となる表に追加する。従って、本発明によれば、スキーマ設定情報で規定された表の構成からは分析者が気付くことができなかった条件を分析者が指定できるようになる。その結果、より分析しやすい情報を、ＢＩツールがＲＤＢ７から抽出して、分析者に提示できるようになる。
【００９１】
なお、上記の説明では、操作者によって２つのフォーリンキー列が指定される場合を説明した。操作者によって３つ以上のフォーリンキー列が指定されてもよい。例えば、購買テーブル（図１参照）の「顧客ＩＤ」列、「商品ＩＤ」列、「店舗ＩＤ」列が指定されてもよい。この場合、データ取得部４は、顧客マスタ内の顧客ＩＤと、商品マスタ内の商品ＩＤと、店舗マスタ内の店舗ＩＤとの組み合わせ毎に、関係値の集計値を取得すればよい。また、グルーピング部５は、顧客ＩＤ、商品ＩＤおよび店舗ＩＤに関して、それぞれグループ分けを行えばよい。この場合、グルーピング部５は、グループ分けの対象となる各キーが属する各グループ、その各グループの組み合わせに応じた分布（指定された種別の統計モデル）のパラメータを更新し、各グループ、および各グループの組み合わせに応じた分布のパラメータの尤度を増加させるようにして、各グループ、および各グループの組み合わせに応じた分布のパラメータを確定すればよい。より具体的には、グルーピング部５は、顧客マスタの個々の顧客ＩＤが属する顧客ＩＤグループ、商品マスタの個々の商品ＩＤが属する商品ＩＤグループ、店舗マスタの個々の店舗ＩＤが属する店舗ＩＤグループ、および、顧客ＩＤグループと商品ＩＤグループと店舗ＩＤグループとの組み合わせに応じた分布のパラメータを更新し、それらの尤度を増加させるようにして、各商品ＩＤグループ、各顧客ＩＤグループ、各店舗ＩＤグループおよび分布のパラメータを確定すればよい。また、属性値列追加部６は、顧客マスタ、商品マスタおよび店舗マスタにそれぞれ新たに属性値列を追加すればよい。
【００９２】
実施形態２．
本発明の第２の実施形態の表操作システムは、第１の実施形態の表操作システムと同様に、図３に示すブロック図で表すことができるので、図３を用いて第２の実施形態を説明する。第１の実施形態と同様の事項については、適宜説明を省略する。
【００９３】
第２の実施形態の表操作システム１は、ＤＢ管理部２と、指定受付部３と、データ取得部４と、グルーピング部５と、属性値列追加部６とを備える（図３参照）。
【００９４】
ＤＢ管理部２は、第１の実施形態におけるＤＢ管理部２と同様である。また、第２の実施形態においても、スキーマ設定情報によって各表の構成や表の参照関係が規定されたＲＤＢ７が、図１に例示するＲＤＢであるものとして説明する。
【００９５】
指定受付部３は、２以上のフォーリンキー列と１以上の関係値列を持つ表における少なくとも２つのフォーリンキー列の指定を受け付けるとともに、その表における１つの関係値列の指定と、その関係値列に対応付けられる統計モデルの種別の指定を受け付ける。この動作は、第１の実施形態と同様である。説明を簡単にするため、本実施形態でも、フォーリンキー列として、図１に示す購買テーブルの「顧客ＩＤ」列および「商品ＩＤ」列が指定され、関係値列としてその購買テーブルの「購買数」列が指定される場合を例にする。また、統計モデルの種別としてポアソン分布が指定される場合を例にする。
【００９６】
第２の実施形態では、指定受付部３は、さらに、指定されたフォーリンキー列の参照先となる表が持つ属性値列の指定も受け付け、その属性値列に対応付けられる統計モデルの種別の指定も受け付ける。なお、第２の実施形態で指定される属性値列の数は１つ以上である。指定されたフォーリンキー列の参照先となる表は、複数存在するが、その表のうち、属性値列が指定されない表があってもよい。また、指定された属性値列毎に、統計モデルの種別が指定される。
【００９７】
フォーリンキー列として、購買テーブルの「顧客ＩＤ」列および「商品ＩＤ」列が指定されるとする。すると、その「顧客ＩＤ」列の参照先となる表は顧客マスタであり、「商品ＩＤ」列の参照先となる表は商品マスタである（図１参照）。そして、顧客マスタは、属性値列として、「年齢」列および「性別」列を持ち、商品マスタは、属性値列として、「商品カテゴリ」列を持つ（図１参照）。指定受付部３は、「年齢」列、「性別」列および「商品カテゴリ」列のうち、１つ以上の属性値列の指定を受け付ける。
【００９８】
ここでは、説明を簡単にするため、指定受付部３が１つの属性値列の指定を受け付ける場合を例にして説明する。また、その属性値列が「年齢」列である場合を例にして説明する。操作者は、指定する属性値列に応じて、統計モデルの種別を指定すればよい。例えば、操作者は、属性値列として「年齢」列を指定する場合、「年齢」列に対応付ける統計モデルの種別として、ガウス分布を指定すればよい。以下、「年齢」列に対応付ける統計モデルの種別として、ガウス分布が指定された場合を例にして説明する。
【００９９】
また、例えば、操作者は、属性値列として「性別」列を指定する場合、ベルヌーイ分布を指定すればよい。また、例えば、操作者は、属性値列として「商品カテゴリ」列を指定する場合、多項分布を指定すればよい。
【０１００】
データ取得部４は、操作者によって指定された各フォーリンキーの参照先となる個々の表を特定する。そして、データ取得部４は、特定した個々の表のプライマリキー列のキー値の組み合わせ毎に、指定された関係値列の関係値の集計値をＲＤＢ７から取得する。この動作は、第１の実施形態と同様である。
【０１０１】
第２の実施形態では、データ取得部４は、さらに、指定された属性値列の属性値を、その属性値列を持つ表のプライマリキー列のキー値毎に取得する。本例では、属性値列として「年齢」列を指定されている。その「年齢」列を持つ表は、顧客マスタであり、その顧客マスタのプライマリキー列は「顧客ＩＤ」列である（図１参照）。従って、この場合、データ取得部４は、「年齢」列の属性値を、顧客マスタに含まれている顧客ＩＤ毎に取得する。
【０１０２】
データ取得部４は、指定された属性値列の属性値を、その属性値列を持つ表のプライマリキー列のキー値毎に要求するＳＱＬを生成し、そのＳＱＬをＤＢ管理部２に入力することによって、キー値毎に属性値を取得すればよい。
【０１０３】
グルーピング部５は、指定された各フォーリンキー列の参照先となる個々の表のプライマリキー列のキー値の組み合わせ毎に取得された集計値と、関係値列に対応付けられた種別の統計モデルと、指定された属性値列を持つ表のプライマリキー列のキー値毎に取得された属性値と、その属性値列に対応付けられた種別の統計モデルとに基づいて、その個々の表のプライマリキー列のキー値をグループ分けする。換言すれば、グルーピング部５は、指定された属性値列の属性値も用いて、プライマリキー列のキー値をグループ分けする。
【０１０４】
顧客ＩＤ“ｃ”に対応する年齢をａｃとする。統計モデルのパラメータのもとで年齢ａｃが生じる確率（換言すれば、顧客ＩＤ“ｃ”に対応する年齢がａｃである確率）をｐ（ａｃ）と記す。具体的には、ｐ（ａｃ）は、以下の式（３）のように表される。
【０１０５】
ｐ（ａｃ）＝ｐ（ａｃ｜α（ｚＣｃ））        ・・・式（３）
【０１０６】
式（３）において、α（ｚＣｃ）は、顧客ＩＤ“ｃ”が属する顧客ＩＤグループ“ｚＣｃ”に対応する年齢の分布のパラメータである。この分布は、属性値列に対応付けられた種別の統計モデルである。また、この種別は、操作者によって指定されたものである。本例では、この分布は、ガウス分布である。
【０１０７】
グルーピング部５は、以下に示す式（４）を用いる。
【０１０８】
【数２】
2016157707.tif 000004
【０１０９】
式（４）は、個々の顧客ＩＤが属する各顧客ＩＤグループ、個々の商品ＩＤが属する各商品ＩＤグループ、顧客ＩＤグループと商品ＩＤグループの組み合わせに応じた分布のパラメータ（θ（ｚＣｃ，ｚＩｉ））、および顧客ＩＤグループに応じた分布のパラメータ（α（ｚＣｃ））の組み合わせの尤度である。
【０１１０】
グルーピング部５は、式（４）で算出される尤度を用いて、各顧客ＩＤグループおよび各商品ＩＤグループを決定する。このとき、グルーピング部５は、顧客ＩＤグループと商品ＩＤグループの組み合わせに応じた分布のパラメータ（θ（ｚＣｃ，ｚＩｉ））も組み合わせ毎に決定し、また、各顧客ＩＤグループに応じた分布のパラメータ（α（ｚＣｃ））も顧客ＩＤグループ毎に決定する。
【０１１１】
例えば、グルーピング部５は、式（４）で算出される尤度が増加するように、式（４）におけるｚＣｃ，ｚＩｉ，θ（ｚＣｃ，ｚＩｉ），α（ｚＣｃ）を更新していき、各顧客ＩＤグループ、各商品ＩＤグループ、顧客ＩＤグループと商品ＩＤグループの組み合わせに応じた分布のパラメータ、および、顧客ＩＤグループに応じた分布のパラメータをそれぞれ確定すればよい。
【０１１２】
尤度が増加するようにしてグルーピング部５が各グループやパラメータを更新し、各グループやパラメータを確定する動作は、第１の実施形態における動作と同様である。
【０１１３】
各顧客ＩＤグループが決定されることによって、顧客マスタ内の個々の顧客ＩＤには、その顧客ＩＤが属する顧客ＩＤグループのＩＤを属性値として対応付けることができる。同様に、各商品ＩＤグループが決定されることによって、商品マスタ内の個々の商品ＩＤには、その商品ＩＤが属する商品ＩＤグループのＩＤを属性値として対応付けることができる。
【０１１４】
属性値列追加部６は、指定された各フォーリンキーの参照先となる個々の表毎に、その表のプライマリキー列のキー値が属するグループのＩＤを属性値とする属性値列を追加する。第２の実施形態における属性値列追加部６の動作は、第１の実施形態における属性値列追加部６の動作と同様である。本例では、属性値列追加部６は、顧客マスタに対して、顧客ＩＤが属する顧客ＩＤグループのＩＤを属性値とする属性値列を追加する。同様に、属性値列追加部６は、商品マスタに対して、商品ＩＤが属する商品ＩＤグループのＩＤを属性値とする属性値列を追加する。この結果、図６に例示するように、新たに属性値列が追加された顧客マスタおよび商品マスタが得られる。
【０１１５】
次に、処理経過について説明する。図８は、本発明の第２の実施形態の処理経過の例を示すフローチャートである。
【０１１６】
指定受付部３は、２以上のフォーリンキー列と１以上の関係値列を持つ表における少なくとも２つのフォーリンキー列の指定を受け付けるとともに、その表における１つの関係値列の指定と、その関係値列に対応付けられる統計モデルの種別の指定とを受け付ける。さらに、指定受付部３は、そのフォーリンキー列の参照先となる表が持つ属性値列の指定と、その属性値列に対応付けられる統計モデルの種別の指定とを受け付ける（ステップＳ１１）。指定受付部３は、これらの項目をユーザが入力するためのＧＵＩをディスプレイ装置（図３において図示略）に表示し、そのＧＵＩを介して、上記の各項目の指定を受け付ける。ＧＵＩの具体例については後述する。
【０１１７】
以下の説明においても、フォーリンキー列として、図１に示す購買テーブルの「顧客ＩＤ」列および「商品ＩＤ」列が指定され、関係値列としてその購買テーブルの「購買数」列が指定される場合を例にする。また、関係値列に対応付けられる統計モデルの種別としてポアソン分布が指定される場合を例にする。さらに、属性値列として「年齢」列が指定され、属性値列に対応付けられる統計モデルの種別としてガウス分布が指定される場合を例にする。
【０１１８】
次のステップＳ１２において、データ取得部４は、ステップＳ１１で指定されたフォーリンキー列の参照先となる各表を特定する。本例では、データ取得部４は、購買テーブルの「顧客ＩＤ」列および「商品ＩＤ」列それぞれの参照先である顧客マスタおよび商品マスタ（図１参照）を特定する。そして、データ取得部４は、その個々の表のプライマリキー列のキー値の組み合わせ毎に、指定された関係値列の関係値の集計値をＲＤＢ７の購買テーブルから取得する。この動作は、第１の実施形態におけるステップＳ２と同様である。
【０１１９】
さらに、ステップＳ１２において、データ取得部４は、指定された属性値列の属性値を、その属性値列を持つ表のプライマリキー列のキー毎に取得する（ステップＳ１２）。属性値列として指定された「年齢」列を持つ表は顧客マスタである（図１参照）。従って、本例では、データ取得部４は、「年齢」列の属性値を、顧客マスタの「顧客ＩＤ」列に格納されている顧客ＩＤ毎に取得する。データ取得部４は、「年齢」列の属性値を、顧客マスタの「顧客ＩＤ」列に格納されている顧客ＩＤ毎に要求するＳＱＬを生成し、そのＳＱＬをＤＢ管理部２に入力する。ＤＢ管理部２は、そのＳＱＬに応じて、「年齢」列の属性値を、顧客マスタの「顧客ＩＤ」列に格納されている顧客ＩＤ毎に抽出する処理を実行し、顧客ＩＤ毎に抽出した「年齢」列の属性値をデータ取得部４に返す。この結果、データ取得部４は、顧客ＩＤ毎の属性値を取得する。
【０１２０】
次に、グルーピング部５は、ステップＳ１２で特定された各表（顧客マスタおよび商品マスタ）のプライマリキー列のキー値をそれぞれグループ分けする（ステップＳ１３）。本例では、グルーピング部５は、式（４）で算出される尤度が増加するように、個々の顧客ＩＤが属する顧客ＩＤグループ（ｚＣｃ）、個々の商品ＩＤが属する商品ＩＤグループ（ｚＩｉ）、 “ｚＣｃ”と“ｚＩｉ”との組み合わせに対応するポアソン分布のパラメータθ（ｚＣｃ，ｚＩｉ）、および、“ｚＣｃ”に対応するガウス分布のパラメータα（ｚＣｃ）を更新していき、各顧客ＩＤグループ、各商品ＩＤグループ、顧客ＩＤグループと商品ＩＤグループの組み合わせに応じたポアソン分布のパラメータ、顧客ＩＤグループに応じたガウス分布のパラメータをそれぞれ確定する。
【０１２１】
次に、属性値列追加部６は、ステップＳ１２で特定された表毎に、その表のプライマリキー列のキー値が属するグループのＩＤを属性とする属性値列を追加する（ステップＳ１４）。ステップＳ１４の処理は、第１の実施形態におけるステップＳ４の処理と同様である。この結果、図６に示すように、顧客マスタおよび商品マスタに、新たな属性値列が追加される。
【０１２２】
第２の実施形態においても、第１の実施形態と同様の効果が得られる。特に、第２の実施形態では、指定されたフォーリンキーの参照先となる表のプライマリキー列のキー値をグループ分けする際、指定された属性値列も考慮してグループ分けを行う。従って、プライマリキー列のキー値のグループ分けの精度が向上する。その結果、分析者は、分析しやすい情報を得るための条件指定をより適切に行えるようになる。
【０１２３】
上記の第２の実施形態では、属性値列として、顧客マスタの「年齢」列が指定される場合を例にして説明した。「年齢」列は、属性値列の例であり、「年齢」列以外の属性値列が指定されてもよい。また、操作者によって指定される属性値列の数は、２以上であってもよい。グルーピング部５は、指定された属性値列に応じた尤度の算出式を用いて、ステップＳ１３におけるグループ分けを行えばよい。
【０１２４】
次に、第１の実施形態および第２の実施形態において、指定受付部３が各種項目の指定を受け付けるときに表示するＧＵＩについて説明する。第１の実施形態および第２の実施形態は、共通のＧＵＩを用いることができる。
【０１２５】
図９および図１０は、本発明で用いられるＧＵＩの例を示す説明図である。ＧＵＩとして用いられる画面は、例えば、表名表示欄５１と、選択表名表示欄５２と、列名表示欄５３と、第１の選択列名表示欄５４と、参照先表名表示欄５５，５６と、第２の選択列名表示欄５７と、種別選択欄５８と、ボタン６１〜６４とを含む。
【０１２６】
選択表名表示欄５２、列名表示欄５３、第１の選択列名表示欄５４、参照先表名表示欄５５，５６、第２の選択列名表示欄５７、および種別選択欄５８は、初期状態で空欄である。
【０１２７】
表名表示欄５１は、各表の表名を表示する欄である。指定受付部３は、スキーマ設定情報で規定されている各表の表名を表名表示欄５１に表示する。図９および図１０では、指定受付部３が、“order ”等の３つの表名を表名表示欄５１に表示した状態を例示している。
【０１２８】
選択表名表示欄５２は、操作者に選択された表名を表示する欄である。例えば、指定受付部３は、表名表示欄５１に表示した表名のうちの１つの表名に対してクリック操作が行われた場合、その表名が選択されたと判定し、その表名を選択表名表示欄５２に表示する。図９および図１０では、操作者が表名表示欄５１内の“order ”をクリックしたことによって、指定受付部３が選択表名表示欄５２に表名“order ”を表示した状態を例示している。
【０１２９】
列名表示欄５３は、選択された表名が示す表が持つ各列の列名を表示する欄である。図９および図１０では、“order ”という表名の表が持っている各列の列名を指定受付部３が列名表示欄５３に表示した状態を例示している。なお、図９および図１０では、プライマリキー列の列名には“PK”という符号を付加し、フォーリンキー列の列名には“FK”という符号を付加している。
【０１３０】
第１の選択列名表示欄５４は、選択されたフォーリンキー列の列名を表示する欄である。第１の選択列名表示欄５４に列名が表示されているフォーリンキー列は、操作者によって指定されたフォーリンキー列である。フォーリンキー列の選択操作（換言すれば、指定操作）は、例えば、列名表示欄５３に表示されたフォーリンキー列の列名をクリックし、続いて、ボタン６１をクリックする操作である。このような操作が行われた場合、指定受付部３は、そのフォーリンキー列の列名を第１の選択列名表示欄５４に表示し、列名表示欄５３からその列名を削除する。操作者は、少なくとも２つのフォーリンキー列に対して、上記の選択操作を行い、指定受付部３は、それらのフォーリンキー列が指定されたと判定する。図１０では、“customer_cd ”という列名のフォーリンキー列と、“item_cd”という列名のフォーリンキー列が操作者によって指定された状態を例示している。
【０１３１】
なお、操作者は、フォーリンキー列の指定を解除する場合、第１の選択列名表示欄５４に表示された列名のうち、指定を解除しようとするフォーリンキー列の列名をクリックし、続いて、ボタン６２をクリックすればよい。このような操作が行われた場合、指定受付部３は、そのフォーリンキー列の列名を第１の選択列名表示欄５４から削除し、その列名を、再度、列名表示欄５３に表示する。
【０１３２】
また、指定受付部３は、第１の選択列名表示欄５４に列名を表示したフォーリンキー列（すなわち、操作者に指定されたフォーリンキー列）の参照先となる表の表名を、参照先表名表示欄５５，５６に表示する。図１０では、“customer_cd ”という列名のフォーリンキー列の参照先となる表の表名“customer”および“item_cd ” という列名のフォーリンキー列の参照先となる表の表名“item”が、参照先表名表示欄５５，５６に表示された状態を例示している。操作者は、参照先表名表示欄５５，５６を見ることによって、指定したフォーリンキー列の参照先となる表を把握することができる。
【０１３３】
第２の選択列名表示欄５７は、選択された関係値列の列名または選択された属性値列の列名を表示する欄である。第２の選択列名表示欄５７に列名が表示されている値列は、操作者によって指定された関係値列または属性値列である。
【０１３４】
関係値列の選択操作（換言すれば、指定操作）は、例えば、列名表示欄５３に表示された関係値列の列名をクリックし、続いて、ボタン６３をクリックする操作である。このような操作が行われた場合、指定受付部３は、その関係値列の列名を第２の選択列名表示欄５７に表示し、列名表示欄５３からその列名を削除する。操作者は１つの関係値列に対して、上記の選択操作を行い、指定受付部３は、その関係値列が指定されたと判定する。
【０１３５】
種別選択欄５８は、第２の選択列名表示欄５７に表示された列名が示す値列に対応する統計モデルの種別を選択するための欄である。図１０に示す例では、種別選択欄５８がプルダウンメニューである場合を例示している。操作者は、種別選択欄５８を操作することによって、第２の選択列名表示欄５７に表示された列名が示す値列に対応する統計モデルの種別を選択すればよい。この操作が行われると、指定受付部３は、第２の選択列名表示欄５７に表示された列名が示す値列に対応する統計モデルの種別が指定されたと判定する。
【０１３６】
図１０に示す例では、“quantity”という列名の関係値列が指定され、その関係値列に対応する統計モデルの種別としてポアソン分布が指定された場合を例示している。
【０１３７】
属性値列の選択操作およびその属性値列に対応する統計モデルの種別の選択操作は、関係値列の選択操作およびその関係値列に対応する統計モデルの種別の選択操作と同様である。例えば、操作者は、列名表示欄５３に表示された属性値列の列名をクリックし、ボタン６３をクリックすればよい。このような操作が行われた場合、指定受付部３は、その属性値列の列名を第２の選択列名表示欄５７に表示し、列名表示欄５３からその列名を削除する。操作者は選択しようとする属性値列に対して上記の操作を行い、指定受付部３は、その属性値列が指定されたと判定する。
【０１３８】
また、操作者は、指定した属性値列が第２の選択列名表示欄５７に表示された状態で、種別選択欄５８を操作することによって、属性値列に対応する統計モデルの種別を選択すればよい。この操作が行われると、第２の選択列名表示欄５７に表示された属性値列に対応する統計モデルの種別が選択されたと判定する。
【０１３９】
なお、第１の実施形態では、属性値列の選択操作およびその属性値列に対応する統計モデルの種別の選択操作が行われた場合であっても、表操作システム１は、その属性値列や統計モデルを用いなくてよい。
【０１４０】
なお、操作者は、関係値列または属性値列の指定を解除する場合、第２の選択列名表示欄５７に表示されている関係値列の列名または属性値列の列名をクリックし、続いて、ボタン６４をクリックすればよい。このような操作が行われた場合、指定受付部３は、その関係値列の列名または属性値列の列名を第２の選択列名表示欄５７から削除し、その列名を、再度、列名表示欄５３に表示する。
【０１４１】
上記のようなＧＵＩによって、第１の実施形態および第２の実施形態において、指定受付部３は各種項目の指定を受け付けることができる。ただし、ＧＵＩは、図９および図１０に例示するＧＵＩに限定されない。また、指定受付部３は、ＧＵＩを用いずに、各種項目の指定を受け付けてもよい。
【０１４２】
また、前述の各実施形態では、グルーピング部５が１つのキー値が１つのグループのみに属するようにグループ分けを行う場合を例にして説明した。グルーピング部５は、１つのキー値が複数のグループに属することを許容してキー値をグループ分けしてもよい。例えば、上記の各実施形態に示した例において、グルーピング部５は、個々の顧客ＩＤが１つまたは複数の顧客ＩＤグループに属し、個々の商品ＩＤが１つまたは複数の商品ＩＤグループに属するようにして、顧客ＩＤグループや商品ＩＤグループを決定してもよい。
【０１４３】
また、本発明において、キー列は、複数の列を含んでいてもよい。キー列が複数の列を含む場合、例えば、キー値をベクトルで表してもよい。図１１は、キー列が複数の列を含む場合の例を示す説明図である。図１１は、グループ会社に属する個々の社員を一意に識別するためのキー列を例示している。図１１に例示するキー列は、「会社ＩＤ」列と、「社内社員ＩＤ」列とを含んでいる。グループ会社を形成する複数の会社が、同一の社内社員ＩＤを用いる場合もある。例えば、図１１に示すように、会社“１００１”と会社“１００２”に、同一の社内社員ＩＤ“１２３４５”を有する別々の社員がいるとする。このような場合、社内社員ＩＤだけでは、グループ会社に属する個々の社員を一意に識別することができない。しかし、「会社ＩＤ」列と「社内社員ＩＤ」列との組み合わせをキー列として用いることで、グループ会社に属する個々の社員を一意に識別することができる。例えば、図１１に示す例では、（１００１，１２３４５）というキー値と、（１００２，１２３４５）というキー値により、別々の社員をそれぞれ一意に識別することができる。図１１では、キー列が２つの列を含む場合を例示したが、キー列は３つ以上の列を含んでいてもよい。
【０１４４】
また、本発明において、関係値列は、複数の列を含んでいてもよい。関係値列が複数の列を含む場合、例えば、関係値をベクトルで表してもよい。図１２は、関係値列が複数の列を含む場合の例を示す説明図である。図１２は、購買個数を格納する関係値列を例示している。そして、購買個数を格納する関係値列が、「昼間の購買個数」列と、「夜間の購買個数」列とを含む場合を例示している。例えば、図１２に示す行Ｐでは、購買数を（１２，５）というベクトルで表すことができる。同様に、図１２に示す行Ｑでは、購買数を（７，１０）というベクトルで表すことができる。図１２では、関係値列が２つの列を含む場合を例示したが、関係値列は３つ以上の列を含んでいてもよい。
【０１４５】
また、複数のキー列を持つ表において、関係値列が明示的に示されていない場合に、関係値列が存在しているとみなしてもよい。図１３は、関係値列が明示的に示されていない表の例を示す説明図である。図１３に示す表は、キー列として「顧客ＩＤ」列と「会社ＩＤ」列とを含んでいる。「会社ＩＤ」列は、顧客ＩＤによって特定される人物が勤務している会社のＩＤを格納する。図１３では、関係値列が明示的に示されていない。しかし、図１３では、「顧客と会社の雇用関係の有無」という関係値を格納する関係値列が存在しているとみなすことができる。「顧客と会社の雇用関係の有無」という関係値は、二値（本例では“０”および“１”とする。）のいずれかの値である。ここでは、顧客ＩＤで識別される顧客と会社ＩＤで識別される会社の雇用関係があれば、この関係値の値は“１”であり、雇用関係がなければ、この関係値の値は“０”である。「顧客ＩＤ」列と「会社ＩＤ」列とにそれぞれキー値が格納されている行では、「顧客と会社の雇用関係の有無」という関係値は“１”である。従って、図１３に例示する全ての行において、「顧客と会社の雇用関係の有無」という関係値として“１”が格納された関係値列が存在するとみなすことができる。また、例えば、顧客ＩＤ“１８０”と会社ＩＤ“１３５５”とが対応付けられた行が図１３に例示する表に存在しないとする。この場合、顧客ＩＤ“１８０”と会社ＩＤ“１３５５”との関係に関しては、「顧客と会社の雇用関係の有無」という関係値は“０”である。
【０１４６】
図１４は、本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ１０００は、ＣＰＵ１００１と、主記憶装置１００２と、補助記憶装置１００３と、インタフェース１００４と、ディスプレイ装置１００５と、入力デバイス１００６とを備える。
【０１４７】
各実施形態の表操作システムは、コンピュータ１０００に実装される。表操作システムの動作は、プログラム（表操作プログラム）の形式で補助記憶装置１００３に記憶されている。ＣＰＵ１００１は、プログラムを補助記憶装置１００３から読み出して主記憶装置１００２に展開し、そのプログラムに従って上記の処理を実行する。
【０１４８】
補助記憶装置１００３は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例として、インタフェース１００４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ１０００に配信される場合、配信を受けたコンピュータ１０００がそのプログラムを主記憶装置１００２に展開し、上記の処理を実行してもよい。
【０１４９】
また、プログラムは、前述の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置１００３に既に記憶されている他のプログラムとの組み合わせで前述の処理を実現する差分プログラムであってもよい。
【０１５０】
次に、本発明の概要について説明する。図１５は、本発明の概要を示すブロック図である。本発明の表操作システムは、指定受付手段７１と、データ取得手段７２と、グルーピング手段７３と、属性値列追加手段７４とを備える。
【０１５１】
指定受付手段７１（例えば、指定受付部３）は、２以上のフォーリンキー列と１以上の関係値列とを持つ表における少なくとも２つのフォーリンキー列の指定と、関係値列の指定と、当該関係値列に対応付けられる統計モデルの種別の指定とを受け付ける。
【０１５２】
データ取得手段７２（例えば、データ取得部４）は、指定された各フォーリンキー列の参照先となる個々の表を特定し、特定した個々の表のプライマリキー列のキー値の組み合わせ毎に、関係値列の関係値の集計値を取得する。
【０１５３】
グルーピング手段７３（例えば、グルーピング部５）は、個々の表のプライマリキー列のキー値の組み合わせ毎に取得された集計値と、指定された種別の統計モデルとに基づいて、個々の表のプライマリキー列のキー値をそれぞれグループ分けする。
【０１５４】
属性値列追加手段７４（例えば、属性値列追加部６）は、個々の表毎に、当該表のプライマリキー列のキー値が属するグループの識別情報を属性値とする属性値列を追加する。
【０１５５】
そのような構成によって、より分析しやすい情報を得るための条件指定が行えるように表の構成を変更することができる。
【０１５６】
指定受付手段７１が、指定されたフォーリンキー列の参照先となる表が持つ属性値列の指定と、当該属性値列に対応付けられる統計モデルの種別の指定とを受け付け、データ取得手段７２が、指定された属性値列の属性値を、当該属性値列を持つ表のプライマリキー列のキー値毎に取得し、グルーピング手段７３が、指定された各フォーリンキー列の参照先となる個々の表のプライマリキー列のキー値の組み合わせ毎に取得された集計値と、関係値列に対応付けられた種別の統計モデルと、属性値列を持つ表のプライマリキー列のキー値毎に取得された属性値と、属性値列に対応付けられた種別の統計モデルとに基づいて、個々の表のプライマリキー列のキー値をそれぞれグループ分けする構成であってもよい。
【０１５７】
また、指定受付手段７１が、各表の表名を表示する表名表示欄（例えば、表名表示欄５１）と、選択された表名が示す表が持つ各列の列名を表示する列名表示欄（例えば、列名表示欄５３）と、選択された関係値列の列名または選択された属性値列の列名を表示する選択列名表示欄（例えば、第２の選択列名表示欄５７）と、選択列名表示欄に表示された列名に対応する統計モデルの種別を選択するための種別選択欄（例えば、種別選択欄５８）とを含む画面を表示し、列名表示欄に表示された列名の中から少なくとも２つのフォーリンキー列の列名が選択されることによって、少なくとも２つのフォーリンキー列の指定を受け付け、列名表示欄に表示された列名の中から関係値列の列名が選択され、かつ、種別選択欄で統計モデルの種別が選択されることによって、関係値列の指定と、当該関係値列に対応付けられる統計モデルの種別の指定を受け付け、列名表示欄に表示された列名の中から属性値列の列名が選択され、かつ、種別選択欄で統計モデルの種別が選択されることによって、属性値列の指定と、当該属性値列に対応付けられる統計モデルの種別の指定を受け付ける構成であってもよい。
【０１５８】
また、グルーピング手段７３が、１つのキー値が１つのグループのみに属するようにキー値をグループ分けする構成であってもよい。
【０１５９】
また、グルーピング手段７３が、１つのキー値が複数のグループに属することを許容してキー値をグループ分けする構成であってもよい。
【０１６０】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１６１】
この出願は、２０１５年３月３０日に出願された日本特許出願２０１５−０６９３７０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用の可能性】
【０１６２】
本発明は、予め定められているデータベースの表を操作する表操作システムに好適に適用される。
【符号の説明】
【０１６３】
１  表操作システム
２  データベース管理部（ＤＢ管理部）
３  指定受付部
４  データ取得部
５  グルーピング部
６  属性値列追加部
【図１】
2016157707.tif 000005
【図２】
2016157707.tif 000006
【図３】
2016157707.tif 000007
【図４】
2016157707.tif 000008
【図５】
2016157707.tif 000009
【図６】
2016157707.tif 000010
【図７】
2016157707.tif 000011
【図８】
2016157707.tif 000012
【図９】
2016157707.tif 000013
【図１０】
2016157707.tif 000014
【図１１】
2016157707.tif 000015
【図１２】
2016157707.tif 000016
【図１３】
2016157707.tif 000017
【図１４】
2016157707.tif 000018
【図１５】
2016157707.tif 000019
【図１６】
2016157707.tif 000020
【図１７】
2016157707.tif 000021
【国際調査報告】
2016157707.tif 000022
2016157707.tif 000023
2016157707.tif 000024