前のトピック: ビジネス ロジック モジュールの作成

次のトピック: 動的ターゲットの実装

パラメータの作成

パラメータは、ビジネス ユーザに計算式のスクリプトを編集することなく、グラフィカル ユーザ インターフェース(GUI)を使用してそれらの値を表示して変更する、迅速で直観的な方法を提供します。

ビジネス ロジック内でのパラメータの使用により、システム全体で広く利用できる一般的な計算式の作成が可能になり、またモジュールの使用が最適化されます。

パラメータは、契約またはメトリックのレベルで定義できます。 メトリック レベルのパラメータは、[メトリック詳細]の[目標ステートメント]タブに表示され設定されます。 ビジネス ロジックは、メトリック レベルのパラメータにのみアクセスできます。このため、メトリック内から契約パラメータにアクセスするために、別のタイプのパラメータがメトリック内のローカルに作成されます。 このパラメータは動的パラメータと呼ばれます。また、これは契約レベルのパラメータからの参照としてその値を取ります。 動的パラメータで許可される参照値は、メトリックの親契約内で定義された参照値のみです。

パラメータ タイプ

計算式のコードからのパラメータの値にアクセスするには、Parameters オブジェクトを使用して、パラメータ名を参照する必要があります。

Parameters("Threshold")
(これは値を呼び出す簡略的な方法であることに注意してください。通常、これは Parameters.Item("Threshold") として行なわれます。)

また、テーブル タイプのパラメータは以下のとおりです。

Parameters("Table")("Word")("Price")

(ここで、"Word" と "Price" の値は、それぞれテーブル化されたパラメータの行名と列名です)

テーブル パラメータは、以下のキーポイントに従ってのみ使用してください。

  1. グローバル変数(たとえば dim myTableParam)を定義します
  2. 関数の OnLoad では、パラメータ オブジェクトからの変数を設定します(たとえば「Set myTableParam = Parameters(“MyParametersTable”)」)。
  3. この後は、作成されたオブジェクトの myTableParam のみを使用します。 このパラメータ自体は、OnLoad 関数の外部で使用しないでください。また、このパラメータから作成したグローバル変数オブジェクトのみを参照してください。
    (たとえば 「dim myVal: myVal = myTableParam (“myRow”)(“myColumn”)」)。

これにより、パラメータで使用されたメモリが解放されます。またエンジンで各パラメータの呼び出し時、および「OnXXXEvent」(これは 1 つのメトリックにつき何千回も呼び出される可能性があります。)ごとのパラメータのマップ作成が防止されます。

以下のコードでは、テーブル パラメータの正しい使い方を示しています。

Option Explicit

Dim sum
Dim myParamTable

Sub OnLoad(TIME)
   Set myParamTable = Parameters("MyTableParam")
End Sub

Sub OnRegistration(dispatcher)
  dispatcher.RegisterByResource" OnEvent", "EventType", "ResourceType"
End Sub

Sub OnPeriodStart(TIME)
   sum = 0
End Sub

Sub OnEvent(eventDetails)
   If Context.IsWithinTimeslot Then
      sum = sum + 1 * myParTimeSlotamTable("firstRow")("secondColumn")
   End If
End Sub

Function Result
   Result = ( sum * myParamTable("secondRow")("thirdColumn")  )
End Function

以下のメソッドは、コード内で作成されたパラメータ オブジェクトごとに利用可能です。

パラメータ

説明

IsExist

param が存在するか。

IsNumeric

Number タイプの param である。

IsText

Text タイプの param である。

IsDate

Date タイプの param である。

IsTable

Table タイプの param である。

IsEntryExist

Table 内にエントリが存在するか。

IsEntryNumeric

Table 内のエントリが Numeric タイプである。

IsEntryText

Table 内のエントリが Text タイプである。

IsEntryDate

Table 内のエントリが Date タイプである。

Dump

すべてのパラメータのリストを返す。

Item

パラメータの値を参照する。