サポート > Wagby定義ファイル > 12 自動計算 > 四則演算

Wagbyでは基本的な四則演算をサポートしています。

四則演算式

Wagby がサポートしている四則演算式は次のとおりです。

演算子 説明
( ) 括弧
* 乗算
/ 徐算
+ 加算
- 減算または符号反転
% 余り

また、式中に(同一モデル内の)項目を指定することができます。項目名の指定は「${...}」と記述します。(... の部分に英語項目名を指定します。)以下に例を示します。

モデル項目 value1 に 1 を加算した値である。
${value1} + 1
モデル項目 kosuu とモデル項目 tanka の積に1.05を乗じた値である。
${kosuu} * ${tanka} * 1.05

自分自身を参照する式は書けません。

「自分自身を参照する」式を書くことはできません。例えば、モデル項目 zaikosu の計算式として ${zaikosu} + 1 と記述することはできません。

条件判定式

条件判定式の書き方は、対象となる項目の「型」によって異なります。

数値型 文字列型 日付型 (*3)
一致 ${v1}==${v2} EXACT(${v1},${v2}) (*1) DATE(${v1})==DATE(${v2})
または
EXACT(${v1},${v2}) (*2)
不一致 ${v1}!=${v2} !EXACT(${v1},${v2}) DATE(${v1})!=DATE(${v2})
または
!EXACT(${v1},${v2})
より大きい ${v1}>${v2} - DATE(${v1})>DATE(${v2})
より小さい ${v1}<${v2} - DATE(${v1})<DATE(${v2})
以上 ${v1}>=${v2} - DATE(${v1})>=DATE(${v2})
以下 ${v1}<=${v2} - DATE(${v1})<=DATE(${v2})
(*1) EXACT は Wagby が提供する Excel 互換関数です。
(*2) DATE は Wagby が提供する Excel 互換関数です。
(*3) 時間型の場合は DATE に代わってTIME 関数を使います。

実行例

ここでは、「製品(products)」モデルにおいて、モデル項目「合計金額(total)」が「単価(tanka)」と「出荷数(kosuu)」に1.05を乗じた値を計算するように指定してみます。


図1 新規登録画面

「合計金額」欄に自動計算された値が表示されます。「合計金額」は自動計算項目のため、入力は行えません。


図2 自動計算された値が表示される

Wagby では画面の再描画なしに自動計算処理が行われ、迅速な応答速度を実現しています。

設定方法

モデル定義シートにて、合計金額の項目で「詳細表示」ボタンをクリックします。


図3 合計金額(total)の設定 (1)

自動計算の詳細に数式を指定します。合計金額の自動計算欄に「${kosuu} * ${tanka} * 1.05」と入力します。


図4 合計金額(total)の設定 (2)

また、計算対象となる「単価(tanka)」および「出荷数(kosuu)」にはそれぞれ、「自動計算に使用される」欄に「○」を指定します。


図5 合計金額(total)の設定 (3)

演算精度について

整数型の計算結果を小数点型で表現する場合

整数型同士の計算結果を小数点で表現したい場合、計算時に(整数型を)小数点型に「型変換」します。

次の例では、「売上高」と「予算」から「達成率」を計算しています。(「売上/予算=達成率」)


図6 達成率を計算

モデル定義シートで「売上高」と「予算」は「整数型」、「達成率」は「8バイト浮動小数点」で定義します。 続いて「達成率」のセルを選択し、「詳細表示」ボタンをクリックしてモデル項目定義シートを開きます。


図7 モデル定義シート

「自動計算の詳細」で「種類」-「四則演算」を指定、「式または項目名」で式を指定します。 次の計算式のように 、項目名の前に「(double)」と「8バイト浮動小数点(double)型」への変換を明記します。

(double)${uriagekingaku}/(double)${yosankingaku}

図8 自動計算式を設定する
計算対象となる「売上高」「予算」の項目では、図5のようにそれぞれのモデル項目定義シートの「自動計算に使用される」で「○」を指定します。

出力フォーマットを指定します。同じくモデル項目定義シートの「出力制御」-「数値フォーマット(ユーザ定義)」で 「###.0%」と指定します。


図9 出力フォーマットを設定する

フォーマットで「%」を指定すると、計算結果が自動的に100倍されます。計算式に組み込む必要はありません。
小数点以下の位を2桁以上表示させたい場合は、「0」を増やして指定してください。
例えば、小数点第3位まで表示させる場合は、「###.000%」と指定します。
その他、フォーマットについては、「出力方式」-「数値項目の出力フォーマットを指定する」を参照してください。