フィールドの静的演算(計算フィールドマスタの定義)

<< Click to Display Table of Contents >>

マニュアル > 監視システム構築ガイド > 主要機能の構築 > 日報(レポート) > 日報機能の構築 > フィールドの演算機能を使用する >

フィールドの静的演算(計算フィールドマスタの定義)

計算フィールドマスタについて

サマリアクションの設定ファイルの一つに、「計算フィールドマスタ」と呼ばれる設定ファイルがあります。計算フィールドマスターファイルを定義することで、日報などの集計時にフィールドの演算を行い、演算結果を集計ログに含めることができます。計算フィールドの演算結果は通常のフィールドと同様に日報の各ページに自由に表示することができます。

 

■計算フィールドの演算と集計

 

サマリマスタについて」で説明したとおり、サンプルのサマリマスタでは、生データのロギング(RAW)、日報集計(DAY)、月報集計(MONTH)、年報集計(YEAR)の、標準的な集計処理が定義されています。

 

下図は、サマリアクションの標準的なロギング・集計における、計算フィールドの処理の流れを表したものです。

 

p_rep_0096

 

計算フィールドの処理は、演算処理と集計処理に分けられます。具体的には、計算フィールドの計算式に従った演算はRAWデータからの日報集計の時のみ行われ、月報集計および年報集計の際には集計処理が行われます。

 

1.まず、ロギングによって、タグの値を時系列の生データとして保存します(RAW)。

2.次に、日報集計では、RAWデータの時系列ログをもとにタグフィールドの日報の集計が行われた直後に(すなわち、計算フィールドの演算式が参照するフィールドの日報データが揃った直後に)、計算フィールドマスタの[Expression]列で定義した計算式に従ってフィールドの演算が行われます。演算結果は日報データに含めて保存されます(DAY)。

3.次に、月報集計では、DAYの日報データをもとに月報の集計が行われます(MONTH)。ここでは、計算フィールドマスタの[SummaryType1]列で指定された集計方法に従って集計が行われます。

4.最後に、年報集計として、MONTHの月報データをもとに年報の集計が行われます(YEAR)。月報と同様に、計算フィールドマスタの[SummaryType1]列で指定された集計方法に従って集計が行われます。

 

ここで重要なポイントは、日報集計の処理では、計算フィールドマスタの[Expression]列で定義した計算式に従って演算が行われるのに対し、月報集計(DAYからMONTH)及び年報集計(MONTHからYEAR)では、それぞれの集計対象の集計データをもとに、計算フィールドマスタの[SummaryType1]列で指定された集計方法に従って集計が行われるという点です。

 

 

hint

計算フィールドの処理結果は、ルートログ(RAW)には含まれません。DAY、MONTH、YEARなどの集計ログに対して出力されます。

 

 

 

 

■標準プロジェクトの計算フィールドマスタ

 

標準プロジェクトのサーバ設定ファイルには、あらかじめ「Summary」という名称のサマリアクションが登録されています。

 

上記の「Summary」アクションの計算フィールドマスタは、以下に格納されています。

 

(プロジェクトフォルダ)\server\summary\fieldmaster_calculation.csv

 

 

計算フィールドマスタはCSV形式のテキストファイルであり、メモ帳などのテキストエディタやExcelなどのアプリケーションから自由に編集することができます。

 

 

計算フィールドマスタの編集要領

 

attention

サンプルプロジェクトの計算フィールドマスタにはサンプルデータが定義されている場合があります。計算フィールドを使用しない場合は、計算フィールドマスタの2行目以降のサンプルデータを削除するようにしてください。

 

サンプルの計算フィールドマスタ「fieldmaster_calculation.csv」をExcel等で開くと、以下のような内容が記述されています。

 

p_rep_0094

 

現状はサンプルデータが登録されています。実際にシステムを構築する際には、演算式、集計方法、日報に出力するヘッダの名称等を、実際の環境にあわせて編集してください。又、サンプルに含まれている不要なサンプルデータの行は削除してください。計算フィールドマスタの1行目はヘッダ行で、どの列に何のパラメータを記述するのかを定義します。そして、2行目以降に、どのような演算を行うのかを1行ずつ定義します。

 

以下に、各パラメータの概要を説明します。詳細については、アクションリファレンスの「計算フィールドマスタ」を参照してください。

 

ヘッダ名

内容

[Name]

 

フィールド名を指定します。フィールド名は文字列で一意となるように指定します。

 

[Comment]

 

任意のコメントを指定することができます。

 

[Expression]

 

演算式を指定します。ここで指定した演算式は、RAWから日報を集計する際に使用されます。演算式にはタグフィールドマスタおよび計算フィールドマスタで定義されたフィールド名が使用できます。演算式で使用できるオペレータや関数は「演算式構文」に基づきます。

 

例)一般的な演算子

(T000 + T001) / 100

 

[UncertainIsZero]

 

計算時の不定値(NULL値)の扱い方の設定です。本パラメータに「F」(もしくはn)を指定すると、式中に不定値が含まれる場合に演算結果も不定値にします。

本パラメータの指定方法に関する詳細は、アクションリファレンスの「計算フィールドマスタ」を参照してください。

[TermOfValidity]

 

このパラメータは集計の時間単位を分けて処理したい場合に使用します。例えば、昼時間、夜時間などで集計を分けて行いたい場合などに使用します。使用しない場合はブランクとしておきます。

[DecimalNum1]

 

少数桁数を指定します。

[SummaryType1]

 

日報からの月報集計時及び、月報からの年報集計時の、集計方法(AVERAGEやTOTALなど)を指定します。

指定可能な集計方法については「タグフィールドマスタ」を参照して下さい。

[ReportHeader1]

 

日報に出力されるヘッダの1行目の文字列のデフォルト値を指定することができます。

 

[ReportHeader2]

 

日報に出力されるヘッダの2行目の文字列のデフォルト値を指定することができます。

 

[ReportHeader3]

 

日報に出力されるヘッダの3行目の文字列のデフォルト値を指定することができます。

 

[ReportHeader4]

 

日報に出力されるヘッダの4行目の文字列のデフォルト値を指定することができます。

 

 

尚、上記の[ReportHeader1]~[ReportHeader4]に設定した文字列は、日報画面の帳票設定ダイアログ上に表示される見出し設定の初期値として使用されます。これらの見出し文字列は固定的な設定ではなく、運用中に設定画面から手動で変更することもできます。

 

 

hint

サマリアクションの各種設定ファイルの詳細については、「サマリアクションの設定ファイルとフォルダ構成」を参照してください。

 

hint

マスタファイルの記述に複数の言語を同時に定義したい場合(例えば、コメントに日本語と中国語を混在させたい場合など)は、ファイルの保存形式をUTF-8(BOM付)として保存するようにしてください。

 

hint

計算フィールドマスタには、単純な四則演算の他に、「演算式構文」で指定可能なMathメソッドなどの関数を記述することもできます。尚、テキストエディタで直接フィールドマスターファイルを編集する場合、計算式にカンマ「,」やダブルクォーテーション「"」が含まれる式を指定する場合は以下のように記述する必要があります。

 

例)

[Name],[Comment],[Expression],[UncertainIsZero],[TermOfValidity],[DecimalNum1]

C002,,"Math.summary(""max"",T000,T001,T002)",F,,2

 

※尚、Excelを用いて編集する場合は、Excelが自動的に必要な文字を付加してくれるため、特に意識する必要はありません。