题记:这篇其实不是一个操作向导了,主要对Power BI的嵌入特性进行探讨。

Power BI是微软的创新性(或者称之为敏捷型)BI产品,从发布之初就备受关注,因为它是一个只能以纯SaaS模式提供服务端的BI产品。目前Power BI其实是以两种方式提供服务端:

Power BI Service。只能通过Office 365来购买订阅,一般作为一个独立的BI应用供企业内部使用。

Power BI Embedded。只能通过Azure来购买,按使用量付费,主要满足ISV(独立软件供应商)在自身Web应用中集成BI功能提供给最终用户的需求。

所以要把Power BI嵌入到Web应用程序中,针对不同的提供方式,也有不同的嵌入方式。

通过Power BI Service嵌入

Power BI Service一般通过Azure Active Directory进行验证后(即你的Web应用必须使用AAD做验证),使用iframe把报表嵌入到应用页面中。比如MS Teams就使用这种方式集成了Power BI。同时还可以利用Power BI REST API来实时更新数据。下图展示了进行集成的整体流程:

注册你的Web应用,可以直接在Azure Portal中注册(建议使用这种方式),或者使用Power BI应用注册工具注册。以Power BI应用注册工具为例:App Type选择服务端应用,Redirect URL输入类似http://localhost:13526/这样的地址

把得到的Client ID和Client Secret填写到配置文件中,示例代码是项目的Settings.settings

运行Web应用,使用Office365帐号登录,获取报表的嵌入Url,就可以进行报表的嵌入浏览了

通过Power BI Embedded嵌入

考虑到Power BI Service主要用于企业内部,并且没有单独的服务器可供安装,为了解决ISV集成BI报表到自己产品的需求,微软特意在Azure中提供了Azure Power BI Embedded云服务。可以把Azure Power BI Embedded看作是Qlik Sense的OEM模式,只是它是在线的OEM服务。它的优点是:“通过使用Power BI Embedded服务,ISV就无需为了开发与维护可视化功能和BI控件而自行投入研发力量。这些可视化功能可以支持他们使用的全部设备,而ISV也能够充分地利用Power BI服务上不断出现的各种创新功能以及他们的全部价值”。老实说我也基于Qlik Sense构思了类似Power BI Embedded的东西,要解决的就是这样的问题,看来这个Idea还是有市场的。

Power BI Embedded嵌入方式比Power BI Service的简单些,最主要是通过AccessKey代替AAD验证,页面嵌入也是通过iframe来实现。当然访问后台的API是另外一套,名字叫Azure Power BI Embedded REST API,不过有.NET和JS的SDK可供下载。下图给出了一个嵌入步骤的概念模型:

简单说来就是:

一个开发者首先需要申请Azure订阅(可以多个)

在Azure中创建一个或多个Power BI工作区集合,获得名称和AccessKey

通过API来创建一个或多个Power BI工作区(工作区包含了报表、数据集等),获得工作区ID

通过API获取工作区内的报表等信息,并通过AccessKey来获得EmbedToken

利用iframe(实际微软提供了MVC的一些HtmlHelper和js供大家使用)来显示嵌入的报表

最终用户访问你的Web应用从而浏览报表

Power BI vs Qlik Sense

下面我们来对Power BI和Qlik Sense在嵌入Web应用这个方面进行一个简单比较:

比较点

Power BI

Qlik Sense

iframe方式嵌入

div方式嵌入

仪表盘嵌入

报表/工作表嵌入

磁贴/可视化对象嵌入

嵌入后客户端操作

开发工具支持

本地AD/Windows验证

Embedded支持

Azure AD验证

Service支持

支持(需在QMC中配置)

Embedded支持

总体而言,Qlik Sense的嵌入灵活度和便捷性更高。但是Power BI这种租用服务的方式也有优势。

