式の理解

式の理解

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

数式項目の式について

数式項目の式(Expression)は、その項目に保存・表示される値を定義するものです。たとえば、金額項目は、通常単価注文数量項目の値を掛け合わせた結果になります。この金額項目の式は次のようになります:

Unit_Price * Ordered_Quantity

ここで、Unit_PriceOrdered_Quantityは項目リンク名であり、アスタリスク(*)は、2つの項目の値を掛け合わせる算術演算子を表します。数式項目の式の定義については、次のセクションを参照してください。

式を構成する要素

数式項目の式は、次の要素を組み合わせて構成できます。

項目 式には、同じフォーム内の項目や、ルックアップ項目やサブフォーム項目を介して関連付けられたフォーム内の項目を含めることができます。
定数 固定値を指します。定数には、テキスト、数値、特殊文字、またはそれらの組み合わせを指定できます。たとえば、abcdは文字列定数、123.02は数値定数、abcd - 123は(123という数値を含んでいても)文字列定数です。定数のデータ型は、式内での記述方法によって決まります。詳細はガイドラインを参照してください。
Deluge システム変数 Deluge のシステム変数を含めると便利な場合があります。たとえば、Zoho.currentdateは現在の日付を返す変数です。詳細はこちら
演算子 1つ以上の値(オペランド)に対して特定の計算を行う記号です。たとえば、+ 記号は、2つの数値の加算や2つの文字列の連結を行う算術演算子です。詳細はこちら
組み込み関数 1つ以上の値に対して特定の処理を行います。たとえば、length()関数は、文字列内の文字数を返します。詳細はこちら

式を定義する際のガイドライン

式のサンプルセクションでは、ここで説明するガイドラインを例で示しています。

  • 式に項目を含める際の注意点:
    • 項目は、その項目リンク名で参照します。式には、メモ項目とセクション項目以外のすべての項目タイプを含めることができます。数式項目は、別の数式項目の式の中から参照することもできます。
  • Deluge のシステム変数を含める場合は、変数名を直接入力する必要があります。
  • 式に定数を含める際の注意点:
    • 文字列定数は二重引用符で囲みます。数値定数はそのまま記述します。日付および日時の定数は、単一引用符で囲みます。
  • 式を評価する際の実行順序を指定するには、かっこを使用します。
    • 例 1:式 2 + 3 * 5 の結果は 17 になります。乗算演算子(*)は加算演算子(+)よりも優先して実行されるため、まず 3 と 5 が掛け算され、その結果(15)に 2 が加算されます。
    • 例 2:式 (2 + 3) * 5 の結果は 25 になります。かっこ内の処理が先に実行されるため、まず 2 と 3 が加算され、その結果(5)に 5 が掛け算されます。
  • 条件式を定義することもできます。詳細はこちら
Notes
メモ:数式項目でべき乗を計算するには、次の構文を使用できます: <input.number.power(input.Expression)>

条件式の定義

条件式とは、ブール式の結果に基づいて、2つの値のうちいずれか一方を返す式のことです。次のように定義します。
if ( <条件>, <条件が真の場合の値>, <条件が偽の場合の値> )

例を見てみましょう。注文フォームで、注文数量が 15 を超える場合に、金額から 10 ドルを割り引きたいとします。(説明を簡単にするために、ここでは1つの注文に含まれる商品は1つだけであると仮定します。実際には複数の商品を含むことがほとんどです。)

  • ここでの条件は、その注文で指定された数量が 15 より大きいかどうかです。
  • 注文数量が 15 より大きい場合、式は割引後の金額を返す必要があります。
  • 注文数量が 15 以下の場合、式は金額をそのまま返す必要があります。
この場合の式は次のようになります。
if ( Ordered_Quantity > 15, 金額 - 100, 金額 )

条件式を入れ子にすることができます — ある条件式の中で別の条件式を使用します。サンプル式についてはこちらのセクションを参照してください。

サンプル式

定数と Deluge システム変数を含む式

数式フィールドの目的 説明
文字列を表示する
'abcd'
文字列値は二重引用符で囲む必要があります。
二重引用符を含む文字列を表示する(例)
'\'abcd\''
表示したい二重引用符の前にバックスラッシュ(\\)を付ける必要があります。
数値を表示する
105
数値はそのまま入力できます。
小数値を表示する
105。23
小数値もそのまま入力できます。
日付値を表示する
'10-Aug-2018'
日付値はシングルクォーテーションで囲む必要があります。値は、そのアプリの設定で指定されている日付形式に従う必要があります(この例では形式を dd-MMM-yyyy としています)。
現在の日付を表示する
Zoho。currentdate
or
今日
Zoho。currentdate今日 は、現在の日付を返すシステム変数です。
明日の日付を表示する
明日
or
今日。addDay(1)
明日 は、現在の日付の翌日の日付を返すシステム変数です。addDay() は組み込みの日付関数です。
昨日の日付を表示する
昨日
昨日 は、現在の日付の前日の日付を返すシステム変数です。
日付と時刻の値を表示する
'10-Aug-2018 14:30:00'
日付と時刻の値はシングルクォーテーションで囲む必要があります。値は、そのアプリの設定で指定されている日付形式に従う必要があります。この例では形式を dd-MMM-yyyy としています。
現在の日付と時刻を表示する
Zoho。currenttime
or
now
Zoho。currenttimenow は、現在の日付と時刻を返すシステム変数です。
小数値を最も近い 100 分の 1(小数点以下 2 桁)に丸める
10。5356。round(2)
or
100。2345。round(2)
round() は組み込み関数です。丸め対象の値と、小数点以下何桁に丸めるか(小数桁数)を指定する必要があります。
文字列内の文字数を取得する
'This is a string'.length()
length() は組み込み関数です。空白を含め、文字列内の文字数を返します。
入力された日付と現在の日付の間の日数を取得する
Zoho。currentdate。daysBetween(Delivery_Date)
Zoho。currentdate は現在の日付を返すシステム変数です。Delivery_date はフィールドのリンク名です。daysBetween() は、2 つの日付または日付と時刻の値の間の日数を返す組み込み関数です。

