进行更改后将 Power BI 嵌入报表保存在数据库中

2023-12-30

我正在使用 power bi 嵌入式包来嵌入 power bi 报告 -https://github.com/microsoft/powerbi-client-react https://github.com/microsoft/powerbi-client-react

报告嵌入在编辑模式中,因此用户可以创建或编辑报告。现在我有一个保存按钮,一旦用户对 power bi 报告进行更改,我想将报告保存在数据库中。你能告诉我如何触发报告事件吗?看起来允许的保存事件不起作用。

另外,如果我必须在用户进行更改或创建报告后获取报告的实例,如何再次获取报告的实例以反映新的更改?

<PowerBIEmbed
    embedConfig = {{
        type: 'report',   // Supported types: report, dashboard, tile, visual and qna
        id: '<Report Id>',
        embedUrl: '<Embed Url>',
        accessToken: '<Access Token>',
        tokenType: models.TokenType.Embed,
        viewMode: models.ViewMode.Edit,
        settings: {
            panes: {
                filters: {
                    expanded: false,
                    visible: false
                }
            },
            background: models.BackgroundType.Transparent,
        }
    }}

    eventHandlers = { 
        new Map([
            ['loaded', function () {console.log('Report loaded');}],
            ['rendered', function () {console.log('Report rendered');}],
            ['error', function (event) {console.log(event.detail);}]
        ])
    }
        
    cssClassName = { "report-style-class" }

    getEmbeddedComponent = { (embeddedReport) => {
        this.report = embeddedReport as Report;
    }}
/>

报告已正确嵌入,但现在在有人进行更改后,如何再次获取更新的报告实例,以便获得视觉效果并将其存储在数据库中?


现在,电源客户端反应 https://github.com/microsoft/powerbi-client-react不支持创建新报告。但是,您可以使用此库编辑现有报告并将其另存为新报告。 为此,您需要执行以下步骤:

  1. 生成嵌入令牌 https://learn.microsoft.com/en-us/rest/api/power-bi/embedtoken/reports_generatetokeningroup:

    • 如果要将报告更改保存为新报告,请在生成嵌入令牌请求中传递以下 JSON 正文:

      {
        "accessLevel": "Edit",
        "allowSaveAs": "true",
      }
      
    • 如果要将报告更改保存在同一报告中,请在生成嵌入令牌请求中传递以下 JSON 正文:

      {
        "accessLevel": "Edit",
      }
      
  2. 嵌入报告 - 将这些配置添加到您的 embedConfig 对象中:

    viewMode: models.ViewMode.Edit,
    permissions: models.Permissions.All,
    
  3. 处理“已保存”事件:

    • 如果要将报表更改保存为新报表,请在 eventHandlers 映射中添加以下事件处理程序以获取新报表 ID,然后嵌入新报表以获取其实例:

      ['saved', function (event) {
          var newReportId = event.detail.reportObjectId);
      }]
      
    • 如果要将报表更改保存在同一报表中,请在 eventHandlers 映射中添加以下事件处理程序,以确保更改已保存:

      ['saved', function (event) {
          console.log("Report saved");
      }]
      
  4. 保存报告:

    • 以编程方式:如果要保存按钮单击事件的更改并在单击侦听器中调用以下函数,请在应用程序中添加保存按钮:

      1. 如果要将报告更改保存为新报告

        function saveReport() {
          var saveAsParameters = {
              name: "<name_of_new_report>"
            };
          this.report.saveAs(saveAsParameters);
        }
        
      2. 如果要将报告更改保存在同一报告中

        this.report.save();
        
    • Power BI 嵌入式体验:

      1. If report changes are to be saved as a new report:
        • 单击左上角的“文件”下拉菜单 > 单击“另存为”> 输入新报告的名称 > 单击“保存”
      2. If report changes are to be saved in the same report:
        • 单击左上角的“文件”下拉菜单 > 单击“保存”

