単純なビジネス・メトリック・プロパティの定義
単純なビジネス・メトリック・プロパティを定義するには、次のように、ビジネス・メトリック・クラスにプロパティを追加します。
Property MetricProperty As Ens.DataType.Metric;
このプロパティは、数値と文字列値のどちらかを保持できます。
ここで、MetricProperty はビジネス・メトリック・プロパティの名前です。以下に例を示します。
/// This metric tracks A/R totals
Property AccountsReceivable As Ens.DataType.Metric;
このプロパティは、数値と文字列値のどちらかを保持できます。
自動履歴付きビジネス・メトリック・プロパティの定義
自動履歴付きビジネス・メトリック・プロパティを定義するには、次のように、ビジネス・メトリック・クラスにプロパティを追加します。
Property MetricProperty As Ens.DataType.Metric (AUTOHISTORY=50) [MultiDimensional];
AUTOHISTORY パラメータには、任意の正の整数を使用できます。以下に例を示します。
/// Recent Sales History
Property SalesHistory As Ens.DataType.Metric (AUTOHISTORY = 50) [ MultiDimensional ];
一般に、この種のプロパティの目的は、一定期間に一定の間隔で値を収集し、収集した一連の数値をグラフ上にプロットすることです。そのため、割り当てられる値は数値がほとんどです。
収集の頻度は、構成されたビジネス・メトリックの [呼び出し間隔] 設定によって制御されます。
ビジネス・メトリック・プロパティへの値の割り当て
ここでは、単一インスタンス・ビジネス・メトリックのビジネス・メトリック・プロパティへの値の割り当て方法について説明します。複数インスタンス・ビジネス・メトリックの詳細は、このページの後半で説明します。
ビジネス・メトリック・プロパティに値を割り当てるには、ビジネス・メトリック・クラスの OnCalculateMetrics() インスタンス・メソッドを実装します。OnCalculateMetrics() の目的は、クラス内の任意のメトリック・プロパティの値を計算、検索、または設定することです。
以下の例では、2 つのメトリック・プロパティ、Counter および SalesHistory を定義しています。この例では、OnCalculateMetrics() メソッドが、単一値 Counter プロパティをインクリメントして、SalesHistory プロパティをランダム値に更新するだけです。
/// Example Business Metric class
Class MyProduction.MyMetric Extends Ens.BusinessMetric
{
/// Number of times these metrics have been calculated.
Property Counter As Ens.DataType.Metric
(RANGELOWER = 0, RANGEUPPER = 100000, UNITS = "Events");
/// Total Sales for the current day.
Property SalesHistory As Ens.DataType.Metric
(RANGELOWER = 0, RANGEUPPER = 50, AUTOHISTORY = 50, UNITS = "$US")
[ MultiDimensional ];
/// Calculate and update the set of metrics for this class
Method OnCalculateMetrics() As %Status
{
// set the values of our metrics
Set ..Counter = ..Counter + 1
Set ..SalesHistory = $GET(..SalesHistory) + $RANDOM(10) - 5
Quit $$$OK
}
}
注 :
-
単純なプロパティと自動履歴付きプロパティは値の指定方法が同じであることに注目してください
(多次元プロパティに慣れている場合は、ここで示すように、添え字が付けられていないプロパティの最上位ノードの値しか指定しないことに注意してください。AUTOHISTORY パラメータに従って、InterSystems IRIS は、配列内の下位ノード (整数添え字が付けられた配列) を自動的に維持するコードを生成します。例えば、SalesHistory(1) は SalesHistory プロパティ内の最も古い値です)。
-
このメソッドでは、オプションで、ビジネス・オペレーションとビジネス・プロセスを呼び出すことができます。値の計算に必要な API を呼び出すこともできます。
-
自動履歴付きプロパティに NULL 値を含めることはできません。NULL 値は表示されないため、棒グラフと折れ線グラフの棒やエントリの数が合わなくなります。これにより、軸ラベルとラベルで表示する項目が不一致になることがあります。このような問題を避けるには、すべての NULL 値を 0 に置き換えます。
-
OnCalculateMetrics() メソッドの呼び出しの前に、すべてのメトリック・プロパティは、最後に計算された値に設定されます (そのような値がある場合)。OnCalculateMetrics() の呼び出し後、すべてのメトリック・プロパティの値は、ダッシュボードやそれらの値を必要とする関係者など (存在する場合) が後から使用できるように、ビジネス・メトリックのキャッシュに格納されます。