フィールドを含む式

数式項目の目的 説明
2つの項目、たとえば商品名項目と商品種別項目のデータを商品フォームで連結して表示する。
Product_Type + Product_Name
または
Product_Type + ' - ' + Product_Name
Product_TypeProduct_Nameは項目リンク名です。+は、オペランドのいずれかが文字列の場合にオペランド同士を連結する算術演算子です。
項目(例:コメント)に入力された文字数を取得する。
コメント.length()
コメントは項目のリンク名です。length() は、文字列内の文字数を返す組み込み関数です。
項目に保存されている小数値を小数第1位(小数点以下1桁)に四捨五入する。
<field_link_name>.round(1)
round()は組み込み関数です。丸め対象となる小数値と、丸め後の小数点以下の桁数を指定します。小数値を含む項目は、その項目リンク名で参照します。
2つの日付または日時項目(例:開始日終了日)の間の日数を求める。
Start_Date.daysBetween(End_Date)
Start_DateEnd_Dateは項目リンク名です。daysBetween() は組み込み関数で、2つの日付または日時値の間の日数を返します。
ユーザーが選択した住所の緯度と経度を表示する。
住所.緯度 + ' , ' + 住所.経度

住所は複合項目です。この式は、2つの値をカンマ区切りで連結して表示します。

メモ: 緯度と経度は、ユーザーが地図上で住所を選択した場合にのみ取得されます。

ルックアップ項目とサブフォーム項目を含む式

数式項目の目的 説明
従業員が所属する部署メールエイリアスを表示する。
部署.Email_Alias
通常、従業員は同時に1つの部署にのみ所属します。この関係はルックアップ項目を使用して定義されます。部署データは従業員フォームから参照されます。部署Email_Aliasは項目リンク名です。
注文時に商品価格を表示する。
商品.価格
通常、商品詳細は別フォームに保存され、注文フォームでルックアップされます。商品注文フォームに追加されたルックアップ項目であり、選択した商品の価格はこの項目を通じて取得されます。
行合計注文フォームで各注文商品の行ごとに表示する。
価格 * 数量
価格数量は項目リンク名です。価格は、選択した商品の価格を商品フォームから表示する数式項目にすることもできます(上記の例を参照)。
サブフォームに追加されたデータ件数を表示する。
Line_Items.count()
Line_Itemsはサブフォームの項目リンク名です。count()は、フォーム内のデータ件数を返す組み込みの集計関数です。
サブフォーム内にある数値項目の合計をメインフォームに表示する。
Line_Items.sum(Line_Total)
Line_Itemsはサブフォームの項目リンク名です。Line_Totalは、各注文商品の行合計(上記の例を参照)を保存する項目のリンク名です。sum()は組み込みの集計関数です。

条件式

条件式とは何かについては、こちらのセクションを参照してください。

数式項目の目的 条件 条件が真の場合の値 条件が真でない場合の値 最終式 説明
ユーザーが注文フォームで商品を選択し、数量を入力した場合は、選択した商品の価格数量を掛け算した値を折れ線グラフ 合計に設定し、それ以外の場合は 0 を設定します。 商品。価格 != null && 数量 != null 商品。価格 * 数量 0
if(商品。価格 != null && 数量 != null, 商品。価格 * 数量, 0)
価格数量は項目のリンク名です。価格は、商品フォームから選択された商品の価格を表示する数式項目にすることができます。
ユーザーがWebinar フィードバックフォームで選択した数値の評価を、1 - Poor、2 - 平均、3 - Good、4 - Excellent のように、対応する語句に変換します。これらの数値は、ラジオボタン項目に表示される選択肢です。 評価 == '1' 'Poor' if(評価 == '2', '平均', if(評価 == '3', 'Good', 'Excellent'))
if(評価 == '1', 'Poor', if(評価 == '2', '平均', if(評価 == '3', 'Good', 'Excellent')))
これは条件式の入れ子の例です。評価は選択肢項目のリンク名で、1234を選択肢として持ちます。式は 1 から 4 まで順にチェックし、一致した値に対応する語句を返します。