(57)【要約】【課題】  複数の分析プログラムにおける更新の影響範囲を特定することにある。【解決手段】  データ分析システムであって、分析シート定義の保存を検出すると、前記分析シート定義、キューブ定義、およびデータフロー定義の情報を保存し、前記データフロー定義に含まれる複数の分析プログラムの更新に関する情報を格納する分析管理部と、前記キューブ定義を用いて、更新されたと特定された分析プログラムが影響する前記分析シート定義の範囲を特定するデータフロー影響検出部と、を備える。【選択図】  図１
2019204341.tif 000002
【特許請求の範囲】
【請求項１】
データ分析システムであって、
分析シート定義の保存を検出すると、前記分析シート定義、キューブ定義、およびデータフロー定義の情報を保存し、前記データフロー定義に含まれる複数の分析プログラムの更新に関する情報を格納する分析管理部と、
前記キューブ定義を用いて、更新されたと特定された分析プログラムが影響する前記分析シート定義の範囲を特定するデータフロー影響検出部と、
を備えたことを特徴とするデータ分析システム。
【請求項２】
請求項１に記載のデータ分析システムであって、
前記分析シート定義には、複数のパネルが定義され、
前記キューブ定義には、複数のディメンジョンとメジャーが定義され、
前記データフロー定義には、複数の前記分析プログラムと、前記分析プログラムの入力データおよび出力データと、前記分析プログラムの順序とが定義されていること
を特徴とするデータ分析システム。
【請求項３】
請求項２に記載のデータ分析システムであって、
前記分析管理部は、
前記分析シート定義のファイルサーバへの保存を検出すると、前記分析シート定義のファイルの識別情報、前記キューブ定義のファイルの識別情報、および前記データフロー定義のファイルの識別情報を分析管理テーブルに保存し、前記データフロー定義に定義された複数の前記分析プログラムそれぞれについて最新の分析プログラムの情報を、更新に関する情報として分析情報カタログに格納すること
を特徴とするデータ分析システム。
【請求項４】
請求項２に記載のデータ分析システムであって、
前記データフロー影響検出部は、
前記データフロー定義に定義された複数の前記分析プログラムの中で、更新された前記分析プログラムを特定し、更新されたと特定された前記分析プログラムの前記出力データと、更新されたと特定された前記分析プログラムの後の順序の前記分析プログラムの前記出力データにマークを設定すること
を特徴とするデータ分析システム。
【請求項５】
請求項４に記載のデータ分析システムであって、
前記データフロー影響検出部は、
前記分析シート定義で定義された複数の前記パネルの中から、前記マークが設定された前記出力データに対応する前記パネルを、前記キューブ定義を用いて特定し、特定された前記パネルに関する情報を、影響する情報として表示するように制御すること
を特徴とするデータ分析システム。
【請求項６】
請求項５に記載のデータ分析システムであって、
前記分析シート定義に定義された複数の前記パネルは、ディメンジョンとメジャーを含み、
前記データフロー影響検出部は、
前記キューブ定義で定義された複数の前記ディメンジョンあるいは前記メジャーの中から、前記マークが設定された前記出力データに対応するデータを含む前記ディメンジョンあるいは前記メジャーを特定し、特定された前記ディメンジョンあるいは前記メジャーを含む前記パネルを特定すること
を特徴とするデータ分析システム。
【請求項７】
請求項６に記載のデータ分析システムであって、
前記データフロー影響検出部は、
特定された前記パネルの名称、特定された前記ディメンジョンあるいは前記メジャーの名称、または更新されたと特定された前記分析プログラムの名称を表示するように制御すること
を特徴とするデータ分析システム。
【請求項８】
請求項６に記載のデータ分析システムであって、
前記キューブ定義で定義された複数の前記ディメンジョンあるいは前記メジャーの一部は、集約処理の定義を含み、
前記データフロー影響検出部は、
特定された前記ディメンジョンあるいは前記メジャーに集約処理が定義されていると、前記分析シート定義の影響度を算出すること
を特徴とするデータ分析システム。
【請求項９】
請求項６に記載のデータ分析システムであって、
前記分析管理部は、
分析操作の履歴を分析操作管理テーブルへ記録し、
前記データフロー影響検出部は、
特定された前記ディメンジョンあるいは前記メジャーを前記パネルに含む前記分析シート定義の分析操作を、前記分析操作管理テーブルで検出し、検出された分析操作を識別可能に表示するように制御すること
を特徴とするデータ分析システム。
【請求項１０】
サーバで実行されるデータ分析方法であって、
前記サーバは、
ＣＰＵと、
前記ＣＰＵが実行するプログラムが格納されたメモリと、
を備え、
前記ＣＰＵは、
分析シート定義の保存を検出すると、前記分析シート定義、キューブ定義、およびデータフロー定義の情報を保存し、前記データフロー定義に含まれる複数の分析プログラムの更新に関する情報を格納し、
前記キューブ定義を用いて、更新されたと特定された分析プログラムが影響する前記分析シート定義の部分を特定すること
を特徴とするデータ分析方法。
【請求項１１】
請求項１０に記載のデータ分析方法であって、
前記分析シート定義には、複数のパネルが定義され、
前記キューブ定義には、複数のディメンジョンとメジャーが定義され、
前記データフロー定義には、複数の前記分析プログラムと、前記分析プログラムの入力データおよび出力データと、前記分析プログラムの順序とが定義されていること
を特徴とするデータ分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ分析システムおよびデータ分析方法に関するものである。
【背景技術】
【０００２】
近年、データ分析を活用した業務の効率化が推進されている。このようなデータ分析は、ＯＬＡＰ（ｏｎｌｉｎｅ  ａｎａｌｙｔｉｃａｌ  ｐｒｏｃｅｓｓｉｎｇ）などと呼ばれる場合がある。このようなＯＬＡＰおいては、システムの変更に柔軟に対応可能なデータ分析が求められている。
【０００３】
これに対し、特許文献１には、ＯＬＡＰに用いるキューブの変更を容易に実行するために、ＯＬＡＰキューブテンプレートを用いるシステムが記載されている。また、特許文献２には、データベースのスキーマ定義、データ変換処理のコマンド群を変更内容に応じたものへ修正するシステムが記載されている。
【０００４】
さらに、特許文献２には、データを保持する関係もしくは多次元データベースのスキーマ定義とデータベース間のデータ変換処理の定義を保持し、変更パタン情報としてシステムに対して変更を指示するための変数と変数により影響を受ける箇所を特定することが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−００２７９２号公報
【特許文献２】特開２００４−０９４４２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年のデータ分析においては、テキストまたは図表などの非構造データが活用されるようになってきている。非構造データの活用においては、複数段の分析プログラムにより基の非構造データ、二次データ、三次データと分析のフローが進み、複数段の分析プログラムの一部に改善のための更新が加われば、分析結果に影響の出る可能性がある。
【０００７】
これに対して、特許文献１、２には、このような複数段の分析プログラムの更新による影響に関する技術の記載は見当たらない。
【０００８】
本発明の目的は、複数の分析プログラムにおける更新の影響範囲を特定することにある。
【課題を解決するための手段】
【０００９】
本発明に係る代表的なデータ分析システムは、分析シート定義の保存を検出すると、前記分析シート定義、キューブ定義、およびデータフロー定義の情報を保存し、前記データフロー定義に含まれる複数の分析プログラムの更新に関する情報を格納する分析管理部と、前記キューブ定義を用いて、更新されたと特定された分析プログラムが影響する前記分析シート定義の範囲を特定するデータフロー影響検出部と、を備えたことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、複数の分析プログラムにおける更新の影響範囲を特定できる。
【図面の簡単な説明】
【００１１】
【図１】データ分析システムの例を示す図である。
【図２】分析情報収集部の処理の例を示すフローチャートである。
【図３】分析管理テーブルの例を示す図である。
【図４】分析情報カタログの例を示す図である。
【図５】データフロー定義の例を示す図である。
【図６】キューブ定義の例を示す図である。
【図７】分析シート定義の例を示す図である。
【図８】データフロー差分抽出部の処理の例を示すフローチャートである。
【図９】分析シート影響範囲抽出部の処理の例を示すフローチャートである。
【図１０】分析シート影響範囲抽出による端末の表示の例を示す図である。
【図１１】分析シート影響度算出部の処理の例を示すフローチャートである。
【図１２】分析操作管理テーブルの例を示す図である。
【図１３】分析シート操作解析部の処理の例を示すフローチャートである。
【図１４】分析シート操作解析による端末の標示の例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照しつつ、本発明の好ましい実施形態を実施例として説明する。
【００１３】
図１は、データ分析システムの例を示す図である。データ分析システムは、ユーザ１０２が情報を入力し、ユーザ１０２へ情報を表示する端末１０１、データ分析サーバ１００、ＤＢサーバ１０３、およびファイルサーバ１０４から構成される。
【００１４】
図１では、データ分析サーバ１００に他の装置が接続される例を示したが、端末１０１、データ分析サーバ１００、ＤＢサーバ１０３、およびファイルサーバ１０４は図示を省略したネットワークで接続されてもよい。また、各装置は１台ではなく、複数台であってもよい。
【００１５】
データ分析サーバ１００は、一般的なコンピュータであってもよく、メモリ１１０とＣＰＵ１８０（Central Processing Unit）を備える。ＣＰＵ１８０はメモリ１１０に格納されたプログラムを実行し、メモリ１１０に格納されたデータを処理する。データ分析サーバ１００は、図示が省略されたネットワークインターフェースあるいは入出力装置を備えてもよい。
【００１６】
メモリ１１０は、半導体メモリであるが、図１に示したようにプログラムとデータが格納される必要はなく、データ分析サーバ１００に備えられ、図示が省略されたＨＤＤ（Hard Disk Drive）あるいはＳＳＤ（Solid State Drive）などとの間でプログラムまたはデータが転送されて、プログラムまたはデータの一部が格納されてもよい。
【００１７】
データ分析シート作成部１５０は、データの分析シート定義を作成するためのプログラムであり、具体的には、分析シート作成部１５１と分析シート保存部１５２から構成される。分析シート作成部１５１が、データの分析シート定義を作成するためのプログラム本体であり、分析シート保存部１５２は、作成された分析シート定義を保存するためのプログラムである。分析シートの定義については、図７を用いて後で説明する。
【００１８】
なお、メモリ１１０に格納されたデータ分析シート作成部１５０はプログラムであるが、データ分析シート作成部１５０のプログラムを実行している状態のＣＰＵ１８０もデータ分析シート作成部１５０と呼び、メモリ１１０に格納された他の部も同じ呼び方をする。このため、以下の説明で、メモリ１１０に格納された各部を主語とする説明は、ＣＰＵ１８０を主語とする説明に置き換えられてもよい。
【００１９】
データキューブ管理部１６０は、データのキューブ定義を管理するためのプログラムであり、具体的には、キューブを定義するキューブ定義部１６１と、キューブ定義に関する情報を保存するキューブ情報保存部１６２から構成される。キューブの定義については、図６を用いて後で説明する。
【００２０】
データフロー管理部１７０は、データフロー定義を管理するためのプログラムであり、具体的には、データフローを定義するデータフロー定義部１７１と、データフロー定義の情報を保存するデータフロー保存部１７２から構成される。データフローの定義については、図５を用いて後で説明する。
【００２１】
分析影響抽出部１２０は、分析管理部１３０とデータフロー影響検出部１４０から構成される。分析管理部１３０は、分析操作収集部１３１と分析情報収集部１３４を含む。分析操作収集部１３１は、分析操作の情報を収集し、分析操作管理テーブル１３２へ格納するためのプログラムである。
【００２２】
分析情報収集部１３４は、分析のための情報を収集し、分析管理テーブル１３５と分析情報カタログ１３６へ格納するためのプログラムである。これらに関しては、図２〜４を用いて後で説明する。なお、分析操作管理テーブル１３２、分析管理テーブル１３５、および分析情報カタログ１３６は、データである。
【００２３】
データフロー影響検出部１４０は、分析プログラムの変更（更新）による影響をデータフロー定義に基づいて検出するためのプログラムであり、４つの部から構成される。データフロー差分抽出部１４１、分析シート影響範囲抽出部１４２、分析シート影響度算出部１４３、および分析シート操作解析部１４４のそれぞれに関しては、図８、図９、図１１、および図１３を用いて後で説明する。
【００２４】
ＤＢサーバ１０３は、データ分析の結果となるデータなどが格納される。また、ＤＢサーバ１０３は、データ分析の途中において得られたデータが格納されてもよいし、データ分析の対象となるデータが格納されてもよい。ファイルサーバ１０４は、後で説明する定義ファイルなどが格納される。
【００２５】
図２は、分析情報収集部１３４の処理の例を示すフローチャートである。分析シート作成部１５１が分析シート定義を作成し、作成された分析シート定義を分析シート保存部１５２がファイルサーバ１０４へ保存する。分析情報収集部１３４は、分析シート定義がファイルサーバ１０４へ保存されたことを検出し、図２に示した分析情報収集の処理を開始する。
【００２６】
ステップ２０１で分析情報収集部１３４は、分析シートの定義ファイルの情報、キューブ情報の定義ファイルの情報、およびデータフローの定義ファイルの情報を取得し、分析管理テーブル１３５に保存する。ここで、分析情報収集部１３４は、これら３つの定義ファイル以外の情報を分析管理テーブル１３５に保存してもよい。
【００２７】
ステップ２０２で分析情報収集部１３４は、ステップ２０１で保存された分析シートの定義ファイルの情報が分析情報カタログ１３６に格納されているかを判定する。分析情報収集部１３４は、格納されていると判定すると分析情報収集の処理を終了し、格納されていないと判定するとステップ２０３へ進む。
【００２８】
ステップ２０３で分析情報収集部１３４は、ステップ２０１で保存された分析シートの定義ファイルの情報を分析情報カタログ１３６に格納する。
【００２９】
ステップ２０４で分析情報収集部１３４は、データフローの定義ファイルに含まれる各分析プログラム名について、最新の分析プログラムの情報が、分析情報カタログ１３６に格納されているかを判定する。分析情報収集部１３４は、格納されていると判定すると分析情報収集の処理を終了し、格納されていないと判定すると、最新の分析プログラムの情報を分析情報カタログ１３６に格納して、分析情報収集の処理を終了する。
【００３０】
図３は、分析管理テーブル１３５の例を示す図である。分析管理テーブル１３５は、テーブルで同じ行のファイル名のファイルが保存された日時、分析シート定義のファイルの作成者を識別する情報、分析シート定義のファイル名、キューブ定義のファイル名、データフロー定義のファイル名、および分析操作のファイル名が、保存された日時ごとに定義ファイルの情報として保存される。
【００３１】
各ファイル名は、ファイルサーバ１０４に格納されたファイルのファイル名であってもよく、ファイルサーバ１０４に格納されたファイルが特定できる識別情報であればよい。分析シート定義、キューブ定義、データフロー定義、および分析操作それぞれの内容に関しては、図７、図５、図６、および図１２を用いて後で説明する。
【００３２】
図４は、分析情報カタログ１３６の例を示す図である。分析情報カタログ１３６は、分析プログラムのファイル名と、その分析プログラムの更新のタイムスタンプが格納される。分析情報カタログ１３６にファイル名が格納されていない分析プログラムは、最新の分析プログラムであると判定されてもよい。
【００３３】
分析情報カタログ１３６にファイル名が格納されている分析プログラムにおいては、その分析プログラムのタイムスタンプより後に更新された同じファイル名の分析プログラムが、最新の分析プログラムであると判定されてもよい。
【００３４】
また、分析情報カタログ１３６は、分析シートの定義ファイルの情報などの図示を省略した他の情報が格納されてもよい。
【００３５】
図５は、データフロー定義の例を示す図である。図５に示したデータフロー定義は、ＸＭＬ（Extensible Markup Language）で定義された例を示すが、他の言語で定義されてもよい。また、図５の例では、２つの「<TRANSFORM>」が定義され、「<FLOW>」で２つの「<TRANSFORM>」の関係が定義されている。
【００３６】
図６は、キューブ定義の例を示す図である。図６に示したキューブ定義も、ＸＭＬで定義された例を示すが、他の言語で定義されてもよい。図６の例では、２つの「<Dimension>」が定義され、２つの「<Measure>」が定義されている。
【００３７】
図７は、分析シート定義の例を示す図である。図７に示した分析シート定義も、ＸＭＬで定義された例を示すが、他の言語で定義されてもよい。図７の例では、２つの「<PANEL>」が定義され、「<PANEL>」それぞれには「<MEASURE>」と「<DIMENSION>」などが定義されている。
【００３８】
図８は、データフロー差分抽出部１４１の処理の例を示すフローチャートである。データフロー定義部１７１がデータフロー定義を作成し、作成されたデータフロー定義をデータフロー保存部１７２がファイルサーバ１０４へ保存する。データフロー差分抽出部１４１は、データフロー定義がファイルサーバ１０４へ保存されたことを検出し、図８に示したデータフロー差分抽出の処理を開始する。
【００３９】
ステップ８０１でデータフロー差分抽出部１４１は、保存されたデータフロー定義に含まれる分析プログラムと、最新のデータフロー定義に含まれる分析プログラムとに違いがあるかを判定する。ここで、最新のデータフロー定義とは、保存されたデータフロー定義より１つ前に保存されたデータフロー定義である。
【００４０】
また、分析プログラムの違いは、同じファイル名の分析プログラムであって、保存されたデータブロー定義の分析プログラムのタイムスタンプと、最新のデータフロー定義の分析プログラムのタイムスタンプとの差により判定されてもよい。
【００４１】
なお、データフロー定義の保存は、データフロー差分抽出部１４１の処理を開始するための条件であって、違いの判定の対象として、保存されたことが検出されたデータフロー定義以外の任意の２つのデータフロー定義の分析プログラムの違いが判定されてもよい。
【００４２】
ステップ８０２でデータフロー差分抽出部１４１は、違いがあると判定された分析プログラムで生成されたデータに、最新のデータと異なるというマークを設定し、違いがあると判定された分析プログラム以降の分析プログラムで生成されてデータにも、最新のデータと異なるというマークを設定する。
【００４３】
ここで、分析プログラムで生成されたデータは、データフロー定義において分析プログラムの出力と定義されたデータであり、図５の例では「<OUTPUT_COLUMN>」などである。また、分析プログラム以降の分析プログラムは、データフロー定義において定義された順序に基づく分析プログラムであり、図５の例では「<FLOW>」の「<SUCCEEDING_TRANSFORM>」である。
【００４４】
最新のデータと異なるというマークは、後の処理で、最新のデータと異なるデータであることが判定できれば、どのような情報であってもよい。例えば、データのプロパティまたは属性情報などに含まれる情報であってもよい。
【００４５】
ステップ８０３でデータフロー差分抽出部１４１は、保存されたデータフロー定義の中にステップ８０１が未処理のデータフロー定義が残っているかを判定し、残っていると判定すると、ステップ８０１に戻って残っていると判定されたデータフロー定義を処理する。
【００４６】
未処理のデータフロー定義が残っているかの判定は、分析管理テーブル１３５にファイル名が登録されたデータフロー定義に未処理が残っているかの判定であってもよい。ステップ８０３でデータフロー差分抽出部１４１は、残っていないと判定すると、データフロー差分抽出の処理を終了する。
【００４７】
図９は、分析シート影響範囲抽出部１４２の処理の例を示すフローチャートである。分析シート影響範囲抽出部１４２は、図８を用いて説明したデータフロー差分抽出の処理が終了したことを検出し、図９に示した分析シート影響範囲抽出の処理を開始してもよい。
【００４８】
ステップ９０１で分析シート影響範囲抽出部１４２は、データフロー差分抽出処理でマークされたデータが、保存された分析シート定義で使用されているかを判定し、使用されていると判定するとステップ９０２へ進み、使用されていないと判定するとステップ９０４へ進む。
【００４９】
データフロー差分抽出処理でマークされたデータは、図８に示したステップ８０２でマークが設定されたデータである。データが使用されているかの判定は、例えば、図５に示したデータフロー定義の「<TRANSFORM_NAME>」が「<ExtractPublicInformation」の「<OUTPUT_COLUMN>」の「Publish Year」がマークされたデータである場合、以下のとおりである。
【００５０】
図５に示したキューブ定義に「Publish Year」を含む「<Dimension>」として「<Name>」が「Year」の「<Dimension>」が見つけられ、図６に示した分析シート定義に「<DIMENSION>」として「YEAR」を含む「<PANEL>」が見つけられるため、「Publish Year」は分析シート定義で使用されていると判定される。
【００５１】
ステップ９０２で分析シート影響範囲抽出部１４２は、分析シート定義で影響を受けるパネル、すなわち分析シート定義の中でマークされたデータが使用されていると判定されたパネルを特定する。図６に示した分析シート定義において、「YEAR」を含む「<PANEL>」が見つけられた場合、影響を受けるパネルの「<PANEL_NAME>」は「Overview」である。
【００５２】
ステップ９０３で分析シート影響範囲抽出部１４２は、特定されたパネルに基づいて、影響を受ける分析シートの情報、影響を受けるパネルの情報、影響を与えた分析プログラムの情報、および影響を与えたデータの情報をユーザ１０２に提示する。ユーザ１０２への提示については、図１０を用いて後で説明する。
【００５３】
ステップ９０４で分析シート影響範囲抽出部１４２は、マークされたデータの中にステップ９０１が未処理のデータが残っているかを判定し、残っていると判定するとステップ９０１へ戻り、残っていないと判定すると分析シート影響範囲抽出の処理を終了する。
【００５４】
図１０は、分析シート影響範囲抽出による端末１０１の表示の例を示す図である。図１０の例は、図９に示したステップ９０２で特定されたパネルを含む分析シート名「<SHEET_NAME>」の「sample1」が分析シートの情報として表示され、「<PANEL_NAME>」の「Overview」と「<MEASURE>」の「Number of Papers」などが影響を受けるパネル（影響範囲）の情報として表示されている。
【００５５】
また、図１０の例は、影響を与えた分析プログラムとその分析プログラムの入力データおよび出力データが表示されている。図１０の例では、分析プログラムとして、図５に示した「<TRANSFORM_NAME>」の表示の例を示したが、「<PROGRAM>」が表示されてもよい。入力データと出力データについては、図５に示した「<INPUT_DIRECTORY>」と「OUTPUT_COLUMN」の表示の例を示した。
【００５６】
以上の表示において、影響の伝搬の経路となるデータと分析プログラムが識別可能に表示されてもよい。識別可能な表示は、例えば図１０に示すように枠線であってもよいし、文字の色を変えるなどの他の表示であってもよい。さらに、図１０の例は、影響度の値の表示を含む。影響度の算出に関しては、図１１を用いて説明する。
【００５７】
図１１は、分析シート影響度算出部１４３の処理の例を示すフローチャートである。分析シート影響度算出部１４３は、図９を用いて説明した分析シート影響範囲抽出の処理が終了したことを検出し、図１１に示した分析シート影響度算出の処理を開始する。
【００５８】
ステップ１１０１で分析シート影響度算出部１４３は、影響を受ける分析シート定義で使用されているメジャーまたはディメンジョンがあるかを判定する。影響を受ける分析シート定義は、図９に示したステップ９０２で特定されたパネルを含む分析シート定義である。分析シート影響度算出部１４３は、メジャーまたはディメンジョンがあると判定するとステップ１１０２へ進み、メジャーとディメンジョンがないと判定するとステップ１１０４へ進む。
【００５９】
ステップ１１０２で分析シート影響度算出部１４３は、影響を受けるメジャーまたはディメンジョン、すなわちステップ１１０１で、あると判定されたメジャーまたはディメンジョンが、集約処理の対象に含まれているかを判定する。このために、例えば図６に示したキューブ定義において「<Aggregation>」が含まれているかが判定されてもよい。
【００６０】
ステップ１１０２で分析シート影響度算出部１４３は、集約処理の対象に含まれていると判定するとステップ１１０３へ進み、集約処理の対象に含まれていないと判定するとステップ１１０４へ進む。
【００６１】
ステップ１１０３で分析シート影響度算出部１４３は、集約処理の対象に含まれていると判定されたメジャーまたはディメンジョンがあると判定された分析シートの影響度を下げる。影響度は、複数の分析シートに対して同じ初期値が設定される値であって、分析シートごとに算出される値である。下げるための減算値および初期値は予め設定されてもよい。
【００６２】
ステップ１１０４で分析シート影響度算出部１４３は、影響を受ける分析シートの中でステップ１１０１が未処理の分析シートが残っていないかを判定し、残っていると判定するとステップ１１０１へ戻り、残っていないと判定すると分析シート影響度算出の処理を終了する。ここで、図１０に示したように算出された影響度が表示されてもよい。
【００６３】
図１２は、分析操作管理テーブル１３２の例を示す図である。分析操作管理テーブル１３２は、分析操作の履歴が記録されるテーブルであり、分析操作の日時と分析操作の内容とが対応付けられて記録される。分析操作の１つの日時と１つの内容との組が１つのエントリである。分析操作管理テーブル１３２の情報は、分析操作に応じて分析操作収集部１３１により情報が収集されて記録される。
【００６４】
図１３は、分析シート操作解析部１４４の処理の例を示すフローチャートである。ステップ１３０１で分析シート操作解析部１４４は、ステップ１１０１と同じく、影響を受ける分析シート定義で使用されているメジャーまたはディメンジョンがあるかを判定する。
【００６５】
ステップ１３０１で分析シート操作解析部１４４は、メジャーまたはディメンジョンがあると判定するとステップ１３０２へ進み、メジャーとディメンジョンがないと判定すると分析シート操作解析の処理を終了する。
【００６６】
ステップ１３０２で分析シート操作解析部１４４は、分析操作管理テーブル１３２の中から、影響を受ける分析シート定義の分析操作を抽出する。このために、分析シート操作解析部１４４は、影響を受ける分析シート定義に含まれる文字列を抽出し、分析操作管理テーブル１３２の操作の情報の文字列と照合し、文字列の一致するエントリを抽出するなどしてもよい。
【００６７】
あるいは、分析操作収集部１３１が、分析操作の情報を収集する際に、どの分析シート定義に対する分析操作であるかの情報も分析操作管理テーブル１３２に記録し、その記録された情報が、影響を受ける分析シート定義と一致するエントリを抽出してもよい。
【００６８】
ステップ１３０３で分析シート操作解析部１４４は、抽出された分析操作の各エントリに対して分析プログラムの変更の影響の有無を検出する。分析プログラムの変更の情報は、例えば図９に示したステップ９０３の情報が利用されてもよい。この場合、影響を与えたデータの名称の文字列と、抽出された分析操作の各エントリに含まれる文字列とが照合され、文字列の一致するエントリに変更の影響があると検出されてもよい。
【００６９】
ステップ１３０４で分析シート操作解析部１４４は、分析操作の中で影響を受けたエントリを識別可能に表示させる。この表示の例を図１４に示す。図１４は、影響を受ける分析シートの分析シート名と、図１２に示した分析操作管理テーブル１３２の情報を表示する例である。
【００７０】
図１４の例では、影響を受けたエントリを枠線で表示している。なお、枠線のないエントリも含めて表示の基となる分析操作は、ステップ１３０２で抽出された分析操作であってもよいし、抽出されていない分析操作も含めて分析操作管理テーブル１３２に含まれる分析操作であってもよい。
【００７１】
以上で説明したように、複数の分析プログラムによるデータ分析であっても、複数の分析プログラムの更新の影響を特定できる。特に複数段の分析プログラムによるデータ分析の場合、更新された分析プログラムの後続の分析プログラムによる影響も特定できる。このため、非構造データの分析においても有効である。
【００７２】
影響の特定は、分析シート定義の影響の範囲として特定できる。ここで、分析シート定義にディメンジョンとメジャーが定義されている場合であっても、キューブ定義を利用して影響の範囲を特定できる。
【００７３】
さらに、キューブ定義を利用して、影響度を算出することが可能になる。分析操作の履歴が記録されている場合は、履歴の中のどの分析操作の影響の可能性が高いかも特定することが可能になる。
【符号の説明】
【００７４】
１００：データ分析サーバ
１３０：分析管理部
１４０：データフロー影響検出部
１４１：データフロー差分抽出部
１４２：分析シート影響範囲抽出部
１４３：分析シート影響度算出部
１４４：分析シート操作解析部
【図１】
2019204341.tif 000003
【図２】
2019204341.tif 000004
【図３】
2019204341.tif 000005
【図４】
2019204341.tif 000006
【図５】
2019204341.tif 000007
【図６】
2019204341.tif 000008
【図７】
2019204341.tif 000009
【図８】
2019204341.tif 000010
【図９】
2019204341.tif 000011
【図１０】
2019204341.tif 000012
【図１１】
2019204341.tif 000013
【図１２】
2019204341.tif 000014
【図１３】
2019204341.tif 000015
【図１４】
2019204341.tif 000016