計算プロパティの使用方法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)
}
}
計算フィールドの詳細は、以下を参照してください。
計算プロパティの定義
ディスカッション (0)0