(57)【要約】【課題】演算処理の追加、変更、削除に対して、装置の増改造をせずに容易に行える、より汎用的な演算処理装置および情報管理プログラムを提供する。【解決手段】データは複数の項目を含み、該データの各レコードはツリー構造の階層関係を有し、複数の該データを有するマスタデータ１３１と、各データ内で、どの項目に対し、どのように演算し、どの順序で演算をさせるかのルールである要素内演算ルールマスタ１１０と、複数のデータのうち、第１のデータのどの項目を、連携先の第２のデータのどの項目に対し、どのような方法で、どの順序で演算をさせるかのルールである異データ間演算ルールマスタと、各データ内で、階層関係を考慮し、どの項目を用いて、どの項目に対し、どのような方法で、どの順序に演算をさせるかのルールである階層間演算ルールマスタ１０９と、を記憶する記憶部１３０と、各データの演算処理を行う処理部１２０とを有する。【選択図】図１９
2014092852.tif 000002
【特許請求の範囲】
【請求項１】
複数の項目を含み、各レコードがツリー構造の階層関係にある、複数のデータを有するマスタデータと、
前記各データ内で、どの項目に対し、どのように演算し、どの順序で演算をさせるかのルールである要素内演算ルールマスタと、
前記複数のデータのうち、第１のデータのどの項目を、連携先の第２のデータのどの項目に対し、どのような方法で、どの順序で演算をさせるかのルールである異データ間演算ルールマスタと、
前記各データ内で、前記階層関係を考慮し、どの項目を用いて、どの項目に対し、どのような方法で、どの順序で演算をさせるかのルールである階層間演算ルールマスタと、を記憶している記憶部と、
前記各データの演算処理を行う処理部と、を有し、
前記処理部は、
前記各データに更新されたレコードがある場合、
前記要素内演算ルールマスタに基づき、前記各データ内の演算処理を行い、
前記異データ間演算ルールマスタに基づき、前記連携先のデータへの演算処理を行い、
前記階層間演算ルールマスタに基づき、前記各データ内の階層間の演算処理を行い、
前記各データ内の階層間の演算処理の結果を表示部に表示する
ことを特徴とする演算処理装置。
【請求項２】
前記演算処理装置の操作部から各ルールマスタのいずれかが改定された場合、
前記処理部は、前記改定されたルールマスタに従い演算処理を行う
ことを特徴とする請求項１に記載の演算処理装置。
【請求項３】
前記マスタデータには、前記複数のデータとして、設備のデータである設備データと、該設備の点検記録のデータである点検データとを有し、
前記異データ間演算ルールマスタにおける、前記第１のデータは前記設備データであり、前記第２のデータは前記点検データである
ことを特徴とする請求項１に記載の演算処理装置。
【請求項４】
前記設備データには、各設備について第１の項目と、第１の項目の演算結果を格納する項目を有し、
前記階層間演算ルールマスタにおいて、前記第１の項目を用いて、前記第２の項目に対し、集計の方法で演算をさせるルールが設定された場合、
前記処理部は、親要素であるレコードの前記第２の項目に、該親要素に関連付けられている子要素のすべてについての前記第２の項目の演算結果を集計した結果を格納する
ことを特徴とする請求項３に記載の演算処理装置。
【請求項５】
コンピュータに、
複数の項目を含み、各レコードがツリー構造の階層関係にある、複数のデータを有するマスタデータと、
前記各データ内で、どの項目に対し、どのように演算し、どの順序で演算をさせるかのルールである要素内演算ルールマスタと、
前記複数のデータのうち、第１のデータのどの項目を、連携先の第２のデータのどの項目に対し、どのような方法で、どの順序で演算をさせるかのルールである異データ間演算ルールマスタと、
前記各データ内で、前記階層関係を考慮し、どの項目を用いて、どの項目に対し、どのような方法で、どの順序で演算をさせるかのルールである階層間演算ルールマスタと、を記憶部に記憶させる処理と、
前記各データに更新されたレコードがあることを判定する処理と、
前記要素内演算ルールマスタに基づき、前記各データ内の演算処理と、
前記異データ間演算ルールマスタに基づき、前記連携先のデータへの演算処理と、
前記階層間演算ルールマスタに基づき、前記各データ内の階層間の演算処理と、を
実行させるための演算処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、汎用的用途をもつデータ間および階層間の演算処理を行う演算処理装置および演算処理プログラムに関し、特に、階層関係をもつマスタデータとそのマスタデータに関連付けられた履歴データとの管理処理、およびマスタデータと履歴データ間の演算処理、およびマスタデータ内の階層間の演算処理ができる演算処理装置および演算処理プログラムに関する。
【背景技術】
【０００２】
設備管理システムなどに適用する、階層関係を持つマスタデータと時系列の事象・活動に関する履歴データを管理する情報管理システムでは、それらの情報に関係性を持たせることが重要であり、また、管理や分析などの目的に応じて集計できる必要がある。
【０００３】
例えば、設備保全において、設備台帳上で管理される機器に対し保全実績の集計と保全予算との対比を行う場合、その機器で発生した事象・活動（例えば点検や修繕）の履歴データをもとに機器と関連付けて集計を行う必要がある。これには機器データと履歴データの関係および機器データの階層関係、さらにはその集計方法が明確になっていなければならない。
【０００４】
特許文献１の電力設備管理システムは、「電力設備の個別の設備単位や作業単位の実態把握だけでなく、様々な作業管理や費用管理とも連系した情報活用可能な電力設備管理システム」とあり、これを活用することで、マスタデータと履歴データの関係性を持つことが可能となる。
【０００５】
また、特許文献２の設備管理データ分析装置は、「蓄積された設備管理に関するデータを有効活用し、建物の設備管理に関する予測を効率的に行うことが可能となる」とあり、これを活用することで、分析を目的とした集計が可能となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−５９７５６号公報
【特許文献２】特開２０１０−１１７８８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、従来技術には、未だ解決されない課題がある。課題例を以下に示す。従来技術の情報管理システムを多様業務ケースに適用する場合、そのケースに合わせた管理項目の洗い出しと演算方法の決定が必要となる。
【０００８】
これらのケースとは、例えば、設備管理システムにおける管理対象項目の変更と、管理のための演算方法の変更などである。また、企業活動を推進していくにあたり、時々の状況に応じたＫＰＩ（key performance indicator）の追加、変更などもこれにあたる。
【０００９】
このような設備管理システムの場合、例えば、点検履歴から機器単位に発生した保全費を把握するようなケースにおいて、保全費を作業費と材料費に分けて管理するような変更要求が発生することがある。このような場合、管理項目の追加、変更および演算処理の追加、変更が必要となり、装置の増改造を伴う。また、新たに修繕履歴からも保全費の集計を行うような変更が発生した場合も同様である。
【００１０】
前記特許文献１は、設備データと機器データ、機器データと作業管理データの関係性を持たせることはできるが、その関係性は固定的なものであり、新たなデータ種（例えば、修繕管理など）を追加する場合は装置の改造が必要となる。また、作業で発生した費用の合計を設備単位で集計し把握するような場合も、集計処理の追加が必要となり装置の増改造が必要となる。
【００１１】
前記特許文献２は、異なるフォーマットの設備データから分析に必要な項目を抽出し、メンテナンス費の予測値を算出するものだが、その算出方法は固有処理となっており、算出方法の変更には装置の改造が必要となる。
【００１２】
本発明は、前記の課題を解決するための発明であって、演算処理の追加、変更、削除に対して、装置の増改造をせずに容易に行える、より汎用的な演算処理装置および情報管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
前記目的を達成するため、本発明の演算処理装置は、複数の項目を含み、各レコードはツリー構造の階層関係にある、複数のデータ（例えば、設備データ１０７、点検データ１０８）を有するマスタデータ（例えば、マスタデータ１３１）と、各データ内で、どの項目に対し（例えば、結果項目１１０ｂ）、どのように演算し（例えば、演算式１１０ｃ）、どの順序で演算をさせるか（演算順序１１０ｅ）のルールである要素内演算ルールマスタと、複数のデータのうち、第１のデータのどの項目（例えば、演算項目１１１ｃ）を、連携先の第２のデータのどの項目（例えば、結果項目１１１ｂ）に対し、どのような方法（例えば、演算パターン１１１ｄ）で、どの順序で演算をさせるか（例えば、演算順序１１１ｅ）のルールである異データ間演算ルールマスタ（例えば、データ間演算ルールマスタ１１１およびデータ関係マスタ１１２）と、各データ内で、階層関係を考慮し、どの項目を用いて（例えば、演算項目１０９ｃ）、どの項目に対し（例えば、結果項目１０９ｂ）、どのような方法（例えば、演算パターン１０９ｄ）で、どの順序（例えば、演算順序１０９ｅ）で演算をさせるかのルールである階層間演算ルールマスタと、を記憶する記憶部（例えば、記憶部１３０）と、各データの演算処理を行う処理部（例えば、処理部１２０）とを有する。
【００１４】
処理部は、各データに更新されたレコードがある場合（例えば、処理Ｓ４１１）、要素内演算ルールマスタに基づき、各データ内の演算処理を行い（例えば、要素内演算処理Ｓ８００）、異データ間演算ルールマスタに基づき、連携先のデータへの演算処理を行い（例えば、データ間演算処理Ｓ９００）、階層間演算ルールマスタに基づき、各データ内の階層間の演算処理を行い（例えば、階層間演算処理Ｓ５００）、各データ内の階層間の演算処理の結果を表示部（例えば、表示部１０３）に表示することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、演算処理の追加、変更、削除を、装置改造を伴わずに容易にできる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係る設備管理システムの構成を示す図である。
【図２】設備データ、点検データのフィールド構成およびレコードの一例を示す図である。
【図３】階層間演算ルールマスタ、要素内演算ルールマスタ、データ間演算ルールマスタ、データ関係マスタのフィールド構成およびレコードの一例を示す図である。
【図４】設備管理システムによる演算処理の流れを示すフローチャートである。
【図５】階層間演算処理および影響範囲調査処理の流れを示すフローチャートである。
【図６】階層間演算処理（再帰処理）の流れを示すフローチャートである。
【図７】階層間演算処理（パターン処理）の流れを示すフローチャートである。
【図８】要素内演算処理の流れを示すフローチャートである。
【図９】データ間演算処理の流れを示すフローチャートである。
【図１０】データ間演算処理（パターン処理）の流れを示すフローチャートである。
【図１１】本実施形態に係る設備管理システムの表示部に表示される画面例と処理前後の設備データおよび点検データのレコード内容を示す図である。
【図１２】図２に示す設備データおよび点検データを改定した一例を示す図である。
【図１３】図３に示す各種ルールマスタを改定した一例を示す図である。
【図１４】図１３の改定後の各種ルールマスタを用いて処理した設備データと点検データのレコード内容を示す図である。
【図１５】影響範囲調査処理における直系の範囲を示す図である。
【図１６】点検データを登録する際の点検データ登録画面の例を示す図である。
【図１７】各種演算処理を経て演算された結果を閲覧する際の照会画面の例を示す図である。
【図１８】演算処理方法を変更する際のルールマスタ設定画面の例を示す図である。
【図１９】設備管理システムのハードウェアの構成を示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態について図面を参照して詳細に説明する。
図１は、本発明の実施形態に係る設備管理システムの構成を示す図である。設備管理システム１００（演算処理装置）は、アプリケーション層１０１とデータベース層１０２を含んでいる。アプリケーション層１０１は、表示部１０３、操作部１０４、入出力制御部１０５、演算部１０６を具備する。データベース層１０２は、設備データ１０７、点検データ１０８、階層間演算ルールマスタ１０９、要素内演算ルールマスタ１１０、データ間演算ルールマスタ１１１、データ関係マスタ１１２を具備する。
【００１８】
入出力制御部１０５は、設備データ１０７および点検データ１０８の内容を表示部１０３に表示させると共に、操作部１０４から得られる操作情報を受信して、所定の処理を実行する。演算部１０６は、入出力制御部１０５からの要求により起動され、階層間演算処理Ｓ５００（図５（ａ）参照）、要素内演算処理Ｓ８００（図８参照）、データ間演算処理Ｓ９００（図９参照）を起動し、演算後のデータを取得して、更新後データリストを生成する。
【００１９】
演算部１０６は、階層間演算処理Ｓ５００により、階層間演算ルールマスタ１０９（図３（ａ）参照）から所定の情報を読み込み、演算処理を行う。演算部１０６は、要素内演算処理Ｓ８００により、要素内演算ルールマスタ１１０（図３（ｂ）参照）から所定の情報を読み込み、演算処理を行う。演算部１０６は、データ間演算処理Ｓ９００により、データ間演算ルールマスタ１１１（図３（ｃ）参照）およびデータ関係マスタ１１２（図３（ｄ））から所定の情報を読み込み、演算処理を行う。なお、データ間演算ルールマスタ１１１およびデータ関係マスタ１１２をまとめて、異データ間演算ルールマスタという。
【００２０】
入出力制御部１０５は、演算部１０６が生成した更新後データリストを取得し、永続化された設備データ１０７および点検データ１０８を更新する。
【００２１】
図１９は、設備管理システムのハードウェアの構成を示す図である。設備管理システム１００（演算処理装置）は、処理部１２０、記憶部１３０、操作部１０４、表示部１０３、通信部１４０、および、これらを接続するバスから構成される。表示部１０３は、ディスプレイなどであり、処理部１２０による処理の実行状況や実行結果などを表示する。操作部１０４は、キーボードやマウスなどのコンピュータに指示を入力するための装置であり、プログラム起動などの指示を入力する。処理部１２０は、メモリ（図示せず）に格納される各種プログラムを実行する。通信部１４０は、ＬＡＮ（Local Area Network）を介して、他の装置と各種データやコマンドを交換する。記憶部１３０は、処理部１２０が処理を実行するための各種データを保存する。
【００２２】
処理部１２０では、メモリに記憶されている、入出力制御部１０５、演算部１０６（具体的には、階層間演算処理Ｓ５００、要素内演算処理Ｓ８００、データ間演算処理Ｓ９００）などのプログラムが実行される。記憶部１３０は、マスタデータ１３１とルールマスタ１３２とを有する。マスタデータ１３１には、設備データ１０７、点検データ１０８などの複数のデータが格納されている。ルールマスタ１３２には、階層間演算ルールマスタ１０９、要素内演算ルールマスタ１１０、データ間演算ルールマスタ１１１、データ関係マスタ１１２などの管理者がデータ項目の入替え、データ項目の削除、データ項目の新規追加、データ項目間の演算などの処理操作をする各種ルールマスタが格納されている。なお、記憶部１３０は、通信部１４０を介して通信可能な外部記憶装置であってもよい。
【００２３】
図２は、設備データ、点検データのフィールド構成およびレコードの一例を示す図であり、（ａ）は設備データの例であり、（ｂ）は点検データの例である。
［設備データ］
設備データ１０７は、設備ＩＤ（１０７ａ）、設備親ＩＤ（１０７ｂ）、設備名１０７ｃ、部位名１０７ｄ、保全費予算１０７ｅ、保全費実績（合計）１０７ｆ、保全費実績１０７ｇ、予備１（１０７ｈ）、予備２（１０７ｉ）、予備３（１０７ｊ）の各フィールドで構成される。
【００２４】
設備ＩＤ（１０７ａ）のフィールドには、レコード（設備）を一意に特定する情報が格納される。設備親ＩＤ（１０７ｂ）のフィールドには、そのレコードに親レコードが存在する場合、その親レコードの設備ＩＤが格納される。この設備親ＩＤ（１０７ｂ）のフィールドを用いることで設備の階層を表現している。
【００２５】
例えば、設備ＩＤが「１」の本体は、モーター、シャフト、ディスクタービン、プロペラから構成されており、設備ＩＤが「２」のモーターは、モーターケース、ベアリング、コイルから構成されている。
【００２６】
設備名１０７ｃのフィールドは、管理する対象設備の名称情報が格納される。図２（ａ）の例では、部位を纏めた設備の総称を格納している。部位名１０７ｄのフィールドには、管理する対象設備の部位名称が格納される。
【００２７】
保全費予算１０７eのフィールドには、管理する設備や部位に対する保全費予算が格納される。図２（ａ）の例では本体のみ予算値が格納されている。これは予算の立案が部位単位に行われるのではなく、実際は設備単位に行われることが多いからである。
【００２８】
保全費実績（合計）１０７ｆのフィールドは、管理する設備や部位に対する現時点で発生した保全費の実績値が格納される。図２（ａ）では、このフィールドは自身を含む下位階層の保全費実績１０７ｇのフィールドの総和が格納される。このフィールドは後述する各種マスタ例および演算処理により自動設定される。なお、このフィールドを利用することで設備全体の保全費実績を把握でき、予算値との偏差を把握することが可能となる。
【００２９】
例えば、設備ＩＤが「１」の保全費実績（合計）１０７ｆには、設備ＩＤが「１」の保全費実績と、設備親ＩＤが「１」である「２」および「６」〜「８」の保全費実績（合計）との合計である１１０，０００円が格納されている。同様に、設備ＩＤが「２」には、設備ＩＤが「２」の保全費実績と、設備親ＩＤが「２」である「３」〜「５」との合計である８０，０００円が格納されている。また、設備ＩＤが「３」には、設備ＩＤが「３」の合計である０円が格納されている。
【００３０】
保全費実績１０７ｇのフィールドには、管理する設備や部位に対する現時点で発生した保全費の実績値が格納される。図２（ａ）では、このフィールドは部位単独で発生した実績値が格納される。このフィールドは後述する各種マスタ例および演算処理により点検データ１０８から自動設定される。
【００３１】
予備１（１０７ｈ）のフィールド〜予備３（１０７ｊ）のフィールドは、今後将来に管理する項目の追加が発生した場合を考慮して、予め設けられた予備項目である。
【００３２】
［点検データ］
点検データ１０８は、点検ＩＤ（１０８ａ）、点検親ＩＤ（１０８ｂ）、設備ＩＤ（１０８ｃ）、点検件名１０８ｄ、点検開始日１０８ｅ、点検終了日１０８ｆ、点検時間１０８ｇ、点検費１０８ｈ、予備１（１０８ｉ）、予備２（１０８ｊ）の各フィールドで構成される。
【００３３】
点検ＩＤ（１０８ａ）のフィールドには、レコード（点検）を一意に特定する情報が格納される。点検親ＩＤ（１０８ｂ）のフィールドには、そのレコードに親レコードが存在する場合、その親レコードの点検ＩＤが格納される。この点検親ＩＤ（１０８ｂ）のフィールドを用いることで点検の階層を表現している。設備ＩＤ（１０８ｃ）のフィールドには、点検を行った設備データ１０７の設備ＩＤが格納される。
【００３４】
点検件名１０８ｄのフィールドには、点検の件名が格納される。図２（ｂ）では、定期点検が行われた内容が把握できる情報が格納されている。点検開始日１０８ｅのフィールドおよび点検終了日１０８ｆのフィールドには、点検を行った開始日と終了日が格納される。点検時間１０８ｇのフィールドには、その点検に要した時間が格納される。このフィールドは後述する演算処理により演算の基情報として扱われる。点検費１０８ｈのフィールドには、その点検に要した費用が格納される。このフィールドは後述する各種マスタ例および演算処理により自動設定される。予備１（１０８ｉ）のフィールドおよび予備２（１０８ｊ）のフィールドには、今後将来に管理する項目の追加が発生した場合を考慮して、予め設けられた予備項目である。
【００３５】
図３は、階層間演算ルールマスタ、要素内演算ルールマスタ、データ間演算ルールマスタ、データ関係マスタのフィールド構成およびレコードの一例を示す図であり、（ａ）は階層間演算ルールマスタ、（ｂ）は要素内演算ルールマスタ、（ｃ）はデータ間演算ルールマスタ、（ｄ）はデータ関係マスタのフィールド構成およびレコードの一例を示す。適宜図２を参照して説明する。
【００３６】
本実施形態の設備管理システム１００は、各種のルールマスタを記憶部１３０に有しており、管理者が、図１に示した階層間演算ルールマスタ１０９、要素内演算ルールマスタ１１０、データ間演算ルールマスタ１１１、データ関係マスタ１１２の設定値を自由に変更することができる。これにより、設備管理システム１００における演算処理の追加、変更、削除などを、装置改造を伴わずに容易にできることが特徴である。以下、各ルールマスタの設定方法について説明する。
【００３７】
［階層間演算ルールマスタ］
図３（ａ）に示す階層間演算ルールマスタ１０９は、データ種別１０９ａ、結果項目１０９ｂ、演算項目１０９ｃ、演算パターン１０９ｄ、演算順序１０９ｅの各フィールドで構成される。これらのフィールド構成により、階層間での演算方法（どの項目を用いて、どの項目に対し、どういう方法、順序で演算をさせるか）をデータベース上に設定することで、演算処理の汎用化を実現している。
【００３８】
データ種別１０９ａのフィールドには、ルールを適用するデータ種別名が格納される。結果項目１０９ｂのフィールドには、演算結果を格納するフィールド名が格納される。演算項目１０９ｃのフィールドは、演算に際し利用するフィールド名が格納される。演算パターン１０９ｄのフィールドは、演算に際し「集計」「最大」「最小」のいずれかの演算方法が格納される。演算順序１０９ｅのフィールドは、演算に際しその順序番号が格納される。
【００３９】
図３（ａ）の例では、設備データ１０７の保全費実績（合計）１０７ｆのフィールドに、各部位の保全費実績１０７ｇのフィールドの値を集計して設定することを表している。これは、末端の部位で発生した保全費実績を上位の部位で把握することを可能とする。
【００４０】
［要素内演算ルールマスタ］
図３（ｂ）に示す要素内演算ルールマスタ１１０は、データ種別１１０ａ、結果項目１１０ｂ、演算式１１０ｃ、演算順序１１０ｅの各フィールドで構成されている。これらのフィールド構成により、要素内での演算方法（どの項目に対し、どういう演算式、順序で演算をさせるか）をデータベース上に設定することで、演算処理の汎用化を実現している。
【００４１】
データ種別１１０ａのフィールドには、ルールを適用するデータ種別名が格納される。結果項目１１０ｂのフィールドには、演算結果を格納するフィールド名が格納される。演算式１１０ｃのフィールドには、要素内演算を行うための計算式が格納される。演算順序１１０ｅのフィールドは、演算に際しその順序番号が格納される。
【００４２】
図３（ｂ）の例では、点検データ１０８の点検費１０８ｈのフィールドに対して、点検時間１０８ｇのフィールドに、１００００を乗算した結果を設定することを表す。なお、図３（ｂ）の例では、項目とリテラル値を演算する例を挙げているが、項目と項目を演算することも可能である。
【００４３】
［データ間演算ルールマスタ］
図３（ｃ）に示すデータ間演算ルールマスタ１１１は、データ種別１１１ａ、結果項目１１１ｂ、演算項目１１１ｃ、演算パターン１１１ｄ、演算順序１１１ｅの各フィールドで構成されている。これらのフィールド構成により、異なるデータ種別間での演算方法（どの項目を、連携先のどの項目に対し、どういう方法、順序で演算をさせるか）をデータベース上に設定することで、演算処理の汎用化を実現している。
【００４４】
データ種別１１１ａのフィールドには、ルールを適用するデータ種別名が格納される。結果項目１１１ｂのフィールドには、演算結果を格納する連携先フィールド名が格納される。演算項目１１１ｃのフィールドには、演算に際し利用する連携元フィールド名が格納される。演算パターン１１１ｄのフィールドには、演算に際し「集計」「最大」「最小」のいずれかの演算方法が格納される。演算順序１１１ｅのフィールドは、演算に際しその順序番号が格納される。
【００４５】
図３（ｃ）の例では、設備データ１０７の保全費実績１０７ｇのフィールドに、点検データ１０８の点検費１０８ｈのフィールドの値を集計方法で演算した結果を設定することを表す。これは、点検で発生した点検費を設備で把握することを可能とする。
【００４６】
［データ関係マスタ］
図３（ｄ）に示すデータ関係マスタ１１２は、関係元データ種別１１２ａ、関係元項目１１２ｂ、関係先データ種別１１２ｃ、関係先項目１１２ｄの各フィールドで構成されている。これにより異なるデータ間の関係性をデータベース上に設定することで汎用化を実現している。
【００４７】
関係元データ種別１１２ａのフィールドには、関係を適用する関係元データ種別名が格納される。関係元項目１１２ｂのフィールドには、関係を適用する関係元側の項目名が格納される。関係先データ種別１１２ｃのフィールドには、関係を適用する関係先データ種別名が格納される。関係先項目１１２ｄのフィールドには、関係を適用する関係先側の項目名が格納される。
【００４８】
図３（ｄ）の例では、点検データ１０８は、設備データ１０７と関係を持ち、点検データ１０８の設備ＩＤ（１０８ｃ）のフィールドと設備データ１０７の設備ＩＤ（１０７ａ）のフィールドにより関連付けられることを表す。
【００４９】
図４は、設備管理システムによる演算処理の流れを示すフローチャートであり、（ａ）は演算プログラムによる更新処理Ｓ４００、（ｂ）はＳ４００中の演算処理Ｓ４０４を示す。適宜図１〜図３を参照して説明する。
【００５０】
［全体の処理の流れ（更新処理Ｓ４００）］
設備管理システム１００の入出力制御部１０５は、更新処理Ｓ４００を開始すると（処理Ｓ４０１）、点検データ１０８の登録を行うためのデータ登録画面を表示部１０３に表示して（処理Ｓ４０２）、操作部１０４からの入力を待つ（処理Ｓ４０３）。入出力制御部１０５は、操作部１０４から入力内容（例えば、新規レコードの登録）を得たら、演算部１０６を起動して、演算処理を行わせる（処理Ｓ４０４）（図４（ｂ）参照）。入出力制御部１０５は、演算部１０６から得た更新後データリストを得て、点検データ１０８および設備データ１０７を更新し（処理Ｓ４０５）、一連の処理を終了する（処理Ｓ４０６）。
【００５１】
［演算処理Ｓ４０４］
演算部１０６は、演算処理Ｓ４０４を開始すると（処理Ｓ４０８）、入力内容を基点とした階層間演算処理Ｓ５００（図５（ａ）参照）を行う。演算部１０６は、階層間演算処理Ｓ５００から更新対象要素を得たら、ループ処理に先立ち、カウンタ変数ｉを１に初期化する（処理Ｓ４１０）。これ以降はループ処理である。
【００５２】
先ず、ｉ番目の更新対象要素が存在するか確認する（処理Ｓ４１１）。更新対象要素が存在するならば（処理Ｓ４１１，存在する）、ｉ番目の更新対象要素の要素内演算処理Ｓ８００（図８参照）を行う。次に、ｉ番目の更新対象要素に関係する関連要素のデータ間演算処理Ｓ９００（図９参照）を行う。最後に、カウンタ変数ｉを１インクリメントし（処理Ｓ４１４）、処理Ｓ４１１から処理を繰り返す。ｉ番目の更新対象データが存在しない場合（処理Ｓ４１１，存在しない）、ループ処理を終了し、処理Ｓ４１５に進む。
【００５３】
演算部１０６は、ループ処理後の更新対象要素を得て、更新後データリストを作成し（処理Ｓ４１５）、処理の呼び出し元に戻る（処理Ｓ４１６）。
【００５４】
図５は、階層間演算処理および影響範囲調査処理の流れを示すフローチャートであり、（ａ）は階層間演算処理Ｓ５００、（ｂ）は影響範囲調査処理（再帰処理）Ｓ５１０を示す。適宜図１〜図３を参照して説明する。
［階層間演算処理Ｓ５００］
演算部１０６は、階層間演算処理Ｓ５００を開始すると（処理Ｓ５０１）、先ず自身が格納されるデータテーブル（例えば、設備データ１０７、点検データ１０８）を検索し、自身の最上位の親要素を取得する（処理Ｓ５０２）。次に自身の最上位の親要素を基点に影響範囲調査処理（再帰処理）Ｓ５１０（図５（ｂ）参照）を起動し、更新対象要素を特定する。これは、更新対象要素を明確にし、最小限にすることで応答性能を向上させる効果がある。なお、再帰処理とは、自身処理を繰り返し呼び出して、終了条件を満たさない限り呼び出し続ける処理のことを指す。
【００５５】
演算部１０６は、影響範囲調査の結果を得て、次に階層間演算ルールマスタ１０９を取得し（処理Ｓ５０４）、演算順序フィールドの昇順指定でルールを取得する。これは、演算ルールが複数存在する場合、演算順序が小さいものから順に処理していくためである。ループに先立ち、カウンタ変数ｉを１に初期化する（処理Ｓ５０５）。以降はループ処理である。
【００５６】
演算部１０６は、先ず、ｉ番目のルールが存在するか確認する（処理Ｓ５０６）。ルールが存在する場合（処理Ｓ５０６，存在する）、次に階層間演算処理（再帰処理）Ｓ６００（図６参照）を起動し、最上位の親を基点に階層間演算処理を行う。最後に、カウンタ変数ｉを１インクリメントし（処理Ｓ５０８）、処理Ｓ５０６から処理を繰り返す。ルールが存在しない場合（処理Ｓ５０６，存在しない）、処理の呼び出し元に戻る（処理Ｓ５０９）。
【００５７】
［影響範囲調査処理（再帰処理）Ｓ５１０］
演算部１０６は、影響範囲調査処理Ｓ５１０を開始すると（処理Ｓ５１１）、先ず自身が直系であるか確認する（処理Ｓ５１２）。直系でない場合（処理Ｓ５１２，直系でない）、処理の呼び出し元に戻る（処理Ｓ５１９）。直系の場合（処理Ｓ５１２，直系である）、次に自身を更新対象として指定する（処理Ｓ５１３）。なお、直系とは演算の基点となる要素から直接につながっている親のことを指す（図１５参照）。
【００５８】
図１５は、影響範囲調査処理における直系の範囲を示す図である。本実施形態の階層関係をもつマスタデータ１３１（図１９参照）は、ツリー構造を有する。すなわち、ツリー構造とは、一つの要素(ノード)が複数の子要素を持ち、一つの子要素が複数の孫要素を持ち、という形で階層が深くなるほど枝分かれしていく構造のことをいう。
【００５９】
ツリー構造を構成する要素は、ノードと呼ばれ、ノード同士は親子関係を持ち、親のないノードをルートノード、子のないノードをリーフノードと呼ぶ。ルートノード以外のすべてのノードはただ一つの親を持つことになる。通常、図示する際には、最も根っこにあたるルートノードを一番上に描き、下に向かって子や孫を配置していく。親子関係のあるノード同士は線で結ぶ。前記親子関係を図示すると、図１５に示す図となる。
【００６０】
図１５においては、ルートノードである「本体」から、子である、「プロペラ」、「ディスクタービン」、「シャフト」、「モーター」のノードに線で結ばれ、「モーター」のノードから、孫である「モーターケース」、「ベアリング」、「コイル」のノードに線で結ばれている。ここでは、演算の基点となる「コイル」のノードから親ノードである「モーター」、および、その親ノードである「本体」が直系となる。
【００６１】
図５（ｂ）に戻り、演算部１０６は、次に、自身が格納されるデータテーブルから親ＩＤが自身のＩＤと一致する要素を検索し、自身の子要素を取得する（処理Ｓ５１４）。ループ処理に先立ち、演算部１０６は、カウンタ変数ｉを１に初期化する（処理Ｓ５１５）。以降はループ処理である。
【００６２】
演算部１０６は、先ず、ｉ番目の子要素が存在するか否かを確認する（処理Ｓ５１６）。子要素が存在する場合（処理Ｓ５１６，存在する）、次にｉ番目の子要素を基点に本処理を再帰的に起動し、子要素に対する影響範囲調査処理を行う（処理Ｓ５１０）。最後に、演算部１０６は、カウンタ変数ｉを１インクリメントし（処理Ｓ５１８）、処理Ｓ５１６から処理を繰り返す。子要素が存在しない場合（処理Ｓ５１６，存在しない）、処理の呼び出し元に戻る（処理Ｓ５１９）。
【００６３】
図６は、階層間演算処理（再帰処理）の流れを示すフローチャートである。
［階層間演算処理（再帰処理）Ｓ６００］
演算部１０６は、階層間演算処理（再帰処理）Ｓ６００を開始すると（処理Ｓ６０１）、先ず自身が更新対象かを階層間演算ルールマスタ１０９を基に確認する（処理Ｓ６０２）。自身が更新対象であるか否かはＳ５１３の処理結果で判断を行う。自身が更新対象である場合（処理Ｓ６０１，対象である）、自身のデータテーブル（例えば、設備データ１０７、点検データ１０８）から親ＩＤが自身のＩＤと一致する要素を検索し、自身の子要素を取得し（処理Ｓ６０３）、子要素の取得結果を得て、ループ処理に先立ち、カウンタ変数ｉを１に初期化する（処理Ｓ６０４）。以降はループ処理である。
【００６４】
一方、処理Ｓ６０２において、自身が更新対象でない場合（処理Ｓ６０２，対象でない）、自身の結果項目のフィールド値を返却値として返却し（処理Ｓ６０９）、処理の呼び出し元に戻る（処理Ｓ６１０）。
【００６５】
演算部１０６は、先ず、ｉ番目の子要素の存在を確認する（処理Ｓ６０５）。子要素が存在する場合（処理Ｓ６０５，存在する）、次に子要素に対して本処理を再帰的に起動し、子要素の階層間演算を処理させる（処理Ｓ６００）。次に、子要素の階層間演算処理の結果を得て、階層間演算処理（パターン処理）を起動し、自身の階層間演算を行わせる（処理Ｓ７００、図７参照）。最後に、カウンタ変数ｉを１インクリメントし（処理Ｓ６０８）、処理Ｓ６０５から処理を繰り返す。処理Ｓ６０５において、子要素が存在しない場合（処理Ｓ６０５，存在しない）、ループ処理が終了した後、自身の結果項目のフィールド値を返却値として作成し（処理Ｓ６１９）、処理の呼び出し元に戻る（処理Ｓ６１０）。
【００６６】
図７は、階層間演算処理（パターン処理）の流れを示すフローチャートである。
［階層間演算処理（パターン処理）Ｓ７００］
演算部１０６は、階層間演算処理（パターン処理）Ｓ７００を開始すると（処理Ｓ７０１）、先ず演算するパターンを取得する（処理Ｓ７０２）。演算するパターンが「集計」の場合（処理Ｓ７０２，集計）、子要素の演算結果を自身の対象項目のフィールド値に加算して（処理Ｓ７０３）、処理Ｓ７１０に進む。
【００６７】
演算するパターンが「最大」の場合（処理Ｓ７０２，最大）、子要素の演算結果が自身の対象項目のフィールド値より大きいか否かを判定する（処理Ｓ７０４）。子要素の演算結果の方が大きい場合（処理Ｓ７０４，大きい）、子要素の演算結果を自身の演算項目に上書きし（処理Ｓ７０５）、処理Ｓ７１０に進む。子要素の演算結果と等しい或いは小さい場合（処理Ｓ７０４，小さい）、自身の対象項目のフィールド値を自身の演算項目に上書きし（処理Ｓ７０６）、処理Ｓ７１０に進む。
【００６８】
演算するパターンが「最小」の場合（処理Ｓ７０２，最小）、子要素の演算結果が自身の対象項目のフィールド値より小さいか否かを判定する（処理Ｓ７０７）。子要素の演算結果の方が小さい場合（処理Ｓ７０７，小さい）、子要素の演算結果を自身の結果項目に上書きし（処理Ｓ７０８）、処理Ｓ７１０に進む。子要素の演算結果と等しい或いは大きい場合（処理Ｓ７０７，大きい）、自身の演算項目のフィールド値を自身の結果項目に上書きし（処理Ｓ７０９）、処理Ｓ７１０に進む。そして、前記処理完了後、処理の呼び出し元に戻る（処理Ｓ７１０）。
【００６９】
図８は、要素内演算処理の流れを示すフローチャートである。適宜図３を参照して説明する。
［要素内演算処理Ｓ８００］
演算部１０６は、要素内演算処理Ｓ８００を開始すると（処理Ｓ８０１）、要素内演算ルールマスタ１１０を取得し（処理Ｓ８０２）、演算順序フィールドの昇順指定でルールを取得する。これは、演算ルールが複数存在する場合、演算順序が小さいものから順に処理していくためである。ループ処理に先立ち、カウンタ変数ｉを１に初期化する（処理Ｓ８０３）。以降はループ処理である。
【００７０】
演算部１０６は、先ず、ｉ番目のルールが存在するか確認する（処理Ｓ８０４）。ルールが存在しない場合（処理Ｓ８０４，存在しない）、処理の呼び出し元に戻る（処理Ｓ８０７）。ルールが存在する場合（処理Ｓ８０４，存在する）、次にルールの演算式１１０ｃのフィールドに記録されている内容に沿って計算式を解析し演算処理を行う（処理Ｓ８０５）。演算部１０６は、結果を結果項目１１０ｂのフィールドに記録されているデータフィールドに対して書き込む。最後に、カウンタ変数ｉを１インクリメントし（処理Ｓ８０６）、処理Ｓ８０４から処理を繰り返す。なお、計算式の解析および処理は、周知のＬＬ法やＬＲ法等のアルゴリズムが利用可能である。
【００７１】
図９は、データ間演算処理によるデータ間演算処理の流れを示すフローチャートである。適宜図３を参照して説明する。
［データ間演算処理Ｓ９００］
演算部１０６は、データ間演算処理Ｓ９００を開始すると（処理Ｓ９０１）、データ関係マスタ１１２を取得し（処理Ｓ９０２）、関係情報を取得する。自身と関係するデータ（データ種別）が存在するか否かを判定し（処理Ｓ９０３）、自身と関係するデータ種別が存在する場合（処理Ｓ９０３，存在する）、データ関係マスタ１１２の関係先データ先種別１１２ｃおよび関係先項目１１２ｄに記録されている内容を基に関係先データテーブルを検索し、連携先データを取得する（処理Ｓ９０４）。ここで言う連携先データとは、図２の点検ＩＤ（１０８ａ）が「１」の点検データで、例えるなら設備ＩＤ（１０８ｄ）が「４」の設備データのことを指す。一方、自身と関係するデータ種別が存在しない場合（処理Ｓ９０３，存在しない）、処理の呼び出し元に戻る（処理Ｓ９１１）。
【００７２】
演算部１０６は、次にデータ間演算ルールマスタ１１１を取得し（処理Ｓ９０５）、演算順序１１１ｅのフィールドの昇順指定でルールを取得する。これは、演算ルールが複数存在する場合、演算順序が小さいものから順に処理していくためである。ループ処理に先立ち、カウンタ変数ｉを１に初期化する（処理Ｓ９０６）。以降はループ処理である。
【００７３】
演算部１０６は、先ず、ｉ番目のルールが存在するか確認する（処理Ｓ９０７）。ルールが存在する場合（処理Ｓ９０７，存在する）、次にデータ間演算処理（パターン処理）を起動して、データ間演算処理を行う（処理Ｓ１０００、図１０参照）。次にデータ間演算処理（パターン処理）Ｓ１０００から更新後の連携先データを得たら、連携先データを基点に階層間演算処理、要素内演算処理、データ間演算処理を行うため、再帰的に演算処理を起動する（処理Ｓ４０４、図４（ｂ）参照）。連携先データ側の演算処理完了後、カウンタ変数ｉを１インクリメントし（処理Ｓ９１０）、処理９０７から処理を繰り返す。処理Ｓ９０７において、ルールが存在しない場合（処理Ｓ９０７，存在しない）、処理の呼び出し元に戻る（処理Ｓ９１１）。
【００７４】
図１０は、データ間演算処理（パターン処理）の流れを示すフローチャートである。
［データ間演算処理（パターン処理）Ｓ１０００］
演算部１０６は、データ間演算処理（パターン処理）Ｓ１０００を開始すると（処理Ｓ１００１）、先ず演算するパターンを確認する（処理Ｓ１００２）。
【００７５】
演算するパターンが「集計」の場合（処理Ｓ１００２，集計）、自身の演算項目のフィールド値（自身の属性）を連携先の結果項目のフィールド値に加算し（処理Ｓ１００３）、処理Ｓ１００８に進む。
【００７６】
演算するパターンが「最大」の場合（処理Ｓ１００２，最大）、次に連携先の結果項目のフィールド値（連携先の属性）より自身の演算項目のフィールド値（自身の属性）が大きいか否かを判定する（処理Ｓ１００４）。自身の演算項目のフィールド値が大きい場合（処理Ｓ１００４，大きい）、連携先の結果項目（フィールド）を自身の演算項目のフィールド値で上書きし（処理Ｓ１００５）、処理Ｓ１００８に進む。自身の演算項目のフィールド値と等しい或いは小さい場合（処理Ｓ１００４，小さい）、特に何もしないで、処理Ｓ１００８に進む。
【００７７】
演算するパターンが「最小」の場合（処理Ｓ１００２，最小）、次に連携先の結果項目のフィールド値（連携先の属性）より自身の演算項目のフィールド値（自身の属性）が大きいか否かを判定する（処理Ｓ１００６）。自身の演算項目のフィールド値が小さい場合、連携先の結果項目（フィールド）を自身の演算項目のフィールド値で上書きし（処理Ｓ１００７）、処理Ｓ１００８に進む。自身の演算項目のフィールド値と等しい或いは小さい場合（処理Ｓ１００６，大きい）、特に何もしないで処理Ｓ１００８に進む。そして、前記処理完了後、処理の呼び出し元に戻る（処理Ｓ１００８）。
【００７８】
図１１は、本実施形態に係る設備管理システムの表示部に表示される画面例と処理前後の設備データおよび点検データのレコード内容を示す図であり、（ａ）は設備管理システムの表示部に表示される画面例、（ｂ）は更新前後の設備データのレコード内容、（ｃ）は更新前後の点検データのレコード内容について示す。適宜図１から図３を参照する。
【００７９】
［画面と演算処理の一例］
入出力制御部１０５は、処理Ｓ４０２（図４（ａ）参照）において、表示部１０３に点検データ１０８を新規作成するデータ登録画面Ｐ１１０１を表示する。この画面で、設備データ１０７の指定および点検データ１０８の内容を入力する。登録内容を入力後、登録ボタンＰ１１０２を押下されると、処理Ｓ４０４において演算部１０６による演算処理が起動される。
【００８０】
演算部１０６は、先ずはデータ登録画面Ｐ１１０１で入力した点検データ１０８を基点に、階層間演算処理Ｓ５００（図５（ａ）参照）、要素内演算処理Ｓ８００（図８参照）、データ間演算処理Ｓ９００（図９参照）の順で処理が行われる。図３から点検データ１０８に関するルールは、要素内演算ルールマスタ１１０、データ間演算ルールマスタ１１１、データ関係マスタ１１２に存在する。よって、演算部１０６は、要素内演算処理Ｓ８００（図８参照）において、Ｐ１１０３の演算が行われ、次にデータ間演算処理Ｓ９００（図９参照）において、Ｐ１１０４の演算が行われる。
【００８１】
演算部１０６は、データ間演算処理Ｓ９００の処理Ｓ１０００（図９参照）において、データ関係マスタ１１２の内容により点検データ１０８と設備データ１０７は関係を持つことから、今度は設備データ１０７の設備ＩＤ＝８を基点とした処理Ｓ４０４（図４参照）が実行される。図３から設備データ１０７に関するルールは、階層間演算ルールマスタ１０９に存在する。よって、階層間演算処理Ｓ５００において、Ｐ１１０５の演算が行われる。前記の処理結果を得て、永続化された設備データ１０７および点検データ１０８に書き込みを行い、処理を終了する。
【００８２】
次に、本実施形態の設備管理システム１００によれば、管理者が各ルールマスタを変更することにより、既存の設備データ１０７および点検データ１０８を容易に変更できることを、図１２〜図１４を参照して説明する。
【００８３】
図１２は、図２に示す設備データおよび点検データを改定した一例を示す図であり、（ａ）は設備データ１０７、（ｂ）は点検データ１０８の改定した一例を示す。本改定例は、管理内容を詳細化するため、保全費実績を作業費と材料費に項目を分ける変更例を示している。適宜図１〜図３を参照して説明する。
【００８４】
［ルールマスタ改定の一例］
図１２（ａ）に示す設備データ１０７は、以前あった保全費実績１０７ｇのフィールドを改名し、作業費のフィールドとしている（フィールドＰ１２０１参照）。また、予め設けられていた予備１（１０７ｈ）フィールド〜予備３（１０７ｊ）のフィールドを、それぞれ作業費（合計）のフィールド（フィールドＰ１２０２参照）、材料費のフィールド（フィールドＰ１２０３参照）、材料費（合計）のフィールド（フィールドＰ１２０４参照）に改名している。
【００８５】
図１２（ｂ）に示す点検データ１０８は、予め設けられていた予備１（１０８ｉ）のフィールド、予備２（１０８ｊ）のフィールドを、それぞれ材料費のフィールド（フィールドＰ１２０５参照）、保全費のフィールド（フィールドＰ１２０６参照）に改名している。
【００８６】
なお、ここで行っている改名は、あくまで表示上のラベル変更を意図するもので、データベース上の物理フィールドを改定するものではない。
【００８７】
図１３は、図３に示す各種ルールマスタを改定した一例を示す図であり、（ａ）は階層間演算ルールマスタ、（ｂ）は要素内演算ルールマスタ、（ｃ）はデータ間演算ルールマスタ、（ｄ）はデータ関係マスタのフィールド構成およびレコードの一例を示す。本改定例は、図１２で行った設備データ１０７および点検データ１０８の改定に伴って各種演算方法の見直しを行った例を示している。
［ルールマスタ改定の一例］
階層間演算ルールマスタ１０９は、既に定義済みのルールＰ１３０１を削除し、新たにルールＰ１３０２とルールＰ１３０３を追加している。要素内演算ルールマスタ１１０は、既に定義済みのルールはそのままで、新たにルールＰ１３０４とルールＰ１３０５を追加している。データ間演算ルールマスタ１１１は、既に定義済みのルールＰ１３０６を一部改定し、新たにルールＰ１３０７を追加している。データ関係マスタ１１２は、特に変更を行っていない。
【００８８】
図１４は、図１３の改定後の各種ルールマスタを用いて処理した設備データと点検データのレコード内容を示す図であり、（ａ）は、設備データ１０７のレコード内容、（ｂ）は、点検データ１０８のレコード内容を示す。
【００８９】
［変更後の演算処理の一例］
レコードＰ１４０１が登録されることを契機に演算部１０６の処理が呼び出されると、まず、演算部１０６は、要素内演算処理Ｓ８００（図８参照）において、変更後のルールＰ１３０５（図１３（ｂ）参照）が適用され、演算Ｐ１４０２が行われる。データ間演算処理Ｓ９００（図９参照）において、変更後のルールＰ１３０６とルールＰ１３０７（図１３（ｃ）参照）が適用され、演算Ｐ１４０３（点検費の演算後に保全費の演算を行う処理）が行われる。
【００９０】
演算部１０６は、データ間演算処理Ｓ９００の処理Ｓ１０００（図９参照）において、データ関係マスタ１１２の内容から今度は設備データ１０７のＩＤ＝８を基点とした処理Ｓ４０４（図４（ｂ）参照）を実行する。階層間演算処理Ｓ５００において、変更後のルールＰ１３０１、ルールＰ１３０２、ルールＰ１３０３（図１３（ａ）参照）が適用され、演算Ｐ１４０４が行われる。その後、処理Ｓ８００の要素内演算処理において、変更後のルールＰ１３０４（図１３（ｂ）参照）が適用され、演算Ｐ１４０５が行われ、処理を終了する。本改定の一例により、本実施形態では装置の改造を行わずルールマスタの改定のみで演算方法の追加、変更が可能であることを証明できる。
【００９１】
次に、設備管理システム１００を作業・資産管理システムＳｍａｒｔＦＡＭ（登録商標）に適用した例を、図１６〜図１８を参照して説明する。
図１６は、点検データを登録する際の点検データ登録画面の例である。図１７は、点検データ登録後、各種演算処理を経て演算された結果を閲覧する際の照会画面の例である。図１８は、演算処理方法を変更する際のルールマスタ設定画面の例である。
【００９２】
図１６に示す点検データ登録画面には、該当する機器に対し、点検件名、点検の開始予定日、点検の終了予定日、実際に点検を実施した開始日、実際に点検を実施した終了日、点検状態などが登録できる。また、点検費として、労務費、材料費を個別に登録することができる。
【００９３】
図１７に示す照会画面には、機器名称、部位名称、種別、月ごとの予実算が含まれている。コンプレッサの機器の部位には、本体、シャフト、ピストン、リンクなどが表示される。種別には、予算集計、実算集計、材料費実算、労務費実算などがある。当画面では、図１６の点検データ登録画面にて登録した点検データから演算された結果（各実算）が月別に閲覧することができる。
【００９４】
図１８に示すルールマスタ設定画面は、図３、図１３に示す階層間演算ルールマスタ１０９の例をＷｅｂページで設定する画面であり、演算項目１０９ｃを材料費（合計）、結果項目１０９ｂを材料費実算とし、演算パターン１０９ｄに積上加算を指定した例である。当画面を用いることで、各種演算ルールマスタの追加・変更が容易に行える。
【００９５】
このような図１６〜図１８の画面を提供することで、係る課題を解決するための手段を提供することが可能となる。
【００９６】
本実施形態の設備管理システム１００（演算処理装置）の操作部１０４から要素内演算ルールマスタ１１０、異データ間演算ルールマスタ（例えば、データ間演算ルールマスタ１１１およびデータ関係マスタ１１２）のうち、いずれかが改定された場合、処理部１２０（演算部１０６）は、改定されたルールマスタに従い演算処理を行うことができる。すなわち、管理者は、要素内演算ルールマスタ１１０、異データ間演算ルールマスタ（例えば、データ間演算ルールマスタ１１１およびデータ関係マスタ１１２）、および階層間演算ルールマスタ１０９の各ルールの内容を変更することにより、容易に、出力内容を修正することができる。
【００９７】
マスタデータ１３１には、複数のデータとして、設備のデータである設備データ１０７と、該設備の点検記録のデータである点検データ１０８とを有しており、異データ間演算ルールマスタにおける、第１のデータは設備データ１０７であり、第２のデータは点検データ１０８であってもよい。
【００９８】
設備データ１０７には、各設備について第１の項目（例えば、保全費実績１０７ｇ）と、第１の項目の演算結果を格納する項目（保全費実績(合計)１０７ｆ）を有し、階層間演算ルールマスタ１０９において、第１の項目を用いて（例えば、演算項目１０９ｃ）、第２の項目に対し（例えば、結果項目１０９ｂ）、集計の方法（例えば、演算パターン１０９ｄ）で演算をさせるルールが設定された場合、処理部１２０は、親要素であるレコードの第２の項目に、該親要素に関連付けられている子要素のすべてについての第２の項目の演算結果を集計した結果を格納することができる。なお、集計には、＋（プラス）、−（マイナス）を含む集計を意味する。
【００９９】
なお、本実施形態では以下の応用例が可能である。
（１）設備データ１０７、点検データ１０８の他に階層管理された組織データと関係を持たせることで、点検で発生した費用を、設備データ１０７を仲介して組織データに連携が可能となる。これにより保全コストを組織で把握でき、組織単位のＫＰＩの把握が期待できる。
（２）階層間演算処理Ｓ５００において、費用フィールド（費用の項目）ではなく状態フィールド（状態の項目）を演算対象とすることで、下位状態を上位状態で把握することが可能となる。具体的には、下位の部位（図２で例えるならモータケース）で故障が発生し、状態が「正常」→「異常」となった場合、階層間演算処理を適用すると上位の部位（図２で例えるなら本体）の状態を「正常」→「異常」に自動変更可能となる。
（３）階層間演算処理Ｓ５００において、積降演算機能（上位から下位に演算する処理）を追加することで、費用の案分計算などが可能となる。
【０１００】
本発明によれば、ルールマスタの設定値改変により演算処理の追加や変更、削除を、装置改造を伴わずに行える。演算処理装置と、必要な管理情報を即時に把握できる情報管理システムを提供できる。
【０１０１】
本実施形態の設備管理システム１００（演算処理装置）は、マスタデータ１３１（例えば、設備データ１０７、履歴データである点検データ１０８）に集計フィールド（集計項目）を予め複数個具備している。その上で、階層間演算ルールマスタ１０９、要素内演算ルールマスタ１１０、データ間演算ルールマスタ１１１、データ関係マスタ１１２を具備し、これらのマスタを用いて階層間演算、要素内演算、データ間演算を処理することができる。さらに、マスタデータ１３１上の集計フィールドは、これらの各種演算処理の組み合わせにより発生の都度、自動計算することを可能とする。
【０１０２】
以上、本発明の実施形態について説明したが、本発明は前記した実施形態に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含む。
【符号の説明】
【０１０３】
１００    設備管理システム（演算処理装置）
１０１    アプリケーション層
１０２    データベース層
１０３    表示部
１０４    操作部
１０５    入出力制御部
１０６    演算部
１０７    設備データ
１０８    点検データ
１０９    階層間演算ルールマスタ
１１０    要素内演算ルールマスタ
１１１    データ間演算ルールマスタ
１１２    データ関係マスタ
１２０    処理部
１３０    記憶部
１３１    マスタデータ
１３２    ルールマスタ
Ｓ４００    更新処理
Ｓ４０４    演算処理
Ｓ５００    階層間演算処理
Ｓ５１０    影響範囲調査処理（再帰処理）
Ｓ６００    階層間演算処理（再帰処理）
Ｓ７００    階層間演算処理（パターン処理）
Ｓ８００    要素内演算処理
Ｓ９００    データ間演算処理
Ｓ１０００    データ間演算処理（パターン処理）
【図１】
2014092852.tif 000003
【図２】
2014092852.tif 000004
【図３】
2014092852.tif 000005
【図４】
2014092852.tif 000006
【図５】
2014092852.tif 000007
【図６】
2014092852.tif 000008
【図７】
2014092852.tif 000009
【図８】
2014092852.tif 000010
【図９】
2014092852.tif 000011
【図１０】
2014092852.tif 000012
【図１１】
2014092852.tif 000013
【図１２】
2014092852.tif 000014
【図１３】
2014092852.tif 000015
【図１４】
2014092852.tif 000016
【図１９】
2014092852.tif 000017
【図１５】
2014092852.tif 000018
【図１６】
2014092852.tif 000019
【図１７】
2014092852.tif 000020
【図１８】
2014092852.tif 000021