| 
       << Click to Display Table of Contents >> マニュアル > 監視システム構築ガイド > 主要機能の構築 > 日報(レポート) > 日報機能の構築 > フィールド同士の演算を定義する(計算フィールド) | 
    
フィールド同士を演算する方法について
日報のフィールド同士の演算を行うための機能として、計算フィールドを使用する方法と、日報画面のポイント登録定義で演算式を指定する方法の、2つの方法が用意されています。
以下に、各方法の違いについて説明します。
方法  | 
説明  | 
計算フィールドを使用する 
  | 
計算フィールドを使用すると、日報等の集計処理が行われるタイミングでフィールド同士の演算結果を集計データに含めて保存することができます。この演算機能を使用する場合、「計算フィールドマスタ」と呼ばれる定義ファイルにあらかじめフィールド同士の演算処理を定義しておく必要があります。 
 計算フィールドを使用する方法については、本ページにて詳しく説明します。 
  | 
日報画面のポイント登録時に演算式を指定する 
  | 
日報画面のポイント登録(ページ設定)でデータソースを指定する際に、演算式を指定することができます。演算式では、複数のデータソースを指定する事が可能となっており、複数のフィールドの演算結果を日報の列に表示することができます。 
 この方法はページ設定のみで行えるため、運用中に演算式を自由に編集することができるメリットがあります。一方で、この方法は日報画面を表示する際に動的に演算を行う仕組みのため、実際の集計データには演算結果は含まれていないという点が、計算フィールドとの相違点です。 
 ポイント登録時に演算式を指定する方法については、「日報のポイント登録(ページ設定)」にて別途説明します。 
  | 
計算フィールドマスタについて
標準プロジェクトのサーバ設定ファイルには、あらかじめ「Summary」という名称のサマリアクションが登録されています。
サマリアクションの設定ファイルの一つに、「計算フィールドマスタ」と呼ばれる設定ファイルがあります。計算フィールドマスターファイルを定義することで、日報などの集計時にフィールド同士の演算を行い、演算結果を集計ログに含めることができます。計算フィールドは通常のフィールドと同様に日報のページ列に追加することができます。
上記の「Summary」アクションの計算フィールドマスタは、以下に格納されています。
(プロジェクトフォルダ)\server\summary\fieldmaster_calculation.csv
計算フィールドマスタはCSV形式のテキストファイルであり、メモ帳などのテキストエディタやExcelなどで自由に編集することができます。
  | 
計算フィールドの演算結果は、ルートログ(RAW)には含まれません。計算フィールドで指定した計算結果は、DAY、MONTH、YEARなどの集計ログに対して出力されます。  | 
  | 
サンプルの設定ファイルには、以下のようなサンプルデータが定義されている場合があります。計算フィールドを使用しない場合は、以下の定義ファイルの2行目以降のサンプルデータを削除するようにしてください。 
 (計算フィールドマスタのサンプル例) 
 
  | 
計算フィールドマスタの編集
以下に、計算フィールドマスタの編集について、Excelを使用した編集要領を説明します。
■前提条件
ここで紹介する例では、「タグフィールドマスタの編集」の設定例をもとに、タグフィールドマスタで定義されているフィールド同士の演算を行います。
タグフィールドマスタには以下のような集計処理が定義されているものとします。
タグフィールド名  | 
内容  | 
T000  | 
SD0000タグの1時間の数値の平均値です(AVERAGE)。  | 
T001  | 
同上(SD0001タグ)。  | 
T002  | 
同上(SD0002タグ)。  | 
T003  | 
同上(SD0003タグ)。  | 
T004  | 
同上(SD0004タグ)。  | 
T005  | 
同上(SD0005タグ)。  | 
T006  | 
SD0006タグの1時間の積算値です(ADDINGCOUNT)。  | 
T007  | 
SD0007タグの1時間の積算値です(ADDINGCOUNT)。  | 
T008  | 
SM0006タグの1時間のON回数です(ADDINGPULSE)。  | 
T009  | 
SM0007タグの1時間のON回数です(ADDINGPULSE)。  | 
上記に対して、計算フィールドで以下の演算を行うこととします。
計算フィールド名  | 
演算内容  | 
C000  | 
タグフィールド「T000」と「T001」の合計を求めます(T000+T001)。  | 
C001  | 
タグフィールド「T002」と「T003」の合計を求めます(T002+T003)。  | 
C002  | 
さらに、上記で算出した計算フィールド「C000」と「C001」の合計を求めます(C000+C001)。 このように、計算フィールド同士でさらに演算することもできます。  | 
C003  | 
タグフィールド「T006」と「T007」の合計を求めます(T006+T007)。 これらのフィールドはADDINGCOUNTによって求めた積算値です。例えば、複数の電力メータの個々の使用量の合計を求めるような場面を想定します。  | 
■作業要領
計算フィールドマスタ「fieldmaster_calculation.csv」を、Excelで開いてください。
すると、以下のような内容が記述されています。

