分类
BI/PBI/PY学习交流

PBI学习——使用nginx stream反向代理实现powerBI数据集的远程访问

没有废话版:

1、打开PBID软件,打开数据集

2、查找msmdsrv.port.txt文件,确认PBID使用的端口(假设为8888)

3、下载安装nginx,修改配置文件,设定反向代理端口(假设为6666)启用stream反向代理。启动nginx服务器。

示例配置:

worker_processes  1;

events {
    worker_connections  1024;
}
stream{
    server{
        listen 6666;
        proxy_connect_timeout 1s;
        proxy_timeout 3s;
        proxy_pass 127.0.0.1:8888;
    }    
}

4、在Excel中选择【数据】→【获取数据】→【来自数据库】→【自Analysis Services】在弹出的对话框【服务器名称】项中填入服务器地址及端口号。假如服务器网址为pbi.cuijiange.com,那么地址栏就应该输入pbi.cuijiange.com:6666;假如没有网址,而是使用的IP地址,那么就输入IP:port

5、【登陆凭据】项选择“使用下列用户名和密码”,在输入框内输入服务器端的用户名和密码


废话版:

昨天前几天,学习群里,潘老师给下达了一个任务:实现使用A电脑上的Excel访问B电脑上的PBI数据集。

PBID本质上就是一个服务端和客户端的集合体,服务端使用的是Microsoft家族成熟的Microsoft SQL Server Analysis Services,那么就可以通过连接SSAS的方法进行连接。

那么,具体是怎么连接的呢?下面跟着阁主,来一探究竟吧。

第一步,我们需要打开PowerBI desktop软件。如果不打开软件,那么后面我们就会找不到工作区目录的。

第二步,我们需要找到PBID的SSAS服务的端口号。经过老师的指导,阁主了解到PBID的SSAS服务的端口号并不是固定的,每次打开PBID都会发生变化。在我们打开PBID的情况下,PBID会在我们的硬盘中生成一个SSAS工作区目录analysisServicesWorkspaceXXXXXXXXX,我们可以从该目录的Data子目录中的msmdsrv.port.txt获得端口号。阁主就按照老师给的参考地址,去C:\users\淬剑阁阁主\appdata\local\Microsoft\Power BI Desktop\AnalysisServicesWorkspaces目录下寻找,结果没有找到。后来,阁主使用everything搜索msmdsrv.port.txt,在C:\users\淬剑阁阁主\Microsoft\Power BI store Desktop\AnalysisServicesWorkspaces目录下找到了相应的配置目录。为什么找不到呢?阁主猜测,可能是因为阁主用的是应用商店版本的PowerBI desktop,版本不同导致文件的位置也不一样。在这里,为了方便朋友们快速找到相应的位置,阁主写了两个带系统变量的地址语句,复制到“资源管理器”地址栏回车就能找到所需要的目录。

应用商店版:
%USERPROFILE%\Microsoft\Power BI Desktop store app\AnalysisServicesWorkspaces
安装版:
%LOCALAPPDATA%\Microsoft\Power BI Desktop\AnalysisServicesWorkspaces

找到了工作区文件夹。如果有童鞋发现这个文件夹是空的,那么是因为你没有打开PowerBI软件,请把PowerBI Desktop软件打开。

如果您的PowerBI Desktop已经是打开的,那么这个位置应该就出现了形如【AnalysisServicesWorkspace123456789】这样子的文件夹,请打开这个文件夹,会看到有一个【Data】目录和一个【pbiworkspace.lock】文件,打开Data文件夹,打开里面的文本文档【msmdsrv.port.txt】,里面的端口号就是我们第二步需要找到的端口号啦~

第三步,架设nginx stream反向代理服务器。nginx是一款开源的多平台服务器软件,今天我们借助他的stream代理功能,将外部访问转换为本地访问,以突破ssas服务只能够本地访问的限制。

首先,我们要有一个nginx的安装包。很多网站上都可以下载到这个安装包,在这里,阁主还是推荐您使用官方地址http://nginx.org/en/download.html来下载,可以保证软件的有效性。

安装好nginx服务器之后,我们还需要对它进行相应的配置,以启用stream反向代理功能。配置文件的默认路径是【程序目录\conf\nginx.conf】示例代码已经放在上面了,各位童鞋可以参照修改哦~

当然,如果不便于直接修改nginx.conf配置文件,那么我们也可以复制一份nginx.conf文件,到其他位置,或者改名字(假设为【d:\pbi.conf】)。

修改完毕后,我们启动nginx,这样stream反向代理就架设成功了。(如果使用了非默认的配置文件名和文件位置,那么我们在启动nginx的时候就需要通过添加参数来特别指定要使用的配置文件)我们可以通过excel来进行测试~(方法不再赘述)

第四步,如果我们想要其他电脑访问(废话),那么我们还需要进行防火墙设置。打开windows高级防火墙,在入站规则中,放行我们的反向代理端口(示例中为6666端口)。

(由于阁主也是刚刚接触PBI,所以上述说法也是听来转述的,可能有偏颇甚至错误的时候,如果您发现文章有误,还请您直指不足,不吝赐教^_^)