計算式 [Standard,Professional]

概要

コンテキストが持つ各レコードは、コンテキストの項目に計算式が定義されている場合、コンテキストが表示または展開されたときに、そこに定義された計算式を毎回実行し、その値を求めます。この計算式は、業務アプリの開発者および管理者が設定できます。

計算式では、定数の他に、同一のレコード内にある他の項目にある値を指定できます。これによりレコードの項目を使って簡単な計算ロジックを作ることができます。こうした計算式(数式)は、コンテキストの各項目の「式」または「省略値」で設定できます。

次の計算用数式エディタは、表示項目設定画面において、式または省略値の右ボタンをクリックした場合に表示されます。

図 計算用数式エディタ

 

名称 説明
数式 数式ボックスでは、定義する数式を直接キーボードから入力できます。また、項目リストや関数リストなどをダブルクリックしたときに、この数式ボックスにその内容が表示されます。
項目リスト 項目リストは、対象コンテキストに含まれる項目の一覧が表示されます。この項目のいずれかをダブルクリックすると、その名称が数式ボックスに設定されます。
関数リスト 関数リストは、各関数ボタンを選択したときに、利用可能な関数が一覧で表示されます。表示された候補をダブルクリックすると、その関数が数式ボックスに表示されます。
クリア クリアボタンをクリックすると、数式ボックスの内容がクリアされます。
検証 検証ボタンをクリックすると、その時点での数式ボックスの記述が正しいかどうかをチェックできます。
登録 登録ボタンをクリックすると、数式エディタの内容が式として対象項目に設定されます。
加算 四則演算の加算(+)をクリックすると、+記号を数式ボックスに追加します。
減算 四則演算の減算(-)をクリックすると、-記号を数式ボックスに追加します。
乗算 四則演算の乗算(*)をクリックすると、*記号を数式ボックスに追加します。
除算 四則演算の除算(/)をクリックすると、/記号を数式ボックスに追加します。
定数 定数ボタンをクリックすると、定数として用意されている候補が関数リストに表示されます。
演算 演算ボタンをクリックすると、四則演算以外の演算関数として用意されている候補が関数リストに表示されます。
日時 日時ボタンをクリックすると、日時に関係する関数として用意されている候補が関数リストに表示されます。
期日 期日ボタンをクリックすると、期日に関係する関数として用意されている候補が関数リストに表示されます。

コンテキサーの計算式

コンテキサーの計算式で利用できる演算子には、「+」(足し算)、「-」(引き算)、「/」(割り算)、「*」(掛け算)(括弧「」はふくまず)があります。

また、比較演算子として、「=」、「<>」、「>」、「<」、「<=」、「>=」が利用可能です。

式には、同じレコードの他の項目の項目名を書くことができます。また、[項目名]@[コンテキスト]の形式で書くことで、ほかのコンテキストで選択しているレコードの項目の値を指定することもできます。

さらに、組み込み関数として、次のものが利用可能です。

演算関数の種類

利用可能な演算関数です。演算ボタンをクリックすると、次の関数の候補が関数ボックスに表示されます。

名称 説明
ROUND 数値を指定した桁数で四捨五入します。
ROUND(数値[,桁数])→数値
使用例
ROUNDUP 数値を指定した桁数で切り上げます。
ROUNDUP(数値[,桁数])→数値
ROUNDDOWN 数値を指定した桁数で切り捨てます。
ROUNDDOWN(数値[,桁数])→数値
TRUNC 数値を指定した桁数で切り捨てます。
TRUNC(数値[,桁数])→数値
CEILING 数値を基準値の倍数に近い値に切り上げます。
CEILING(数値[,基準値])→数値
FLOOR 値を基準値の倍数に近い値に切り下げます。
FLOOR(整数[,基準値])→数値
INT 値を切り捨てます。
INT(値)→整数
MOD 整数1を除数で割った時の剰余を求めます。
MOD(整数, 除数)→数値
AND 真偽値1と真偽値2がどちらも真の時、真を返します。
AND(真偽値1, 真偽値2)→真偽値
OR 真偽値1と真偽値2のどちらかが真の時、真を返します。
OR(真偽値1, 真偽値2)→真偽値
IF 条件の真偽値に対応して値を選択します。真偽値が真の時は値1を返し、偽の時は値2を返します。
IF(真偽値, 値1, 値2)→値
NZ 値が未定義(null値)でない場合は値をそのまま返し、未定義の場合は代替値を返します。
NZ(値, 代替値)→値

 

日時関数の種類

利用可能な日時関数です。日時ボタンをクリックすると、次の関数の候補が関数ボックスに表示されます。