Note:保存操作完成时会触发“saved”事件并返回Json对象 https://learn.microsoft.com/en-us/previous-versions/azure/power-bi-workspace-collections/create-report-from-dataset#automate-save-and-load-of-a-new-report-using-the-saved-event包含新的reportId、报告名称、旧的reportId(如果有)以及操作是否为saveAs 或save。然后,您可以使用此 newReportId 生成嵌入 url 和嵌入令牌来嵌入报告并获取报告的实例。

您可以参考GitHub 维基百科 https://github.com/Microsoft/PowerBI-JavaScript/wiki/Create%5cEdit-Report-in-Embed-View创建新的报告。

查找完整文章微软文档 https://learn.microsoft.com/en-us/previous-versions/azure/power-bi-workspace-collections/create-report-from-dataset.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

进行更改后将 Power BI 嵌入报表保存在数据库中 的相关文章

  • React - 如何在不使用构造函数的情况下访问道具

    注意 我在使用 React Native 时遇到了这个特定问题 但我想这也适用于 React 我有一个使用 React Component 构建的反应组件 我不需要设置状态 但我确实有道具 我建议的语法如下 class Header ext
  • 自定义rc-time-picker的样式

    我在用rc time picker我的项目的包 但我在自定义样式时遇到问题pop up of my time picker成分 这是我的组件的屏幕截图 首先 我需要更改时间的背景颜色item在当时li from light grey 在屏幕
  • 如何在故事书中注入窗口变量?

    我想添加一个 React 组件 称为ApplicationForm to a 故事书 https github com storybooks storybook 故事书是这样写的 import configureStore from sto
  • React-Redux:state.setIn() 和 state.set() 有什么区别?

    我见过使用setIn and set 在一些react redux代码中 state setIn state set 我在这里找到了一些文档https facebook github io immutable js https facebo
  • React onClick 事件仅在渲染组件时触发

    动态渲染组件的 onClick 函数应通过 useState 设置所选日期 imgs 上的 onClicks 完全按照您的预期工作 没有任何问题 即使只是在其位置放置一个带有 onClick 属性的 div 也是行不通的 当组件渲染时 on
  • 如何在执行新操作时取消先前操作的执行?

    我有一个动作创建器 它会进行昂贵的计算 并在每次用户输入内容时调度一个动作 基本上是实时更新 但是 如果用户输入多个内容 我不希望之前昂贵的计算完全运行 理想情况下 我希望能够取消执行先前的计算并只执行当前的计算 没有内置功能可以取消Pro
  • React Typescript - 在路由中传递时如何将类型添加到 location.state

    当我将react router props发送到路由中的组件时 我收到错误 因为我有特定的状态 我传递了该组件 但错误显示在我的路由中 这是路线代码
  • 如何在 React 组件中使用 CDN

    我正在尝试使用基于 D3 构建的库 称为 Greuler 来动态渲染图形 它的 npm 包似乎已损坏 当我改用 Greuler CDN 时 index html 中的测试图终于起作用了 但是 我正在开发一个 React 应用程序 并且我希望
  • 如何从CDN注入外部JS到Jest单元测试?

    我有 npm 和 webpack 的反应应用程序 我正在尝试向其添加单元测试 我使用的是包含在我的index html 中的CDN 的jQuery 而不是使用节点模块 我在组件中使用 jQueryTest1我向其中添加了单元测试用例 现在
  • React:在哪里扩展对象原型

    我使用创建了一个纯 React 应用程序创建反应应用程序 https github com facebookincubator create react app 我想延长String类并在一个或多个组件中使用它 例如 String prot
  • 为什么使用 getDerivedStateFromProps 而不是 componentDidUpdate?

    正如读到的这个 React Github 问题 https github com facebook react issues 12310我看到越来越多的 的代价render 相对较小 在 React 16 3 中 我想知道为什么要使用新的
  • 如何使用 next.js 将动态 html 元素注入到页面?

    如何使用next js动态注入html元素到页面 这些元素未知类型 例如 输入 复选框 img 使用返回 json 类型的 api 指定此元素 如下所示 id rooms title Rooms order 1 type string wi
  • 设计 React Hooks 可防止 React-hooks/exhaustive-deps 警告

    我正在设计一个钩子 仅当钩子依赖项发生变化时才获取数据 它按预期工作但我收到了 linter 警告 React Hook useEffect was passed a dependency list that is not an array
  • AppBar 在 React 路由之间消失

    我有一个几乎可以工作的简单反应路由项目 我有一个AppBar and a Drawer 使用穆伊 抽屉里有三个项目 它们将重新路由应用程序 我的路由工作正常 但我遇到的问题是AppBar 因此一旦您进入某个页面 应用程序其余部分的导航就不再
  • React 中的输入仅允许数字(antd 样式)

    我知道 type number 有效 但这不是我想要的 my HTML
  • 如何测试 google.maps.Geocoder?

    你好 我正在尝试编写一个 简单 测试来检查反应类组件状态更改 具体来说 我正在测试如果 Google 成功对我发送的某些字符串 地址 进行地理编码 lat 纬度 和 lng 经度 状态是否会发生变化 这是我想测试的示例 i e the la
  • React 文件预览 (FIREBASE)

    我目前将文件存储在 Firebase 存储中 我希望能够实时生成每个文件的文件预览 映射 例如 PDF 文件会将第一页显示为图像 docx 将是文档的第一页 pptx 将是第一张幻灯片 未知文档将是默认文档符号 有人知道有什么好的服务可以轻
  • npm 命令 create-react-app 失败

    我正在尝试在运行 Os X sierra 10 12 6 的计算机 mac pro 2017 上测试reactjs 我已经遵循了 Facebook 教程 确保您安装了最新版本的 Node js done 按照安装说明进行操作创建一个新项目
  • 在 webpack 2.x 中使用 autoprefixer 和 postcss

    如何使用autoprefixer使用 webpack 2 x 以前 它曾经是这样的 module loaders test scss loader style css sass postcss postcss gt return autop
  • 如何在 Swiper 实例之外使用 useSwiper?

    我在用着用于 React 的滑动器 https swiperjs com react显示一些幻灯片 我一直坚持使用外部按钮在幻灯片 上一张和下一张 之间导航 刷卡器有一个useSwiper hook https swiperjs com r

