記事 Hiroshi Sato · 3月 3 1m read

計算プロパティの使用方法1

これは InterSystems FAQ サイトの記事です。
 

IRISには、データ項目の値を実体として持たずに、何らかの演算処理の結果として提供する機能があります。

これを計算プロパティまたは計算フィールドといいます。

計算プロパティを定義するためには、最低限以下の手順を実行します。

プロパティ定義にSqlComputedキーワードを含めます。

プロパティ定義にSqlComputedCodeを含めて、値を算出するための処理ロジックとして含めます。

または、SqlComputedCodeを含めずに、代わりに<プロパティ名>Computationという名前のクラスメソッドを記述します。

以下は、Age(年齢)プロパティを計算プロパティとして定義した例になります。

Class Sample.Person Extends%Persistent {         

  Property FirstName As%String;       
  Property LastName As%String;       
  Property DOB As%Date;     
  Property Age As%Integer [ SqlComputed ]; // ...ClassMethod AgeComputation(cols As%Library.PropertyHelper) As%Integer
  {
    set today = $zdate($now(),8)
    set bdate = $zdate(cols.getfield("DOB"), 8)
    return$select(bdate = "":"", 1:(today - bdate) \ 10000)
  }
}

 計算フィールドの詳細は、以下を参照してください。
計算プロパティの定義