powerbi嵌入到HTML5,如何把Power BI嵌入到Web应用中相关推荐

  1. sharepoint页面嵌入_Part 1: 如何把Power BI 嵌入到sharepoint 网站

    Part 1: 如何把Power BI 嵌入到sharepoint 网站 本文是转载,转自:http://rolandoldengarm.com/index.php/2016/04/27/part-1 ...

  2. powerbi视觉对象_玩转Power BI的图片可视化

    ​制作可视化报告时,为了展示效果,有时候需要用图片来展示,在 Power BI 中,关于图片的自定义视觉对象主要有下面三个,利用他们可以很轻松的进行图片可视化. 下面来看看这些视觉对象的效果. 样本数 ...

  3. powerbi python词云图_使用Power BI制作可爱的词云图

    不少星友曾问起PowerBI是否可以生成词云图,足见该图的流行度,在PowerBI中有一个专门的自定义视觉对象可以生成词云图:Word Cloud,这里就简单介绍一下该图的做法. 首先需要导入该自定义 ...

  4. 【Power BI】分析仪在餐饮业中的应用

    Power BI   什么是Power BI?相信360百科会给你满意的答复,我这里仅做简单的阐述.它的全称叫Power Business Intelligence,即商业智能增强版.由微软为Offi ...

  5. 如何用Power BI一键获取web网页数据?

    在 Power BI Desktop 中连接到数据源 安装 Microsoft Power BI Desktop 后,可以连接到日益扩张的数据世界. Microsoft Power Query for ...

  6. power bi报表服务器_如何将Power BI Report Server报表嵌入ASP.Net Web应用程序

    power bi报表服务器 Every once in a while, teams from different functional areas of the business (i.e. bus ...

  7. linux系统运行powerbi,使用 Power BI 服务 - Power BI | Microsoft Docs

    快速入门 - 使用 Power BI 服Quickstart - Getting around in Power BI service 10/12/2020 本文内容 备注 Power BI 正在转换 ...

  8. powerbi服务器性能分配,Power BI 报表服务器容量计划指南

    Power BI 报表服务器容量计划指南 04/02/2020 本文内容 Power BI 报表服务器是自助式 BI 和企业报表解决方案,客户可以在本地(防火墙后)进行部署. 它将 Power BI ...

  9. 微软Power BI技术文章与资源目录

    下面是本博客原创的微软Power BI技术相关文章,对于部分转载文章和资源,会注明出处. 本博客将发布基于微软Power BI相关的基础入门文章,视频教程等资源,敬请关注. 个人建立的Power BI ...

  10. power bi可视化表_如何使用Power BI可视化数据?

    power bi可视化表 什么是数据可视化? (What is Data Visualization?) With the technological revolution, data went fr ...

最新文章

  1. Java项目:化妆品商城系统(java+Springboot+ssm+mysql+jsp+maven)
  2. No identifier specified for entity
  3. 酱油和gbt酱油哪个好_酱油不是越贵越好!找到这3个关键词,轻松避开勾兑酱油...
  4. React组件通信--props
  5. 使用MVC4,Ninject,EF,Moq,构建一个真实的应用电子商务SportsStore(一)
  6. 嵌入式软件常见笔试面试题总结 .
  7. java .this的用法_JAVA中this用法小结
  8. 素筛打表(输出小于n最大素数)
  9. Navicat 连接Oracle时提示oracle library is not loaded的问题解决
  10. 如何获取web视频数据流的传输?小姐姐的视频都被我爬下来了,这谁顶得住
  11. javascript学习之模块拖拽功能的实现
  12. netty开发tcp数据传输编解码框架使用
  13. 基于药效团模型和分子动力学模拟对PTP-LAR抑制剂的研究
  14. 电脑卡怎么办?4招帮你解决电脑卡顿的烦恼!
  15. MSRA提出学习实例和分布式视觉表示的极端掩蔽模型ExtreMA
  16. 华为机试 - 出错的或电路
  17. 三星班加罗尔(SRIB)校园面试体验
  18. 新品国产C2000,独立双核32位CPU,主频高达400MHz,QX320F280049
  19. android SharedPreferences 存储对象
  20. Linux鸟哥的私房菜读后感(菜鸟的读后感)

热门文章

  1. linux系统开启端口命令
  2. mysql局域网搭建_局域网中搭建共享MySQL数据库
  3. java blazeds,java web开发学习-8 BlazeDS
  4. 计算机应用项目教案,计算机应用基础2项目二--电子教案.doc
  5. VS2010SP1中文版安装问题
  6. WAP1.x协议栈浅析-WSP协议
  7. 【大宝的犀牛】飞利浦RQ370剃须刀建模教程
  8. 提供一个vs2010 sp1的下载
  9. Android布局详解之一:FrameLayout
  10. android HttpClient获取json数据