数式
Bases の数式フィールドは、テーブルデータからレコード値を計算します。UniverBasesPlugin は 数式エンジンへの依存関係を自動的に登録します。
数式機能を登録する
TypeScript
import { UniverBasesPlugin } from '@univerjs-pro/bases'import { UniverBasesUIPlugin } from '@univerjs-pro/bases-ui'univer.registerPlugin(UniverBasesPlugin)univer.registerPlugin(UniverBasesUIPlugin)数式フィールドを作成する
TypeScript
const formulaTableName = table.getFormulaName()const total = table.addField('Total', univerAPI.Enum.BaseFieldType.Formula, { field: { config: { formula: `=SUM(${formulaTableName}[[#This Row],[Price]],${formulaTableName}[[#This Row],[Tax]])`, }, }, externalReferences: [],})すべての数式フィールド書き込みで externalReferences が必須です。ホスト Base 内のフィールドだけを参照する数式では [] を使用します。ユニット間数式では buildReference を使用し、安定したすべてのソースバインディングをこの配列に渡してください。
注意事項
- 数式フィールドの値は計算によって導出されるため、アプリケーションコードから数式セルへ直接書き込まないでください。
- 数式では
Table[[#This Row],[Price]]のような構造化フィールド参照を使用します。 - 大規模なスナップショットをインポートした後は、結果をユーザーに表示する前に数式を再計算してください。
このガイドはいかがですか?