数式

はじめに

NocoBase では、数式(Formula) を使用して、式に基づいてフィールド値を計算します。

数式フィールドは、金額計算、スコア計算、テキストの連結、条件計算などのシーンに適しています。値は通常、式によって生成されるため、手動で直接入力する用途には適していません。

結果を手動で入力する必要がある場合は、該当する基本フィールドを選択してください。計算ロジックが非常に複雑な場合は、ワークフローまたはデータベースビューの利用を検討してください。

適用シーン

数式は、次のような業務シーンに適しています。

  • 注文金額の小計、税込金額
  • スコア、重み付けスコア、業績スコア
  • テキスト連結後の表示名
  • 条件に基づいて計算される業務上の結果

作成と設定

データテーブルの「Configure fields」ページで「Add field」をクリックし、「数式」を選択すると、数式フィールドを作成できます。

20240512173541

設定説明
Field interfaceフィールドのインターフェースタイプ。数式では formula に対応し、ページ上での入力方法と表示方法を決定します。
Field display nameインターフェース上に表示されるフィールド名。たとえば「注文小計」「総合スコア」「表示名」などです。業務担当者が直接理解できる名称を使用することをおすすめします。
Field nameAPI、リレーションフィールド、権限、ワークフローなどで内部参照するためのフィールド識別名です。作成後は通常変更せず、英字、数字、アンダースコアのみ使用でき、先頭は英字でなければなりません。
Field typeデータ層におけるフィールドのタイプ。数式フィールドでは formula を使用し、結果のタイプは数式の設定によって異なります。
Default valueデフォルト値。レコードの新規作成時にユーザーが入力しなかった場合、自動的にデフォルト値を設定できます。
Validation rulesバリデーションルール。特に、数式が完全であるか、参照先のフィールドが存在するかを確認します。
Descriptionフィールドの説明。フィールドの意味、入力要件、データソース、管理担当者などを記載するのに適しています。
注意

フィールド名は、作成後にページブロック、権限、ワークフロー、APIから参照されます。後から変更すると設定の調整コストが発生するため、作成前に命名を確認してください。

フィールドの特性

数式フィールドのデフォルトの動作は次のとおりです。

特性説明
デフォルトの Field interfaceformula
デフォルトの Field typeformula
選択可能な Field typeformula
ページコンポーネント編集モードでは通常、数式を設定し、閲覧モードでは計算結果を表示します。
フィルターフィルターの可否は、数式の結果と実行方式によって異なります。
並べ替え並べ替えの可否は、数式の結果と実行方式によって異なります。
バリデーション数式と結果タイプに依存します。

設定の編集

作成後、フィールドの右側にある「Edit」をクリックすると、数式フィールドの設定を編集できます。フィールドの編集は、主に NocoBase でのフィールドの表示方法や使用方法を調整するために行います。たとえば、表示名、説明、デフォルト値、バリデーションルール、フィールド固有の設定などを変更できます。

フィールドがメインデータベースですでに同期されているテーブルに由来する場合、編集時には通常、フィールドマッピングを行います。つまり、データベースフィールドを NocoBase の Field type と Field interface にマッピングします。

設定編集可否説明
Field display nameはいインターフェース上に表示されるフィールド名を変更します。フィールド識別名は変更されません。
Field nameいいえフィールド識別名は、作成後通常、編集フォームでは変更できません。
Field interface条件付きで対応メインデータベースのフィールドまたは同期フィールドは、フィールドマッピング時に調整できます。調整後は、ページ上の入力、表示、バリデーション方法に影響します。
Field type条件付きで対応メインデータベースのフィールドまたは同期フィールドは、フィールドマッピング時に調整できます。調整前に、既存データを新しいタイプで使用できるか確認する必要があります。
Default valueはいレコードの新規作成時に使用するデフォルト値を調整します。
Validation rulesはいフィールドのバリデーションルールを調整します。
Descriptionはいフィールドの意味、入力要件、データソース、管理担当者などを補足します。
注意

Field type や Field interface の切り替えは、表示名を単純に変更することとは異なります。フィールドの保存方法、入力コンポーネント、バリデーションルール、フィルター条件、ワークフロー変数の使用方法に影響します。既存データが多い場合は、あらかじめデータ形式が一致するか確認してください。

フィールドの削除

フィールドの右側にある「Delete」をクリックすると、数式フィールドを削除できます。メインデータベースでは、複数のフィールドを選択して一括削除することもできます。

メインデータベースで新規作成した数式フィールドを削除すると、通常はデータベース内の実際の列と、その列に保存されている既存データも同時に削除されます。データベースから同期したフィールドや外部データソースからマッピングしたフィールドを削除した場合の影響範囲は、対応するデータソースとフィールドの由来によって異なります。

警告

フィールドを削除すると、ページブロック、フォーム、フィルター、権限、ワークフロー、API、インポート・エクスポート、既存データに影響する可能性があります。削除する前に、そのフィールドが業務設定で引き続き参照されていないか確認してください。

ページ設定での使用

数式フィールドは、テーブル、詳細、統計、ワークフローで計算結果を表示するのに適しています。 20260710151619

シーン用途
フィールド設定数式を記述し、参照するフィールドを選択します。
テーブルブロック計算結果を表示します。
詳細ブロック1件のレコードの計算結果を表示します。
ワークフロー数式の結果を読み取り、その後の判定に利用します。

関連リンク

  • フィールド — フィールドの役割、分類、マッピングロジックについて説明します
  • 通常テーブル — 通常テーブルでフィールドを作成・管理します
  • 数値 — 計算に使用する数値を保存します
  • JSON — 構造化された結果を保存します