使用 Excel Services ,结合 Analysis Services 在 SharePoint 中发布报表
微软以往的BI产品,尽管有Report Builder这类ad-hoc工具,但是作为客户端开发工具仍然太麻烦,而且也无法提供灵活的分析功能。在微软新的SQL Server加Office战略布局中,Excel被提升到了非常重要的地位,除了OLAP前端外,Excel还充当起SSAS中的DM和未来PPS的客户端软件。再加上MOSS,Excel成为了集分析、报表、发布为一体的BI客户端工具。
SSAS、Excel和MOSS的关系如下:
我这里在同一台机器上安装SQL Server 2005和MOSS 07,情况如下: 机器名:ESESTT 所在域:myhome.cheney
SQL Server 2005 实例名:MSSQLSERVER
登录身份:myhome\\administrator
在SSAS中部署Adventure Works数据库作为样本
MOSS 2007
在80端口建立一网站集,使用报告中心模板,用作发布Excel报表
Step 1
在Shared Services管理站点,加入受信文件位置。
将MOSS网站中要发布Excel报表的库加入,以便Excel文件能访问。
加入信任位置后先不要关闭这个地址,之后的步骤还要用到。
Step 2
为用户授予OLAP数据源的访问权限。
Step 3
新建一Excel文档。在文档中连接到OLAP服务器。
随意选择一个Adventure Works的视图或者立方体。然后点完成。
这时会询问是否建立透视表或者数据透视图,选确定。 Step 4
点击数据连接属性,在“使用状况”中可以设定Excel中数据刷新频率,以及是否从OLAP数据库中读取数据颜色、格式等属性。
再看“定义”
注意“连接文件”这项,是一个ODC文件,这个文件存储着外部数据源连接的信息,是在之前建立OLAP数据库连接时Excel自动建立的。
需要解释一下,Excel获取外部数据源连接信息的方式有两种,一是通过外部数据连接文件,就是这里的ODC文件;二是嵌入数据连接信息,就是上图中的连接字符串。当Excel无法从外部连接文件中获取正确的外部数据连接时,会尝试通过嵌入连接信息连接到外部数据源。
再回到Step 1中加入的信任文件位置页面,点击之前加入的库地址以修改信任设置,注意在有一栏是关于外部数据设置。
在允许外部数据这里是设置可以使用何种连接方式,受信任的数据连接库是指在库中的外部ODC文件。这里选中“受信任的数据连接库和嵌入连接”表明可以在Excel中使用外部ODC连接和嵌入连接。顺便取消选中“启用刷新警告”。修改后选确定。
Step 5
在Excel数据连接属性中可看到ODC文件是保存在本地硬盘上的,如果将Excel文件发布到MOSS上,ODC文件也要发布到MOSS上才行。
跟发布Excel文件的库需要受信任一样,ODC所在的数据连接库也要受信任。 在Shared Services管理中心,点“受信任数据连接库”。
加入要发布ODC文件的库地址。
Step 6
在连接属性中点击“验证设置”,可看到Excel Services的验证有三种。
下面分别介绍三种认证方式的配置方法
(a)无身份验证:
在Excel连接属性中选择无身份验证。
在Shared Services管理中心中编辑Excel Services设置。
为外部数据源设置一个默认的帐户,当Excel中的没有使用认证方式时,则尝试使用此帐户连接数据源。
(b)SSO
首先开启SSO服务,并为SSO设置足够权限的帐户。
在MOSS的管理中心中选“管理单一登录的设置”
在下一界面中选“管理服务器设置”,设置管理帐户和SSO数据库。这里的帐户必须是AD中的帐户。
完成后回到前一界面,选“管理企业应用程序定义设置”,新建一项目。
设置SSO的名称,帐户类型等,我这里选的是组,选中Windows验证。 完成后,回到前一界面,选“管理企业应用程序定义的帐户信息”
输入组帐户,我这里用的是域用户组。 点设置,输入用以访问外部数据源的帐户。
完成后,在指定用户组中的成员将可以使用同样的权限访问外部数据源。
(c)Windows认证
相比前两种认证方式,Windows认证无疑是最佳方案。
首先要安装Windows Server支持工具,可以从win server 03 sp1光盘中或微软的网站上找到,详见http://support.microsoft.com/kb/892777
然后配置Kerberos认证,下面的配置过程参照了微软网站文档,详见: http://support.microsoft.com/kb/917409
http://msdn2.microsoft.com/En-US/library/aa302392.aspx
http://technet2.microsoft.com/Office/en-us/library/fb6928ce-49f8-492a-abff-5bd00ed588e21033.mspx?mfr=true
完整的Kerberos认证方式如下图:
1 默认情况下,SSP获取方式是“Trusted subsystem”,如果之前没有更改过可使用stsadm.exe更改,stsadm.exe用法如下:
像我这里使用命令行:stsadm -o set-ecssecurity -Ssp SharedServices -Accessmodel Delegati
on
SharedServices是我共享服务的名称。
2 用于发布报表的web应用程序必须是Kerberos认证,如果最初建立应用程序时使用的是NTLM认证,可在MOSS管理中心修改。
3 在支持工具目录中,执行下面两条语句:
setspn.exe -A MSOLAPSvc.3/esestt.myhome.cheney myhome\\administrator setspn.exe -A MSOLAPSvc.3/esestt myhome\\administrator
这里的esestt是我的运行SSAS机器名称,myhome.cheney是域名,myhome\\administrator是SQL Server运行帐户。
完成上面两条语句后可以检测一下是否成功
4 继续执行下面两条命令:
setspn -A http/esestt.myhome.cheney myhome\\administrator setspn -A http/esestt myhome\\administrator
这里的esestt是我的运行MOSS网站集机器名称,因为我的SSAS和MOSS在同一机器上,所以名称相同,myhome.cheney是域名,myhome\\administrator发布报表网站集的应用程序池帐户。
5 在AD用户的管理窗口,为MOSS和SSAS帐户启用委托,我这里的帐户都是Administrator,所以只为administrator启用委托即可。
Step 7
完成上一步的认证设置后,回到Excel中的数据连接属性。在验证设置中,选择一种之前设置的验证方式。
然后将ODC文件导出到受信任的数据连接库中。
在数据连接库中,批准刚才在Excel中导出的ODC文件。
Step 8
在Excel中设计报表。
Step 9
设计好报表后,将Excel文档发布到Excel Services
可以选择发布哪些内容。
发布Excel报表后就可以使用Web形式察看报表了,但web形式的图形跟在Excel中看到的还是
有些差别的。