1行目はヘッダ行です。どの列に何の情報を記述するのかが定義されています。そして、2行目以降に、演算処理を1行ずつ定義します。
現状、2行目以降にはサンプルデータが登録されています。サンプルデータは使用しないため、2行目以降をすべて削除してください。
そして、2行目以降に4行の計算フィールド定義を追加してください。
各フィールドの設定内容は、以下を参照してください。
ヘッダ名  | 
内容  | 
[Name] 
  | 
フィールド名を指定します。フィールド名は文字列で一意となるように指定します。ここでは例として、「C000」から「C004」までの連番をフィールド名に指定します。  | 
[Comment] 
  | 
任意のコメントを指定します。 
 今回の設定例では、以下のように設定しておきます。 
 •C000 ・・・「計算1」 •C001 ・・・「計算2」 •C002 ・・・「計算合計」 •C003 ・・・「積算合計」 
  | 
[Expression] 
  | 
演算式を指定します。 
 今回の設定例では、以下のように設定しておきます。 
 •C000 ・・・「T000 + T001」 •C001 ・・・「T002 + T003」 •C002 ・・・「C000 + C001」 •C003 ・・・「T006 + T007」 
  | 
[UncertainIsZero] 
  | 
すべて「F」としてください。本パラメータの指定方法に関する詳細は、アクションリファレンスの「計算フィールドマスタ」を参照してください。  | 
[TermOfValidity] 
  | 
このパラメータは今回の例では使用しません。ブランク(空白)としてください。  | 
[DecimalNum1] 
  | 
少数桁数を指定します。ここでは例として全て「0」としておきます。  | 
[SummaryType1] 
  | 
月報、年報集計時の集計方法を指定します。 
 今回の設定例では、以下のように設定しておきます。 
 •C000、C001、C002 ・・・「AVERAGE」 •C003 ・・・「TOTAL」 
  | 
[ReportHeader1] 
  | 
このパラメータは日報に出力されるヘッダの1行目の文字列のデフォルト値となります。 ここでは例として、「C000」から「C003」の連番を指定しておきます。 
  | 
[ReportHeader2] 
  | 
このパラメータは日報に出力されるヘッダの2行目の文字列のデフォルト値となります。 
 今回の設定例では、以下のように設定しておきます。 
 •C000 ・・・「計算1」 •C001 ・・・「計算2」 •C002 ・・・「計算合計」 •C003 ・・・「積算合計」 
  | 
[ReportHeader3] 
  | 
このパラメータは日報に出力されるヘッダの3行目の文字列のデフォルト値となります。 
 今回の設定例では、以下のように設定しておきます。 
 •C000 ・・・「T000+T001」 •C001 ・・・「T002+T003」 •C002 ・・・「C000+C001」 •C003 ・・・「T006+T007」 
  | 
[ReportHeader4] 
  | 
このパラメータは日報に出力されるヘッダの4行目の文字列のデフォルト値となります。 今回の例では使用しません。全てブランク(空白)としてください。 
  | 
尚、上記の[ReportHeader1]~[ReportHeader4]に設定した文字列は、日報画面の帳票設定ダイアログ上に表示される見出し設定の初期値として使用されます。これらの見出し文字列は固定的な設定ではなく、運用中に設定画面から手動で変更することもできます。
(参考:Excelの編集イメージ)

(参考:メモ帳で編集した例)

  | 
計算フィールドマスタの指定方法に関する詳細は、アクションリファレンスの「計算フィールドマスタ」を参照してください。  | 
  | 
サマリアクションの各種設定ファイルの詳細については、「サマリアクションの設定ファイルとフォルダ構成」を参照してください。  | 
  | 
マスタファイルの記述に複数の言語を同時に定義したい場合(例えば、コメントに日本語と中国語を混在させたい場合など)は、ファイルの保存形式をUTF-8(BOM付)として保存するようにしてください。  | 
  | 
計算フィールドマスタには、単純な四則演算の他に、「演算式構文」で指定可能なMathメソッドなどの関数を記述することもできます。尚、テキストエディタで直接フィールドマスターファイルを編集する場合、計算式にカンマ「,」やダブルクォーテーション「"」が含まれる式を指定する場合は以下のように記述する必要があります。 
 例) [Name],[Comment],[Expression],[UncertainIsZero],[TermOfValidity],[DecimalNum1] C002,,"Math.summary(""max"",T000,T001,T002)",F,,2 
 ※尚、Excelを用いて編集する場合は、Excelが自動的に必要な文字を付加してくれるため、特に意識する必要はありません。 
  |