"再点一下跳转到明细":报表里那个右键菜单是怎么配出来的
一、它是什么:一个抽象的数据类型
动作数据类型(Action)定义的是一个抽象基类型,用来表示立方体或透视中的"动作"。所谓抽象,意思是:你不会直接用它,而是用它派生出来的具体类型。
派生类型有三种:
| 派生类型 | 典型用途 |
|---|---|
| 钻取动作(DrillThroughAction) | 从汇总值下钻到明细行 |
| 报表动作(ReportAction) | 跳转到指定报表,并携带上下文参数 |
| 标准动作(StandardAction) | 打开 URL、执行语句等通用操作 |
二、结构拆解:11 个子元素各管什么
三种派生类型共用同一套结构。把子元素按功能分组看,比按顺序背更容易记:
| 分组 | 子元素 | 作用 |
|---|---|---|
| 标识 | Name、ID | 内部名称与唯一标识 |
| 展示 | Caption、CaptionIsMdx、Translations | 菜单里显示什么文字、是否用 MDX 表达式动态生成、多语言翻译 |
| 作用对象 | TargetType、Target | 动作针对哪类对象(维度、层级、单元等)以及具体目标 |
| 触发条件 | Condition、Type、Invocation | 什么情况下可用、动作类型、由什么操作触发 |
| 执行内容 | Application | 实际执行的应用或语句 |
| 说明与扩展 | Description、Annotations | 描述文字与自定义注解 |
最容易被忽略的是 Condition:动作定义好了但菜单里看不到,八成是条件没满足。它是"可用性开关",不是"执行逻辑"。
三、三个典型踩坑
以为动作会自动出现:动作挂在立方体或透视上,客户端要支持这类动作才会渲染出菜单项。模型里配置正确、前端不显示,先查客户端能力,别急着改配置。
Caption 用 MDX 却没打开开关:想把菜单文字做成动态的(比如带上维度成员名),必须显式声明该标题是 MDX 表达式;否则会被当成普通字符串,显示成一整段公式。
目标类型与目标不匹配:TargetType 说作用在单元上,Target 却指向层级,配置能写下去,运行时点不出来。
四、怎么设计得好用
- 标题写"动词+对象":如"查看订单明细",比"明细"更明确;
- 用条件收窄场景:只对含数据的单元开放动作,避免用户点到空值也弹出菜单;
- 参数随上下文传:钻取与报表跳转的价值在于"带着当前筛选条件过去",否则用户还得重新选一遍;
- 多语言早做:Translations 是结构的一部分,等上线后再补成本更高。
五、一句话总结
动作本质上是模型对前端的一句承诺:"在这个位置、满足这个条件时,可以执行这件事,并把上下文一起带过去。"理解这句话,配置就不会只停留在"填满字段",而是真的设计出好用的交互。
猜你喜欢
YOU LIKE- 2026年10月6日 AI 日报:Claude 订阅性价比 5 倍于 ChatGPT、开源 501B 模型放权
- 浏览器提示"证书不安全 / SSL 失效"?先查过期,再查证书链
- 应届生面试笔试题怎么答:常见题型+避坑思路
- 郑州公租房怎么排到房:搞懂"号段",比天天问消息有用
- 3000 元游戏手机怎么挑:别看跑分,看触控这条操作链
- 定升糕与年糕家常做法:软糯年味一点通
- Apache 代理缓存 HTTP/3:缓存键不变,再用 AWK 看命中率
- 天津欢乐谷99元起:65岁以上玩不了,还有三个项目要另付费
- 三款国产 PCIe4.0 1TB SSD 横评:腾隐、致态、华为坤灵谁更稳
- 学生职业测试怎么做:用RIASEC代码选对专业与方向
- 2026年10月3日 AI 日报:ChatGPT 财务管家、GPT-6 选型指南、AI 剪 Vlog
- 家庭保险怎么配?避开三大投保误区
- 人事系统的4个走向:AI 只是表层,数据打通才是分水岭
- 四卡三待别当成加钱理由:5499 的标准版和 9499 的 Pro Max 在这件事上平权
- 通州区搬家多少钱?价格与进城避堵全攻略
- 笔记本照片打不开?先「修复/重置」Microsoft照片,别急着装软件
- 健身增肌减肥每天吃多少蛋白质
- Firefox、Chrome、Edge怎么用鼠标手势?四个扩展各管一个