随机推荐

  • iOS:检测我的SDK是否安装在设备上的其他应用程序上

    我正在为移动设备开发基于位置的问答 SDK 当询问有关特定位置的问题时 服务器端会定位最相关的用户并将问题发送给该用户 如果用户未能回答 问题将发送给第二好的用户 依此类推 问题是我的 SDK 可能安装在设备上的多个应用程序上 这意味着用户
  • 如何为 Rust 终端应用程序启用可编辑的用户输入?

    我正在用 Rust 编写一个带有经典的基于终端的 REPL 环境项目的最小 Lisp 如何从箭头键读取用户输入 允许他们至少在按下之前在当前输入行上来回移动enter 理想情况下 我将能够扩展功能 包括 返回 以检索旧输入 就像在任何终端或
  • 为什么我们需要其他 JVM 语言

    I see here http www is research de info vmlanguages index html除了 Java 之外 还有很多语言可以在 JVM 上运行 我对在 JVM 中运行的其他语言的整个概念有点困惑 所以
  • WPF Dispatcher.调用“挂起”

    我有一个有点复杂的 WPF 应用程序 当尝试使用调度程序在 UI 线程上调用调用时 该应用程序似乎 挂起 或陷入 Wait 调用中 一般流程是 处理按钮上的点击事件 创建一个新线程 STA 创建演示者和 UI 的新实例 然后调用该方法断开
  • 使用 JFileChooser 设置默认保存扩展名

    我正在尝试使用保存文件JFileChooser 但是 我似乎遇到了一些麻烦 这是我的代码 if e getSource saveMenu JFileChooser chooser new JFileChooser chooser setFi
  • 如何创建比屏幕更大的视图?

    是否可以创建比屏幕更大的视图 我需要一个比设备屏幕宽度更大的视图 我在旋转动画中使用此视图 在旋转过程中 在动画视图之前不在屏幕上的部分将变得可见 有没有办法用android框架实现这种效果 Update 我尝试将父布局设置为比屏幕大得多
  • OpenCV VideoCapture 无法打开许多视频文件

    我在使用 OpenCV 类 VideoCapture 循环打开许多视频文件 例如 200 个 时遇到问题 您可以在下面找到我的代码 更具体地说 我的程序成功打开一定数量的视频 通常是 171 173 但无法打开其他视频 我什至尝试始终打开相
  • Python 3.x - 使用文本字符串作为变量名

    我试图通过使用来避免在代码中增加函数 def Return Label self number 带参数 任何想法如何使用字符串来定义可用于的变量名称 set价值StringVar 示例代码如下 import tkinter as tk fr
  • 在自定义对象上添加事件监听器

    我创建了一个具有多种方法的对象 其中一些方法是异步的 因此我想使用事件以便能够在方法完成时执行操作 为此 我尝试将 addEventListener 添加到该对象 jsfiddle http jsfiddle net 9d7nN var i
  • 如何在 onSaveInstanceState() 中存储值并检索?

    我试图将数组列表的值存储在onSavedInstanceState 并在 onCreate 方法中获取数组列表中的值 但它会引发类似无法暂停活动的错误 这是我的代码 public void onSaveInstanceState Bundl
  • NServiceBus Bus.Send().Register(callback) 不适用于 IIS/Windows Server 2008

    我已经为这个问题苦苦挣扎了几天 但我似乎无法弄清楚 我有一个托管在 IIS 和 Windows Server 2008 R2 上的简单 WCF Web 服务 Web Service的实现如下 var completionResult new
  • 如何使用新的Spring Security AuthorizationManager?

    Spring Security 已将 AccessDecisionManager 和 AccessDecisionVoter 这两个类替换为 AuthorizationManager 很不错 不幸的是 Spring Security 团队再
  • 如何按顺序将计数器写入文件?

    我需要按照出现次数最多到最少出现的顺序向文件写入一个计数器 但我遇到了一些麻烦 当我打印计数器时 它会按顺序打印 但是当我打电话时counter items 然后将其写入一个文件 它会乱序写入它们 我正在尝试使其成为这样 word 5 wo
  • 从 HIVE UDF 读取 HDFS 文件 - 执行错误,返回代码 101 FunctionTask。无法初始化类

    我们一直在尝试创建一个简单的 Hive UDF 来屏蔽 Hive 表中的某些字段 我们使用外部文件 放置在 HDFS 上 来抓取一段文本 以便对屏蔽过程进行加盐 看起来我们一切正常 但是当我们尝试创建外部函数时 它会抛出错误 org apa
  • 使用带有 ADFS 的系统登录 iOS 应用程序

    我有兴趣制作一个登录到使用 ADFS 和 SAML 单点登录的系统的应用程序 现在我很高兴阅读它 我只是想知道是否有任何特定于 iOS 平台的东西以及它如何集成 甚至可能与演示应用程序集成 我找到了这个网站 使用 SAML 和 OAuth
  • MonoMac 是否已被弃用?

    MonoMac 的页面似乎已被放弃 它的最后一次更新似乎是在几年前 因为它说 Mountain Lion 是 新 操作系统 AppKit 的新 Lion 和 Mountain Lion API MonoMac在Xamarin Studio中
  • 将 Angular 1 服务注入 Angular 4

    使用概述的过程here https angular io docs ts latest guide upgrade html making angularjs dependencies injectable to angular 我正在尝试
  • 奇怪的结果 javascript 比较

    我有一个关于 javascript 的入门级问题 当执行以下命令时 结果是 false true有些数字是相等的数 数 号码号码号码 为什么前两个值不同 为什么第一个是错误的 JS function sort3 a b c document
  • 如何向老板解释代码/资源优化的重要性?

    啊啊啊每次都好郁闷 我们的托管公司有一个专用服务器 每次我必须写下一个新应用程序 或添加到预先存在的应用程序 时 我都会 损失 一些时间来优化许多行为的代码 减少数据库查询 优化数据库结构 减少带宽等 取决于应用程序应该执行的操作 显然 重
  • 进行更改后将 Power BI 嵌入报表保存在数据库中

    我正在使用 power bi 嵌入式包来嵌入 power bi 报告 https github com microsoft powerbi client react https github com microsoft powerbi cl