計算フィールドマスタ

<< 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」となります。

 

attention

本パラメータの設定は、クオリティチェック機能の動作に影響を与えます。詳細については、本表記載のExpressionQualityCheckTypeの注意を参照してください。

 

[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パラメータで指定した列名で定義します。計算フィールドマスタにクオリティチェックのタイプを指定した場合は、計算フィールドマスタの設定が優先されます。

 

タイプ

説明

空文字

サマリマスタのExpressionQualityCheckTypeに指定した値に従う。

NONE

クオリティチェックを行わない。

NULLTONULL

演算データにNULL値が存在する場合はNULL値とする。

NULLTOBAD

演算データにNULL値が存在する場合は不信頼値(*123など)とする。

BADTONULL

演算データに不信頼値(*123など)が存在する場合はNULL値とする。

BADTOBAD

演算データに不信頼値(*123など)が存在する場合は不信頼値(*123など)とする。

 

attention

計算フィールドのクオリティチェックでは、計算フィールドマスタの[UncertainIsZero]列の設定が優先されます。UncertainIsZeroに「F」を指定した場合、例えば上記でNULLTOBADを設定したとしても、NULL値が存在した場合の計算結果はNULLとなります。

 

例)演算データにNULL値が存在する場合

UncertainIsZeroがF:NULL+123=NULL ※ExpressionQualityCheckTypeに関係なく、NULLとなる。

UncertainIsZeroがTかつ「NONE」:NULL+123=123

UncertainIsZeroがTかつ「NULLTONULL」 : NULL+123=NULL

UncertainIsZeroがTかつ「NULLTOBAD」 : NULL+123=*123

 

 

hint

クオリティチェック機能の詳細については、「クオリティチェック機能を使用する」を参照してください。

 

[QualityCheckType1] ~

[QualityCheckType{n}]

 

サマリマスタのQualityCheckTypeFieldMasterパラメータで指定した列名で、計算フィールドマスタにQualityCheckType列を定義することができます。

本パラメータは、[SummaryType]列で指定した集計方法に従って集計が行われる際のクオリティチェックのタイプを指定します。

例えば、生データから日報集計のタイミングでは[Expression]で定義した式に従って演算を行い、日報から月報を集計するタイミングでは日報の演算結果をもとに[SummaryType]列で指定した集計法方法(AVERAGEやTOTALなど)で集計を行いたい場合、[SummaryType]列による集計時は本パラメータのクオリティチェックタイプが採用されます。

 

尚、サマリマスタで「QualityCheckType」と「QualityCheckTypeFieldMaster」の両方を定義した場合、計算フィールドマスタにクオリティチェックタイプを指定した行のフィールドは、計算フィールドマスタ側が優先されます。クオリティチェックタイプに空文字を指定した行のフィールドは、サマリマスタのQualityCheckTypeが採用されます。

 

タイプ

説明

空文字

サマリマスタのQualityCheckTypeに指定した値に従う。

NONE

クオリティチェックを行わない。

NULLTONULL

集計元データにNULL値が存在する場合はNULL値とする。

NULLTOBAD

集計元データにNULL値が存在する場合は不信頼値(*123など)とする。

BADTONULL

集計元データに不信頼値(*123など)が存在する場合はNULL値とする。

BADTOBAD

集計元データに不信頼値(*123など)が存在する場合は不信頼値(*123など)とする。

 

hint

クオリティチェック機能の詳細については、「クオリティチェック機能を使用する」を参照してください。尚、クオリティチェックの判定ロジックは統計方法により異なります。詳細については、「集計のクオリティチェック」を参照してください。

 

 

 

hint

計算フィールドを定義する場合、サマリマスタに以下の定義が必要になります。

 

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]

...

 

 

hint

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

 

 

hint

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