You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Deneb:Power BI自定义鼠标悬停行为与工具提示兼容问题

Deneb鼠标悬停参数导致标签Power BI工具提示失效问题

场景与问题

用Deneb制作Power BI小多图,条形/标签对应KPI指标,下方数字为日历周。通过displayOnHover参数实现鼠标悬停条形时切换标签显示,功能正常,但标签的Power BI页面工具提示仅在移除该参数时生效,条形图的工具提示不受影响。

现有代码

鼠标悬停参数配置

"params": [
  {
    "name": "displayOnHover",
    "select": {
      "type": "point",
      "fields": [
        "Calendarweek"
      ],
      "toggle": false,
      "nearest": false,
      "on": "mouseover",
      "clear": "mouseout"
    }
  }
]

标签文本筛选逻辑

{
  "filter": {
    "param": "displayOnHover",
    "empty": false
  }
}

标签标记配置(含tooltip设置)

"mark": {
  "type": "text",
  "align": "center",
  "dy": -50,
  "fontSize": 21,
  "fontWeight": "bold",
  "tooltip": true
}

解决方法

1. 明确标签tooltip绑定字段

默认tooltip: true可能在参数筛选后丢失上下文,手动指定tooltip绑定的字段,确保Power BI能识别筛选上下文:

"mark": {
  "type": "text",
  "align": "center",
  "dy": -50,
  "fontSize": 21,
  "fontWeight": "bold",
  "tooltip": {
    "field": "Calendarweek",
    "type": "ordinal"
  }
}

保证此处字段与Power BI工具提示页面的筛选字段完全匹配。

2. 分离交互触发源

给条形图和标签标记分别设置交互属性,避免参数全局影响tooltip:

  • 条形图标记保留悬停触发:
"mark": {
  "type": "bar",
  "interactive": true
}
  • 标签标记强制开启交互,不受参数筛选影响:
"mark": {
  "type": "text",
  "align": "center",
  "dy": -50,
  "fontSize": 21,
  "fontWeight": "bold",
  "tooltip": true,
  "interactive": true
}

3. 调整参数作用范围

将全局参数筛选改为标记层的信号控制,避免截断标签数据源:

// 标签标记的transform替换原有参数筛选
"transform": [
  {
    "filter": "displayOnHover ? datum.Calendarweek === displayOnHover : true"
  }
]

这种方式仅通过参数值控制标签显示,不会修改标签的数据源上下文,从而保留tooltip触发能力。

内容的提问来源于stack exchange,提问作者Michał Ozimek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 01:45:33