分类: SQLServer
2017-12-19 17:15:33
引言:我们知道,微软Power BI可以将本地开发的报表连同数据一起发布到云端,提供给业务用户随时随地访问。但更多的时候,我们希望访问报表时查看到的数据是最新的实时数据。针对这种情况,我们可以利用Power BI提供的本地网关实时访问企业内部的数据,当业务用户访问报表时看到的就是最新的实时数据。本文以连接本地为例,介绍如何实现从Power BI到本地数据库的实时访问。
出于信息安全考虑,企业本地机房内的数据库服务器是不能直接发布到Internet的,因此Power BI云平台无法直接通过Internet访问到企业内部的数据。为了实现让用户在外出差时随时随地都能访问企业内部数据报表,并且无需通过VPN拨号连回公司网络,微软在Power BI解决方案中提供了本地数据网关来满足该需求。
如下图所示,需要在本地机房内一台服务器上安装本地数据网关,要求该服务器既能访问Internet又能访问本地的业务数据库(如Oracle、SQL Server、MySQL等)。
接下来,我们详细介绍一下如何实现在Internet上通过手机访问Power BI报表,并且看到的数据是企业内部最新的实时数据。
这里我们先在企业内网准备了一台测试用的SQL Server服务器,创建了一个名为NorthwindCS的测试数据库,其中有一张名为“dbo.产品”的表,如下图所示:
首先,在企业内网的一台Windows服务器上下载并安装本地数据网关,下载地址:,下载后采用默认安装即可。
安装完成后,运行本地数据网关,并且输入企业的Power BI帐号进行登录。
登录成功后,对网关进行配置,包括名称、恢复密钥。
访问Power BI云平台,地址:,使用跟本地数据网关配置时相同的Power BI帐号登录。
登录后进入“管理网关”界面添加数据源,如下图所示:
数据源名称可以自定义,数据源类型选择“SQL Server”,服务器使用业务数据库所在的服务器IP地址,数据库名使用业务数据库名称,身份验证方法既可以使用Windows身份验证也可以使用Basic身份验证(SQL数据库内置身份验证)。
数据源添加完成后,可以测试连接看看能否成功连接到数据源。
在企业内部局域网内一台客户端上下载并安装Power BI Desktop,下载地址:
安装完成后,运行Power BI Desktop,并且以Power BI帐号进行登录。
登录成功后,开始创建报表。数据源类型选择SQL Server
服务器使用业务数据库所在服务器的IP地址,数据库名称使用业务数据库名称,数据连接模式使用DirectQuery
凭据可以使用Windows身份验证,也可以使用数据库身份验证,需要确保该用户有权访问数据库。
勾选制造报表所需的表或视图,如“产品”表,然后点击“加载”。
报表开发完成后,点击发布,发布的同时会提示保存到本地文件夹,命名为“NorthwindCS产品报表”。
、
发布成功后,点击链接在Power BI中打开此报表,效果如下图所示:
为了在移动设备上有更好的展现效果,我们可以将报表添加到仪表板。
在安装了Power BI Mobile应用的手机上,运行 Power BI,使用Power BI帐号登录。然后找到刚发布的仪表板,效果如下。
为了验证是否能够实时反应最新的数据变更,我们测试将企业内部的NorthwindCS数据库中的产品表中的“白米”的“单价”进行修改,然后重新刷新手机端的报表。测试效果证明确实可以实时查询到最新变更的数据。