<< Click to Display Table of Contents >> マニュアル > サーバ作成ガイド > アクション編 > アクションリファレンス > サマリアクション(ロギング/集計/日報) > サマリアクションの設定ファイルとフォルダ構成 > 計算フィールドマスタ |
計算フィールドマスタの定義
計算フィールドマスタ(fieldmaster_calculation.csv)を定義すると、各フィールドの集計データ同士で演算を行い、演算結果を集計データに含めて保存する事ができます。計算フィールドマスタのパスはサマリマスタのルートログセクションのCalculationFieldMasterプロパティで指定します。本機能を利用しない場合は計算フィールドマスタは定義する必要はありません。
計算フィールドマスタは1つの演算式につき1行で構成されます。計算フィールドマスタの1行目はヘッダ行で、どの列に何のパラメータを記述するのかを定義します。そして、2行目以降に、どのような演算を行うのかを1行ずつ定義します。
以下は計算フィールドマスタの設定例です。
計算フィールドマスタ(設定例)
[Name], |
[Comment], |
[Expression], |
[UncertainIsZero], |
[TermOfValidity], |
[DecimalNum1], |
[SummaryType1] |
C000, |
計算タグ1, |
T000 + T001 + T002, |
F, |
, |
2, |
AVERAGE |
C001, |
計算タグ2, |
T003 + T004 / 2, |
F, |
, |
2, |
AVERAGE |
C002, |
計算タグ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]列で集計方法を指定します。 具体的には、生データから日報集計のタイミングでは[Expression]で定義した式に従って演算を行い、日報から月報を集計するタイミングでは日報の演算結果をもとに[SummaryType]列で指定した集計法方法(AVERAGEやTOTALなど)で集計を行いたい場合などです。
指定可能な集計方法については「タグフィールドマスタ」を参照して下さい。
|
||||||||||||||||||
[SummaryParam1] ~ [SummaryParam{n}] |
「タグフィールドマスタ」を参照して下さい。 |
||||||||||||||||||
[TermOfValidity] |
「タグフィールドマスタ」を参照して下さい。 |
||||||||||||||||||
[ReportHeader1] ~ [ReportHeader{n}] |
「タグフィールドマスタ」を参照して下さい。 |
||||||||||||||||||
[UserParam1] ~ [UserParamn}] |
「タグフィールドマスタ」を参照して下さい。 |
||||||||||||||||||
[ExpressionQualityCheckType1] ~ [ExpressionQualityCheckType{n}] |
ExpressionQualityCheckType列には、[Expression]の式に従った演算時のクオリティチェックのタイプを指定することができます。ExpressionQualityCheckType列は、サマリマスタのExpressionQualityCheckTypeFieldMasterパラメータで指定した列名で定義します。計算フィールドマスタにクオリティチェックのタイプを指定した場合は、計算フィールドマスタの設定が優先されます。
|
||||||||||||||||||
[QualityCheckType1] ~ [QualityCheckType{n}]
|
サマリマスタのQualityCheckTypeFieldMasterパラメータで指定した列名で、計算フィールドマスタにQualityCheckType列を定義することができます。 本パラメータは、[SummaryType]列で指定した集計方法に従って集計が行われる際のクオリティチェックのタイプを指定します。 例えば、生データから日報集計のタイミングでは[Expression]で定義した式に従って演算を行い、日報から月報を集計するタイミングでは日報の演算結果をもとに[SummaryType]列で指定した集計法方法(AVERAGEやTOTALなど)で集計を行いたい場合、[SummaryType]列による集計時は本パラメータのクオリティチェックタイプが採用されます。
尚、サマリマスタで「QualityCheckType」と「QualityCheckTypeFieldMaster」の両方を定義した場合、計算フィールドマスタにクオリティチェックタイプを指定した行のフィールドは、計算フィールドマスタ側が優先されます。クオリティチェックタイプに空文字を指定した行のフィールドは、サマリマスタのQualityCheckTypeが採用されます。
|
計算フィールドを定義する場合、サマリマスタに以下の定義が必要になります。
1)ルートログセクション
CalculationFieldMaster=計算フィールドマスターファイル名 CalculationFieldIndex=計算フィールドインデックスファイル名
例) [RAW] CalculationFieldMaster=summary_fieldmaster_calculation.csv CalculationFieldIndex=DB\summary_index_calculation.txt ...
2)集計ログセクション
CalculationType=計算方法
例1)計算フィールドマスタの[Expression]列に従って演算する。 [RAW::DAY] CalculationType =[Expression] ...
例2)計算フィールドマスタの[SummaryType1]列に従って集計する。 [DAY::MONTH] CalculationType =[SummaryType1] ...
|
運用開始後に計算フィールドマスタを修正した場合、修正内容を適用するためには、Panel Serverをいったんオフラインにして、再びオンラインにする必要があります。
|
計算フィールドの演算は、日集計などの集計処理タイミングで行われます。ルートログ(生データ)のロギング時には計算は行われません。 |