超越数字的专业知识

Power BI嵌入式如何提升用户体验

众所周知,网页和手机平台上设计良好的用户体验对整体消费者参与度和你的组织/产品的认知有着巨大的影响. 在现代数字消费时代, 干净利落地动态呈现信息的网站, 与个人消费者互动且最相关的产品正在成为一种必需品,而不是奢侈品. 静态网页和移动内容的时代即将结束.

满足这一需求的一种趋势方法是在组织的网站和/或专业门户中包含交互式图形和仪表板. 像微软Power BI Embedded这样的产品使大大小小的公司都能实现这一点. 将分析嵌入到您组织的站点或应用程序中可能听起来令人生畏, 但这是一种快速、低成本地创造商业价值和提高客户参与度的方式. 请继续关注我们的最新实现,并了解它为我们的客户及其客户群带来的功能.

业务的挑战

我们的一个客户利用Drupal平台作为他们的外部网站和专业门户,为他们的合作伙伴的不同实体提供关键信息. 特别是, 这个专业门户没有达到目的,没有获得我们的客户所期望的牵引或使用. 传送门很笨重, 试图以压倒性的表格和文本提供大量的数据, 缺乏过滤功能,没有利用数据可视化来帮助用户快速发现异常值或趋势.

简而言之, 我们需要在他们现有的Drupal网站上为我们的客户提供一个开放和可访问的分析平台,并为他们的用户替换过时的显示,以现代的数据体验. 这包括过滤数据集的能力, 将单个实体与较大的群体进行基准测试比较, 并对数据片段进行比较. 另一个主要需求是安全性——我们需要将用户id从Drupal传递到Power BI,以根据报告中设置的行级安全性来限制对数据的访问.

解决方案

Power BI Embedded提供了Power BI的所有功能,而不需要用户拥有Power BI许可证. 另外, 我们能够将用户id和用户角色从Drupal传递到Power BI报告,并利用行级安全性. 第一次尝试植入Power BI可能会很棘手. 文档中概述了几种类型的嵌入, 因此,它有助于准确地知道你需要哪种类型的嵌入.

微软为您的组织和客户提供嵌入葡京官网. 如果您的用户拥有Power BI许可证,并且是您组织的一部分, 为您的组织嵌入就足够了. 我们需要为你的客户嵌入. 另外, 我们还需要决定是否将一个Power BI用户帐户绑定到配置, 或者使用Client Id和Client Secret来验证连接. 因为我们不想将用户帐户附加到配置中, 在设置Azure活动目录应用程序时,我们选择使用葡京官网主体帐户.

配置Power BI和Azure AD用于嵌入 

这个故事的第一部分从基础开始——我们创建了一个Power BI报告,并将其发布到一个升级的工作区(这是稍后配置葡京官网主体访问工作区的重要内容). 下一个, 我们创建了一个Azure Active 直接ory应用程序,并指定了它可以访问哪些Power BI api. 因为我们需要葡京官网主体访问Power BI内容和api, Power BI admin启用,允许葡京官网主体在管理门户的租户设置部分使用Power BI api. 最后, 我们让Azure Active 直接ory应用程序访问报表, 将葡京官网主体作为用户或管理员添加到工作区. 点击这里 欲了解更多详细信息.

Python烧瓶应用程序检索功率BI报告 

此时,我们已经准备好配置我们的Python Flask应用程序了. 在高水平上, 这个应用程序从Azure AD应用程序请求一个令牌, 然后将这个令牌传递给Power BI Service,后者随后使用它进行身份验证. 我们还需要传入id来标识Power BI工作区、报表、报表页面和租户.

级安全

Power BI Embedded还支持使用角色和行级安全. 客户端需要根据用户分配的访问权限和角色来限制显示的数据. 要做到这一点, 我们可以通过调用弗拉斯克应用程序的iframe URL中的查询字符串参数传递用户的唯一UUID和角色. 这个URL对用户来说是不可见的,因为UUID是由数字和字母组成的随机字符串, 这是不容易妥协的. 一旦在弗拉斯克应用程序, 这个UUID作为GET请求的一部分传递给Power BI Service,并返回经过适当过滤的报告.  

逻辑流  在Drupal网站返回动力BI嵌入式报告 

  1. Drupal网站中的一个iframe标签指向作为Azure Web应用托管的Flask应用程序.  
  2. JavaScript向应用程序发出Ajax Get-request.py, Flask应用程序的主要驱动程序, 并将用户Id和角色直接从Drupal传递到Flask应用程序. 反过来,应用.py调用PBIEmbedService, PBIEmbedService调用AADService. 
  3. AADService向Azure AD API发送Get-request,返回Power BI Service的认证令牌. 
  4. PBIEmbedService将这个令牌连同工作区Id一起发送, 报告Id, 用户Id, 获取报表的角色和报表页面Id. 
  5. 报告返回给原始的JavaScript Ajax调用. 额外的JavaScript使用Power BI客户端API来控制报告的显示方式. 在我们的例子中,我们选择隐藏页面导航和过滤窗格. 此部分还可用于设置过滤器、应用书签或编辑上下文菜单. 
  6. 最后,报告返回到Drupal网站的原始iframe中. 

包装起来

希望这 做事投入 嵌入式技术使人们清楚地知道如何用它来增强网站或手机 应用程序和 帮助概述启动和运行它的一些初始步骤. 随着我们目前所看到的成功,我们期待分析和嵌入 使用 这样的无葡京官网器产品将成为将信息带入生活并增加消费者参与的规范.