Формулы
Поля формул в 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]]. - После импорта больших снимков данных пересчитайте формулы, прежде чем показывать результаты пользователям.
Насколько полезно это руководство?