例を見てみましょう。ある合計金額項目は、注文フォーム内で、単価と数量(注文された商品の数量)に基づいて計算されます。これを実現するためにワークフローを書く代わりに、数式項目を使用することで多くの時間と手間を節約できます。このような数値演算に加えて、2つの項目のデータを連結するなどのテキストベースの処理や、2つの日付の間の日数を求めるといった日付ベースの処理が必要になる場合もあります。このような(およびその他の)要件に対応するために、Zoho Creator には数式項目が用意されています。
数式項目の値は計算によって求められるため、デフォルトではフォームに表示されません。必要に応じて表示させることができます。 詳細はこちら
機能
フォームで数式項目を表示する
数式項目の値はユーザーが入力するのではなく計算によって求められるため、デフォルトではユーザーがフォームにアクセスしても表示されません。必要に応じて表示させることができます。方法を見る
注意事項:
-
数式項目をフォームに表示すると、その項目は無効状態で表示され、ユーザーが値を入力できないことを示します。
-
数式項目がフォーム内の他の項目を参照している場合、ユーザーがフォームを送信する前に計算結果の値を確認できるようにしておくとよいでしょう。
ヒント: 数式項目は、参照している項目の近くに配置するようにしてください。これにより、ユーザーは自分が入力した値に基づいて計算が行われていることを理解しやすくなり、ユーザーエクスペリエンスが向上します。
-
差出人フィールドの種類を複数行テキストから単一行テキストに切り替えると、複数行テキストの数式項目の値は、最大255文字の制限に合わせて切り捨てられます。
-
既存の数式項目は、フィールドの種類プロパティを変更するまでは制限のない単一行テキスト項目として保持されます。新しく追加される数式項目はすべて、デフォルトで単一行テキストになり、必要に応じてフィールドの種類を変更できます。
- 数式項目の式にフィールドが含まれていない場合、そのフォームでユーザーが入力(レコードの新規作成時)またはいずれかのフィールドのデータを変更(レコードの編集時)すると、計算された値が表示されます。ユーザーが何も入力・変更しなかった場合でも、フォーム送信時に数式項目の値は計算されます。
- 数式項目の式にフィールドが含まれている場合、いずれのフィールドにもnullが保存されていないときにのみ値が計算されます。
- フィールドの式を変更した場合
- フィールドタイプを 1 行テキストから複数行テキスト、またはその逆に切り替えた場合
- ユーザーがレコードを一括編集し、編集対象のフィールドの 1 つがその数式項目の式に含まれている場合
項目タイプを設定する
以下は、1行の数式項目タイプと複数行の数式項目タイプでの動作の違いです。
|
タブ |
プロパティ |
新規1行数式をサポート |
新規複数行数式をサポート |
|
フォーム |
はい |
いいえ |
|
|
はい |
いいえ |
||
|
はい |
いいえ |
||
|
レポート |
タブ間の条件ビルダー(条件の設定) |
はい |
いいえ |
|
はい |
いいえ |
||
|
はい |
いいえ |
||
|
検索 |
はい |
いいえ |
|
|
Deluge |
条件フィルター |
はい |
いいえ |
|
集計データ(件数、合計、重複なし件数、最大、最小) |
はい |
いいえ |
|
|
ページ |
パネル / ゲージ - 重複なし件数 |
はい |
いいえ |
|
チャート - X、Y 軸 |
はい |
いいえ |
|
|
API |
条件の利用箇所 |
はい |
いいえ |
|
モバイル
|
レポートでの検索 |
はい |
いいえ |
|
レポートでのグループ化 |
はい |
いいえ |
|
|
レポートでの並べ替え |
はい |
いいえ |
|
|
検索 |
はい |
いいえ |
数式項目の式の定義
数式項目の式の定義は、その項目にどの値を表示させるかを決めることから始まります。数式項目の式の定義については、このページを参照してください。
数式項目は、abcdのような文字列定数や、123のような数値定数を表示するだけの目的で使用することもできます。ただし、多くの場合は、フィールド値に基づいて計算を行うことになります。以下の例を参照してください。
| 要件 | 式 | 説明 |
| 商品の単価と数量に基づいて金額を計算する | 算術演算子(*)は、2つのフィールドに保存されている値を乗算します。 | |
| 従業員の姓とメールアドレスを連結する | 「名前」は複合フィールドです。last_nameは姓フィールドのリンク名です。算術演算子(+)は、2つのフィールドに保存されている文字列値を連結します。 | |
| 学生が数学、国語、理科で取得した得点に基づいて平均点を計算する | Math、Japanese、Science はフィールドのリンク名です。算術演算子+(加算)と/(除算)が使用されています。かっこ()は、2つの演算の実行順序を定義するために使用されます。 |
数式項目のデータ型
Zoho Creator の各項目には、データ型が関連付けられています。数式項目はこの点で特別であり、そのデータ型は式の評価結果によって決まります。例:
| 式 | データ型 | 説明 |
| Bigint | 算術演算子(+)が数値に対して動作すると、それらを加算します。結果(5)は数値です。 | |
| String | 二重引用符で囲まれた文字は文字列として扱われます。算術演算子(+)が文字列に対して動作すると、それらを連結します。結果(23)は文字列です。 | |
| Bigint | 二重引用符で囲まれた文字は文字列として扱われます。length()は、文字列内の文字数を返す組み込み関数です。結果(4)は数値です。 | |
| Timestamp | Zoho。currentdateは、現在の日付を返すDeluge のシステム変数です。結果は日付値です。 | |
| Boolean | 関係演算子(>)が数値 2 と 3 に対して動作すると、その関係が真かどうかを判定します。2 は 3 より大きくないため、結果は無効、つまり boolean 値になります。 |
数式項目の値の計算
数式項目に表示される値は、その式を評価した結果です。この値は、ユーザーがフォームを送信したときに計算されます。
フォームで数式項目を表示すると、式にフィールドが含まれているかどうかに応じて、ユーザーはフォームを送信する前に計算された値を確認できます。
フィールド値が null の場合
フォーム上でフィールドを必須に設定していない限り、多くのレコードでそのフィールドは空(データなし)のままにできます。Zoho Creator は、そのような空のフィールドにnullという値を割り当てます。レコード内のフィールドにnullが保存されている場合、Zoho Creator はそのフィールド(そのレコード)には値がないと解釈します。数式項目の式に null になり得るフィールドが含まれていると、その式は(前述のとおり)評価されない場合があります。
次の種類のフィールドにはnullが含まれる可能性があります:数値、小数、通貨、パーセント、日付、日付-時間。1行テキスト、氏名、メール、住所などのテキストベースのフィールドにnullが含まれることはありません。これらが空(データが保存されていない)場合は、文字数 0 の文字列として扱われます。数式項目に常に値を持たせるには、条件式を定義する必要があります。
数式項目の値の再計算
数式項目の値は、次の場合に再計算されます。
メモ:数式項目の式を変更すると、そのフォームに含まれるすべてのレコードで再計算が実行されます。多数のレコードがある場合、この再計算には時間がかかることがあります。