用途:为 Domo 创建 beast mode(计算字段),即基于已有数据集列用 MySQL 风格公式计算出的虚拟列,并输出可直接执行的 curl 命令。适用于用户需要 schema 中不存在的字段、可视化需要派生指标(百分比、拼接、条件判断),或提到“beast mode”“calculated field”“formula”时。
主要能力:编写公式(列名用反引号,字符串用单引号,CASE 需 WHEN/END);获取数据集列 schema;通过 POST /api/query/v1/functions/validateFormulas 校验公式;选择数据集级(默认,可复用)或卡片级作用域;生成创建与更新卡片的 curl 命令。
必要用法:需 instanceUrl、devToken、dataSourceId;卡片级需 cardId,数据集级需 userId。流程为:确认计算列→写公式→获取 schema→校验→选作用域→生成 curl。数据集级分两步:先 POST /api/query/v1/functions/template?strict=false 创建并保存返回的 id 与 legacyId,再读取卡片定义、把 beast mode 合并进 formulas.dsUpdated 后 PUT /api/content/v3/cards/kpi/{cardId}。卡片级为单步:读取卡片后加入 formulas.card[] 再 PUT。校验响应中的 dataType、containsAggregation、columnPositions 用于填充创建载荷。
限制:Domo 使用较旧 MySQL 语法;公式引用的列必须存在于 schema,否则应停止并告知用户;PUT 卡片会替换完整定义,必须先读取再合并后整体 PUT,否则可能丢失图表或列;资料未提供收费、价格或平台支持范围等信息。