【計算フィールド】使用例(1) 様々な使用例
計算フィールドの基本的な設定方法については、 【計算フィールド】設定方法 を参照して下さい。
- 例-1
- <A>+<B>*10+<C>*100+<D>*1000
[D]フィールドを1000倍し、[C]フィールドを100倍、[B]フィールドを10倍したものを加算し、さらに[A]フィールドを加算します。
- 例-2
- <A>&<B>
[A]フィールドと[B]フィールドを文字列として結合します。
- 例-3
- <ID>+(1-$IsForeground)*100
[ID]フィールドをこのDBのレイヤーが前景の時はそのまま、背景の時は100を加えた値にします。
- 例-4
- $DbFolder&"\\"&<写真イメージ>
このDBのフォルダーと[写真イメージ]フィールドの属性を文字列として結合します。
- 例-5
- cond($IsSelectedVec,<A>+1000,<A>)
レコードが選択状態の時($IsSelectVec=1)、このフィールドの値を<A>+1000とし、選択されていない時($IsSelectVec=0)、このフィールドの値を<A>とする事ができます。
よって、選択状態のベクターの描画を通常表示時の描画と異なる色で表示する事ができます(背景レイヤーでも影響します)。
- 例-6
- cond(lt($DispScaleDenomi,2500), <A>+1000,<A>)
表示縮尺が1/2500以上(lt($DispScaleDenomi,2500)=0。つまり、$DispScaleDenomi<=2500)の場合、このフィールドの値を<A>+1000とします。
1/2500より小さい(lt($DispScaleDenomi,2500)=1。つまり、$DispScaleDenomi<2500)場合、このフィールドの値を<A>とします。
よって、表示縮尺によって異なる描画パラメータで表示する事ができます。
- 例-7
- DateTimeDiff(<作業開始日>,<作業終了日>,2)
日付時刻型のフィールド[作業開始日]と[作業終了日]から、その期間の日数を表示します。
計算フィールドを表示するフィールドの型は整数型にします(「日間」と入れたい場合は、接尾語の設定を行って下さい)。
- 例-8
- cond(lt(<地積>,10),<地積>,left(<地積>,len(<地積>)-3))
面積が入力されているフィールド[地積]の値で、10u以下の場合、実数小数点第2位まで表示し、10uより大きい場合、整数値で表示します。
- 例-9
- cond(<枝番>,(<親番>&"-"&<枝番>),<親番>)
地番が[親番]と[枝番]のフィールド(整数型)に分かれています。
[枝番]フィールドに値があれば[親番]と[枝番]を"-"(ハイフン)でつないで表示し、[枝番]に値が入っていない(=0)の場合は[親番]のみをそのまま表示します。
- 例-10
- cond(<Lng>,<Lng>,"-")
整数型のフィールド[Lng]があるとします。
「Lng」フィールドにゼロ以外の値があれば[Lng]の内容をそのまま表示しますが、ゼロの場合は文字型として計算結果のフィールド[Str]に"-(ハイフン)"で表示します(※画面上にはゼロを表示したくない場合)。
 |
- フィールド[Lng]:整数型
- 検索用
- フィールド[Str]:文字型
- 表示用として利用。計算式はcond(<Lng>,<Lng>,"-")
|
["0"は表示しない]チェックボックスを使う事もできます。ただし、この場合は"-"は返しません。
- 例-11
- RenderCaption(<ID>)
該当DBが内部属性の場合、<ID>フィールドの値で、パラメーターを検索し、その"キャプション"を返します。
▼ ポリゴンで参照している描画パラメーターセット
ポリゴンの内部属性フィールドに計算フィールド[種別:RenderCaption(<種別ID>)]を設定します。
<種別ID>フィールドの値に該当する描画パラメーターの"キャプション"が返されます。
- 例-12
- cond(eq(<弁種>,101),<回転角度>+$ViewRot,<回転角度>)
 | 以下のプロジェクトで、青いベクターシンボル(=仕切弁)は管に平行になるように、回転角度型で表示しています。 |
 | ここで回転をかけると、ベクターシンボルが回転してしまいます。 |
 | また、[プロジェクトエキスパート]-[環境-2]で「シンボルも合わせて回転する」のチェックをONにすると、今度は回転してほしくない仕切弁のシンボル以外(=メーターのシンボル)も回転してしまいます。 |
・弁種が仕切弁(整数型で101)であれば「回転角度」+「ウィンドウ回転角度($ViewRot)を表示。
・それ以外(メーター等)なら「回転角度」を表示。
と場合分けをしてベクターシンボルを表示します。
[プロジェクトエキスパート]-[環境-2]で「シンボルも合わせて回転する」のチェックをOFFにします。
表示用の回転角度を計算するフィールド「表示角度」を設定します。
計算フィールドに「cond(eq(<弁種>,101),<回転角度>+$ViewRot,<回転角度>)」と設定します。
[弁種]フィールド(整数型)が「101(=仕切弁)」の場合→「回転角度」+「ウィンドウ回転角度($ViewRot)でシンボルを表示。
[弁種]フィールド(整数型)が「101(=仕切弁)」以外の場合→「回転角度」フィールドの角度でシンボルを表示。
- 例-13
- Round({面積}*100)/100、あるいは、currency({面積},2)
[面積]フィールド(実数型・表示小数桁数3桁)の小数部分3桁目を四捨五入します。
「currency」関数を使う場合は、計算結果は「文字型」になるので注意して下さい。
 |
- [面積表示1]フィールド(文字型)の計算式
- →currency({面積},2)
- [面積表示2]フィールド(実数型:表示小数桁数=2)の計算式
- →Round({面積}*100)/100
【補足】
6桁目を四捨五入して5桁にする場合は、
- Round({面積}*100000)/100000
- currency({面積},5)
となります。 |
- 例-14
- cond(eq({地目},1),"RGB(255,0,0)","RGB(255,255,255)")あるいはcond(comp({地目},"田"),"RGB(255,255,255)","RGB(0,0,255)")
[地目]フィールド(整数型)が1の場合、カラー型にRGB(255,0,0):赤色を設定します。
あるいは、[地目]フィールド(文字型)が田の場合、カラー型にRGB(255,0,0):赤色を設定します。
- 例-15
- Rept("★",({総合危険度ランク}-1))
Rept(a,b)で文字列aをb回繰り返し結合した文字列にします。
データベース表示上で文字を使った簡易バーグラフができます。
下図では「総合危険度ランク」の値(半角整数で表示されている値)の数、★印を表示しています。
- 例-16
- cond(comp({完成年号},"明治"),cond(comp({完成年号},"大正"),cond(comp({完成年号},"昭和"),cond(comp({完成年号},"平成"),0,4),3),2),1)
数値型であればeq()で比較を行う事ができますが、文字型の場合はcomp()を用いて比較を行ないます。
[年号判定]フィールド(計算フィールド:整数型)では、[完成年号]フィールド(文字型)が
- "明治"であれば1を
- "大正"であれば2を
- "昭和"であれば3を
- "平成"であれば4を
- "それ以外"であれば0を
返します。
|