【问题标题】:Power BI: Drillthrough in Custom Visual?Power BI:自定义视觉对象中的钻取?
【发布时间】:2017-10-05 02:59:56
【问题描述】:

Power BI 自定义视觉对象是否支持钻取

如果是这样,您能否提供您的visual.ts 文件的sn-p 以说明如何使用它?我一直在搜索有关它的文档,但没有任何结果 - 我开始认为它还不适用于开发人员,仅适用于 Power BI 提供的官方视觉效果。

【问题讨论】:

    标签: powerbi powerbi-custom-visuals


    【解决方案1】:

    Drillthrough 似乎还不支持

    在论坛中发布问题后来自 Microsoft 的回复: http://community.powerbi.com/t5/Developer/Use-Drillthrough-in-Custom-Visual/m-p/270240#M8199

    【讨论】:

    【解决方案2】:

    好消息!自 API v2.2.0 起

    自定义视觉对象现在支持钻取

    官方开发者博客在Nov 2018 post中提及。

    要启用drillthrough,视觉只需支持上下文菜单(详细说明见Adding Context-Menu to the Bar Chart)。一旦发送 dataPoint.selectionId 的任何内容触发上下文菜单事件,菜单将包含钻取选项。

    如果您使用的是 D3,并在您的代码中将您的 SVG 存储为 this.svg,则基本代码可能类似于:

    this.svg.on('contextmenu', () => {
      const mouseEvent: MouseEvent = d3.event as MouseEvent;
      const eventTarget: EventTarget = mouseEvent.target;
      let dataPoint = d3.select(eventTarget).datum();
      this.selectionManager.showContextMenu(dataPoint? dataPoint.selectionId : {}, {
        x: mouseEvent.clientX,
        y: mouseEvent.clientY
      });
      mouseEvent.preventDefault();
    });
    

    (复制自自定义视觉官方文档 - 如上所述)

    注意 selection.id 如何在 selectionManager.showContextMenu() 调用中传递 - 这就是启用钻取的原因。


    免责声明:我是 Microsoft 员工,在 Power BI 开发团队之一工作。此答案基于我的个人知识和经验发布,未经 Microsoft 以任何方式认可或批准。

    【讨论】:

    • 如果您不使用 D3?还有一种方法可以启用上下文菜单吗?
    • @ChrisW - contextmenu 是一个标准的 HTML 元素事件(参见例如 MDN 的 contextmenu event 文档) - 以防万一你不知道,如果这很明显很抱歉;)。虽然上面的示例(来自官方文档)使用了 D3,但这不是必需的 - 您的代码必须执行 3 个“任务”,使用/不使用您选择的任何框架来实现:1. 监听 contextmenu 事件。 2. 在触发时,调用selectionManager.showContextMenu(),提供鼠标坐标和可选的“selectionId”。 3.防止默认。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-20
    • 2018-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多