# 計算フィールドマスタ

マニュアル > サーバ作成ガイド > アクション編 > アクションの機能解説 > サマリ > サマリアクションの設定ファイルとフォルダ構成 > # 計算フィールドマスタ |

計算フィールドマスタの定義

計算フィールドマスタ（fieldmaster_calculation.csv）を定義することにより、集計データの結果からさらに各フィールドの演算を行い、演算結果を履歴データとして保存できます。もし本機能を利用しない場合は計算フィールドマスタは定義する必要はありません。計算フィールドマスタのパスはサマリマスタのルートログセクションのCalculationFieldMasterプロパティで指定します。

計算フィールドマスタは1つの演算式が１行で構成されます。例えば10種類の演算式を定義し、それぞれの演算式に対する集計結果を保存したい場合、計算フィールドマスタは10行で構成されます。下記は計算フィールドマスタの設定例です。

計算フィールドマスタ（設定例）

[Name], | [Comment], | [Expression], | [UncertainIsZero], | [TermOfValidity], | [DecimalNum1], | [SummaryType1]
C000, | 計算タグ1, | T000 + T001 + T002, | F, | , | 2, | AVERAGE
C001, | 計算タグ2, | T003 + T004 / 2, | F, | , | 2, | AVERAGE
C001, | 計算タグ3, | C000 + C001 | F, | , | 2, | AVERAGE

ヘッダ名 | 説明
[Name] （必須） | フィールド名。サマリレポートやヒストリカルデータグラフなどから参照するときに使用する名前。名前が重複しないように設定して下さい。
[Expression] （必須） | フィールド名（[Name]）で式を作ります。演算式にはタグフィールドマスターファイル内に定義されたフィールド名が使用できます。演算式で使用できるオペレータや関数は「演算式構文」に基づきます。 例）一般的な演算子 (T000 + T001) / 100 例）T000/T001/T002のフィールドから最大値を求める Math.Summary("max", T000, T001, T002) ※"max"の他に、"min", "ave", "sum"に対応しています。 ※演算式内では演算式構文で利用できる関数が使用できます。 また、計算フィールドマスターファイル内に定義されたフィールド名も演算式内で利用できます。ただし、演算は計算フィールドマスターファイルに定義されている順番に処理されるため、下記のようにCAL01、CAL02を定義した後に、CAL03を定義してください。 [Name], [Expression] CAL01, T000 + T001 CAL02, T002 + T003 CAL03, CAL01 + CAL02 + T004
[Comment] | 任意のコメントを含めることができます。
[UncertainIsZero] | 計算時の不定値の扱い方の設定です。[UncertainIsZero]に「F」（もしくはn）を指定すると、式中に不定値が含まれる場合、演算結果も不定値にします。例えば「T000 + T001」という式の場合T001が通信不良などで値が欠損している場合、演算結果も不定値（欠損値）になります。[UncertainIsZero]に「T」（もしくはy）を指定すると、不定値を数値の0とみなして演算します。[UncertainIsZero]列は必須ではありません。省略した場合のデフォルト値は「F」となります。
[DecimalNum1] ～ [DecimalNum{n}] | 「タグフィールドマスタ」を参照して下さい。
[SummaryType1] ～ [SummaryType{n}] | 集計方法の指定です。計算フィールドの場合、集計方法は[Expression]で定義されている式で演算させるため、通常は必要ありません。しかしながら、[Expression]で演算したログの結果を親にして新たに集計ログを行う場合（例えば日報から月報を作成する場合など）は[SummaryType]列を定義します。
[SummaryParam1] ～ [SummaryParam{n}] | 「タグフィールドマスタ」を参照して下さい。
[TermOfValidity] | 「タグフィールドマスタ」を参照して下さい。
[ReportHeader1] ～ [ReportHeader{n}] | 「タグフィールドマスタ」を参照して下さい。
[UserParam1] ～ [UserParamn}] | 「タグフィールドマスタ」を参照して下さい。

| 計算フィールドを定義する場合、サマリマスタに下記の定義が必要になります。 １）ルートログセクション CalculationFieldMaster=計算フィールドマスターファイル名 CalculationFieldIndex=計算フィールドインデックスファイル名 例） [RAW] CalculationFieldMaster=summary_fieldmaster_calculation.csv CalculationFieldIndex=DB\summary_index_calculation.txt ... ２）集計ログセクション CalculationType=計算方法 例1）計算フィールドマスタの[Expression]列に従い計算する。 [RAW::DAY] CalculationType =[Expression] ... 例2）計算フィールドマスタの[SummaryType]列に従い計算する。 [DAY::MONTH] CalculationType =[SummaryType1] ...

| 運用開始後に計算フィールドマスタを修正した場合、修正内容を適用するためには、Panel Serverをいったんオフラインにして、再びオンラインにする必要があります。

| 計算フィールドの演算は、日集計などの集計処理タイミングで行われます。ルートログ（生データ）のロギング時には計算は行われません。