数式フィールド



フィールドのアクション->数式フィールド



解説
ユーザによって入力されるフィールドではなく、計算に利用されるフィールドを作成することができます。これらのフィールドは、数式フィールドと呼ばれます。
数式フィールドを作成するには、このフィールドへの値として、計算されるべき数式を入力しなければなりません。
加算、減算、乗算、除算等が可能です。

数式の出力によっては、数式フィールドの値は、数値やテキスト値、日付や期間などになります。
数式の計算は、式の計算です。詳細は、 をご参照ください。

下記のサンプルでは、TotalMarks(合計点)フィールドが、数式型フィールドです。

TotalMarks
(
type = formula
value = English + Arts
)

English と Arts は フィールドですが、Deluge スクリプトによって変数として生成されています。
数式フィールドは、別の数式フィールド内で使用することはできません。
たとえば、以下のコードは無効です。

TotalMarks
(
type = formula
value = English + Arts
)
AverageMarks
(
type = formula
value = TotalMarks / 2
)

注意: 数式フィールドは計算に利用されるので、フォーム上には表示されません。
       ユーザは、これらのフィールドをビューで表示するかどうかを選択できます。


=>正しいコード
TotalMarks
(
type = formula
value = English + Arts
)
AverageMarks
(
type = formula
value = (English + Arts) / 2
)

 

使用例(完全なサンプル) …ご自身のアカウントに、新規アプリケーションとしてコピーして利用できます。

application "Student marks database"
{
page "Enter marks"
{
form Students_Mark_Sheet
{
displayname = "Students Mark Sheet"
Student_Name
(
displayname = "Student Name"
type = text
)
English
(
type = number
decimalplace = 2
)
Arts
(
type = number
decimalplace = 2
)
TotalMarks
(
type = formula
value = English + Arts
)
AverageMarks
(
type = formula
value = (English + Arts) / 2
)

}
list "View student marks"
{
Students_Mark_Sheet
}
}
}

注意:

  • 複数選択フィールド以外のすべての型のフィールドを、数式フィールドで利用できます。
  • 数式で使用できる 演算子/関数 は、右記のページで確認できます。式>演算子式>組み込み関数
  • 数式は、下記の時点で計算されます。
    • 数式が修正された時
    • 数式に関与するフィールド値が修正された時(レコードが更新された時)

 FAQ - 数式 フィールド


1. 数式フィールドを含むフォームとビューを作成して、データも登録しました。その後、数式フィールドを修正したら、しばらくの間、DBテーブルを表示できなくなりました。これはなぜですか?
数式フィールドを修正すると、かならず、全レコードの数式フィールドの値が再計算されます。この再計算が完了するまで、ビューを表示することはできません。

 

2. 同一フォーム内で、数式フィールドを、別の数式フィールド内で使用することはできますか?
いいえ、できません。数式フィールドを、別の数式フィールド内で使用し設定する機能は、現在サポートしていません。
 

3. 受注のデータベースを作成しています。各受注レコードに、送信時間を記録(タイムスタンプ)したいのですが、どのように設定すればよいですか?
数式(formula)フィールドを利用して、値として、zoho.currentime を設定すれば、受注レコードの登録時間を記録(タイムスタンプ)することができます
この設定により、自動的に、各レコードがデータベースに保存された正確な時間をフィールドに投入します。
サンプルコードは、次のとおりです。

 
Time_Stamp
(
type = formula
value = zoho.currenttime
)

※GUI モードでは、数式(formula)フィールドを作成して、そのフィールド値として、zoho.currenttime と入力するだけで、タイムスタンプが可能になります。


 

    Post a comment

    Your Name or E-mail ID (mandatory)

     

    Note: Your comment will be published after approval of the owner.




     RSS of this page