SuperAPI AI 工具集

variable-creation

通用与其它

查看项目

更新于 10-15 23:41

技能介绍

用途:在 Domo 卡片上创建交互式变量控件,变量是用户可调整的值,可接入 Beast Mode 公式,实现动态假设分析,并以下拉框、胶囊、滑块、文本框或日期选择器形式出现在卡片和仪表板上。

主要能力:支持 string、numeric、date 三种数据类型;控件类型包括 DROPDOWN、PILL、SLIDER、TEXTBOX、DATE_PICKER;对应 exprType 为 STRING_VALUE、NUMERIC_VALUE、DATE_VALUE。变量名需在整个 Domo 实例内全局唯一。

使用方式:创建需按顺序完成三步 API 调用,缺一不可,跳过中间步骤会导致卡片保存返回 400。1)用 GET /api/query/v1/functions/variables/uniqueName?name={name} 检查名称唯一性;2)用 POST /api/query/v1/functions/template 创建内嵌 control 的函数模板,需设置 variable: true、global: true,并保存返回的模板 id;3)用 PUT /api/content/v1/variable/controls 注册控件,function.id 使用上一步真实模板 ID,unsaved 为 false。随后用 PUT /api/content/v3/cards/kpi/definition 读取卡片定义,再用 PUT /api/content/v3/cards/kpi/{cardId} 合并并保存卡片。可选先用 POST /api/query/v1/functions/validateFormulas 校验公式。变量需在 Beast Mode 公式中以反引号按名称引用才生效。社区 CLI community-domo-cli 可自动完成三步流程,命令如 community-domo-cli variables check-name "My Variable"、variables list {cardId}、variables create {cardId} --body-file variable.json、variables validate --body-file validate-payload.json、cards definition {cardId}。

适用场景:用户要求卡片上的下拉框、滑块或交互控件;提到变量、参数或动态可调值;需要假设分析或用户可选输入;构建卡片时发现 Beast Mode 需要用户控制输入。

限制:变量有默认控件、卡片变量控件、仪表板变量控件三层覆盖,卡片级覆盖不会传递到仪表板,仪表板控件在页面刷新后重置为默认值;保存卡片时 dataSourceId 只能放在 dataProvider,不能放在 subscriptions.main;已有控件需按服务器完整格式传入并加 saveOverride: true;modified 时间戳必须与卡片定义一致。其他未在资料中说明的限制暂未提供。