19

我有兴趣了解一些从 Analysis Services 检索数据、用于代码中的对象或用于最终用户报告的不同方法。

过去我使用过两种不同的方法,一种是使用 ADOMD 提取结果并将其放入数据集中,另一种是使用 SQL OPENQUERY 到链接的 SSAS 服务器以将结果作为 SQL 存储过程结果集输出。这两者都有优点和缺点。

多年来,我已经看到了各种各样的问题,所以请原谅我的任何重复,但是还有什么其他方法可以将 SSAS 数据转换为其他人的代码可以使用的格式?

我考虑过从 SSAS over HTTP 到 XML 结果集,然后是从 Linq 到 XML——有人有这方面的经验吗?

理想情况下,我想要一个具有类型列或具有属性的对象的数据集,但我对一般方法比代码示例更感兴趣。除了 SSRS/其他仪表板控件之外,您是如何从 SSAS 获取数据的?

4

5 回答 5

9

我知道 MS 应该支持 XML/A(用于分析的 XML)。我即将发布一个 ajax 库来处理来自网页的 XML/A 请求。

虽然我目前专注于 Pentaho 的 Mondrian,但它也应该适用于 MS SQLs XML/A。如果您有兴趣,我将在 1 月 13 日对此进行介绍。(参见:http ://wiki.pentaho.com/display/COM/January+13,+2010+-+Roland+Bouman+-+OLAP+and +Analysis+for+web+applications+using+XMLA)到那时我也会发布我的代码(可能在 LGPL 许可下)

我很想从使用其他 XML/A 服务器的人那里得到反馈,所以如果你有兴趣,在这方面合作会很棒。

更新:

该项目现在可在http://code.google.com/p/xmla4js/获得,其中包含 API 文档、代码示例和构建脚本。它是 LGPL,因此您可以在您的应用程序中自由使用它,甚至用于商业目的。许可证确实要求您将库本身的任何修改发布为 LGPL(但这不​​会影响使用该库的应用程序)

更新2

该项目没有驻留在 github 上https://github.com/rpbouman/xmla4js 它可以在浏览器和 nodejs 中运行。

于 2009-12-22T13:30:59.553 回答
4

我自己从未使用过它,因为我们只使用 ADOMD 和 Excel 连接到 SSAS,但在某些时候我们考虑使用 HTTP 和 XML。由于缩短了开发计划,我们最终选择了 ADOMD 路线,但我想这是允许在 .Net 世界之外访问 SSAS 的另一种选择。

这是我在原型设计时发现有用的链接:Configuring HTTP Access to SQL Server 2008 Analysis Services on Microsoft Windows Server 2008

于 2010-01-04T21:13:40.640 回答
3

XMLA 是“高功率”方法——但我不知道有什么工具包或库真正公开了 XMLA 的全部功能;我想你会自己制作的。对于我所做的项目,这实在是太多了。

相反,我使用 ADOMD.NET 来检索代码中的结果。特别是 CellSet 类相当丰富。对于最终用户分析(切片和切块),我最常使用 Excel 数据透视图(非常棒!);有时我也使用 Visio Pivot Diagrams。对于固定报表,Reporting Services 可以直接访问 SSAS,它甚至还有自己的查询生成器。

顺便说一句,如果有帮助,我的书中有一章是关于将 SSAS 与网站集成作为卸载 SQL Server 的一种方式:Ultra-Fast ASP.NET。我的代码示例使用 ADOMD;我还介绍了构建一个简单的多维数据集、使用 SSIS 配置自动更新、使用主动缓存、构建简单的 MDX 查询等。

于 2010-01-01T12:36:01.290 回答
2

将数据从 SSAS OLAP 多维数据集获取到 .NET 的另一种方法(我会说是最简单的方法)是使用 LINQ + ADO.NET Entity Framework + SSAS Entity Framework Provider

(我为开发 SSAS Entity Framework Provider 的公司工作)。

于 2011-10-15T05:09:28.713 回答
2

另一种方法是使用 MSOLAP OLE DB 提供程序。我们的代码目前正在使用这种方法。

于 2010-01-05T05:50:38.893 回答