名称 説明
YEAR 今年からX年後の1月1日を返します。
YEAR(年数)→日付日時
MONTH 今月からXヶ月後の1日を返します。
MONTH(月数)→日付時刻
DAY 今日からX日後の0:00:00を返します。
DAY(日数)→日付時刻
HOUR 現在時刻からX時間後の0分を返します。
HOUR(時間数)→日付時刻
MINUTE 現在時刻からX分後を返します。
MINUTE(分数)→日付時刻
SECOND 現在時刻からX秒後を返します。
SECOND(秒数)→日付時刻
DAYS X日間の時間を返します。
DAYS(日数)→時間幅
HOURS X時間を返します。
HOURS(時間数)→時間幅
MINUTES X分間の時間幅を返します。
MINUTES(分数)→時間幅
SECONDS X秒間の時間幅を返します。
SECONDS(秒数)→時間幅
DATE 指定した日付時刻を返します。
DATE(年, 月, 日)→日付時刻
年,月,日がすべて0の場合、今日の日付を返します。
年に0を指定すると、今年と見なされます。
月に0を指定すると、今月と同じ月と見なされます。
日に0を指定すると、指定した年月の前月の最後の日を返します。
TIME 指定した日付時刻を返します。
TIME([年, 月, 日,]時, 分, 秒)→日付時刻
EDATE 指定した日時から指定した月数だけ前または後の日付時刻を返します。
EDATE(日付時刻, 整数)→日付時刻
EOMONTH 指定した日時から指定した月数だけ前または後の月の最終日を返します。
EOMONTH(日付時刻, 整数)→日付時刻
WORKDAY 指定した日から休日(土曜,日曜,元旦)を除いたn日後を返します。時系列を指定することもできます。
「holiday」という属性名を持つエンティティを指定できます。
WORKDAY(日付時刻, 整数[,エンティティ名])→日付時刻
NETWORKDAYS 指定した開始日から終了日までの休日(土曜,日曜,元旦)を除いた日数を返します。(3.0.54以降)
「holiday」という属性名を持つエンティティを指定できます。
NETWORKDAYS(開始日時, 終了日時[,エンティティ名])→整数

期日関連の関数

利用可能な期日関連の関数です。期日ボタンをクリックすると、次の関数の候補が関数ボックスに表示されます。

名称 説明
YEAR 日時から西暦番号を返します。
YEAR(日付時刻)→整数
MONTH 日時から月番号を返します。
MONTH(日付時刻)→整数
DAY 日時から日番号(1~31)を返します。
DAY(日付時刻)→整数
WEEKDAY 日時から曜日番号(1~7)を番号で返します。
WEEKDAY(日付時刻)→整数
WEEK 日時から年間を通した週番号を返します。この関数では月曜日を週初めとして扱います。
WEEK(日付時刻)→整数
HOUR 日時から時の値(0~23)を返します。
HOUR(日付時刻)→整数
MINUTE 日時から分の値(0~59)を返します。
MINUTE(日付時刻)→整数
SECOND 日時から秒の値(0~59)を返します。
SECOND(日付時刻)→整数
DAY_FROM_TODAY 指定した日が今日から何日後かを返します。
DAY_FROM_TODAY(日付時刻)→整数
WEEK_FROM_TODAY 指定した日が今日から何週間後かを返します。
WEEK_FROM_TODAY(日付時刻)→整数

定数の種類

利用可能な定数です。定数ボタンをクリックすると、次の定数の候補が関数ボックスに表示されます。

名称 説明
YEAR 今年の西暦番号を返します。
MONTH 今月の月番号(1~12)を返します。
DAY 今日の日番号(1~31)を返します。
WEEKDAY 今日の曜日番号(1~7)を返します。
WEEK 今日の年間を通した週番号を返します。
HOUR 現在の時の値(0~23)を返します。
MINUTE 現在の分の値(0~59)を返します。
SECOND 現在の秒の値(0~59)を返します。
TODAY 今日の0時0分の日付時刻を返します。
NOW 現在の日付時刻を返します。
GROUP ログインしているグループ名を返します。
USER ログインしているユーザ名を返します。

DATE/TIME関数を使わずに日時を指定する場合は、[ ]で日時表現を囲む必要があります。囲わない場合は割り算として扱われます。

文字列関連の関数

利用可能な文字列関連の関数です。

名称 説明
LEFT 文字列の左から指定した文字数だけ取り出します。文字数を省略した時は1とみなします。
LEFT(文字列[,文字数])→文字列
使用例
RIGHT 文字列の右から指定した文字数だけ取り出します。文字数を省略した時は1とみなします。
RIGHT(文字列[,文字数])→文字列
使用例
MID 文字列の指定した位置から指定した文字数だけ取り出します。
MID(対象, 開始文字位置, 文字数)→文字列
使用例
LEN 文字列の文字数を取得します。
LEN(文字列)→整数
FIND 対象文字列の開始位置から検索文字列が始まる文字数を返します。見つからないときは-1を返します。
FIND(検索文字列, 対象文字列, 開始位置)→整数
TEXT 値を指定した書式に整形して返します。
TEXT(値, 書式)→文字列
2016年11月19日 更新