我可以通过Excel VBA查询SAP BO WEBI吗?我能做得够快吗?

我可以通过Excel VBA查询SAP BO WEBI吗?我能做得够快吗?,excel,vba,business-objects,business-objects-sdk,Excel,Vba,Business Objects,Business Objects Sdk,在我的基础上,我需要能够以最快的方式查询超过6M行的数据库,以便该数据库可以有效地用作动态Excel报表的“远程”数据源 正如我所说,通常我会将我需要的数据存储在一个单独的(可能是隐藏的)工作表上,然后通过第二个“控制”工作表对其进行操作。这一次,我的数据库的大小(即行数)阻止了我这样做(大家都知道,excel不能处理超过140万行) 我的IT人员提出的解决方案包括将数据保存在网络文件夹中的txt文件中。到目前为止,我设法通过ADO查询这个文件(速度慢,但不需要mantainance),或者将它

在我的基础上,我需要能够以最快的方式查询超过6M行的数据库,以便该数据库可以有效地用作动态Excel报表的“远程”数据源

正如我所说,通常我会将我需要的数据存储在一个单独的(可能是隐藏的)工作表上,然后通过第二个“控制”工作表对其进行操作。这一次,我的数据库的大小(即行数)阻止了我这样做(大家都知道,excel不能处理超过140万行)

我的IT人员提出的解决方案包括将数据保存在网络文件夹中的txt文件中。到目前为止,我设法通过ADO查询这个文件(速度慢,但不需要mantainance),或者将它用作填充索引访问表的源,然后我可以查询这个表(速度快,但需要更多mantainance和其他软件)

我觉得这两种解决方案虽然可行,但都是次优的。另外,在我看来,所有这些都只是不必要的过度复杂化。txt文件实际上是从SAP BO导出的,IT人员可以通过WEBI访问该文件。现在,我不能自己通过WEBI以一种“动态”的方式查询BO数据库吗

我想说的是,为什么我不能在需要知道的基础上一次只提取少量信息,直接从主要来源提取,而不是将所有数据批量传输到辅助/重复数据库

这种“动态”查询可能吗?还是“处理”时间会阻碍我方法的成功?我需要这整件事让我真正感受到istantaneuos,就好像数据已经存在,而我并不是一直在检索它

最重要的是,我可以通过VBA来实现吗?不幸的是,这是我唯一能接触到的东西,我不能做这件事

我想提前感谢你们给我的任何帮助

Webi(Web Intelligence的缩写)是来自Business Objects的前端分析报告应用程序。您的IT联系人显然已经创建(或访问)了这样一个Webi文档,它通过一个宇宙(抽象层)从数据库检索数据

您可以使用Web Intelligence检索到的数据作为源,动态请求位,而不是一次性检索所有信息,一种方法是使用名为BI Web Service的功能。这将使Webi中的数据作为web服务可用,然后您可以从Excel中检索这些数据。您甚至可以通过添加会对检索到的数据施加限制的提示,使其成为动态的

快速浏览页面(或谷歌网络智能BI网络服务获取其他教程)

另一种方法可能是使用SDK,尽管当您试图操作Web智能时,您唯一的语言选项是.NET或Java,因为Rebean SDK(用于与Webi对话)不适用于COM(即VBA/VBScript/…)

注意:如果您使用的是BusinessObjects BI 4.x,请记住Rebean SDK实际上已被弃用,并被REST SDK取代。这使得使用VBA实现Webi成为可能

也就是说,我不太确定这是否是最好的方法,因为您实际上引入了几个中间层:

  • 数据库(保存要检索的数据)
  • 宇宙(语义抽象层)
  • 网络智能
  • 从Webi获取数据的方法(手动导出、web服务、SDK等)
  • 胜过

  • 根据您的许可证和您试图实现的目标,XcelsiusDesign Studio(BusinessObjects BI 4.x)也可能是Excel前端的可行替代方案,从而消除第3层到第4层(并取代第5层)。前者的后端实际上主要基于Excel(尽管不支持VBA)。Design Studio允许使用JavaScript编写脚本。

    当然可以,我有一些由vba开发的代码来检索bo用户信息。@huangli这对bo WEBI也适用吗?我能看一下吗?嗨@Bruder,试试这个链接并检查代码,它绝对有效。由于它与boe sdk配合使用,因此可以与res sdk配合使用。在此之前,请确保您安装了boe客户端工具。@huangli我尝试了您的VBA代码,但我卡住了。我知道我的用户ID和密码,但我不知道应该在CMS框中键入什么。我还意识到我可能用错名字了。我的IT人员一直告诉我我安装了BO WEBI,但我认为我只有BO Infoview,我可以通过我的web浏览器访问它。我不在这里,这对你有意义吗?@user1704812描述如何将VBA与web服务结合使用超出了这个问题的范围,因此需要发布一个新问题。如果您正在寻找如何在web Intelligence中创建web服务的信息,请查看并查看第6.2节:与其他应用程序共享内容。本手册适用于BI 4.1 SP5,如果您使用的是其他版本,请下载相应的手册。