2012-05-09 28 views
5

我有这种情况:在网页中显示OLAP SQL Server?

WServer 2008,SQL Server 2005,MS Analysis Services(SSAS),ISS7和OLAP CUBE。

我需要将OLAP结果嵌入到现有网站的网页中。

我不需要任何选择尺寸,没有任何向下钻取,没有任何3维,只是预设的MDX查询的被动结果。

低于所使用的MDX查询的例子:(在一段时间的代理销售统计)

SELECT NON EMPTY { [Measures].[Valore] } ON COLUMNS, 
    NON EMPTY { ([Prodotti].[Top Marca].[Top Marca].ALLMEMBERS * [Calendario].[Anno - Mese].[Mese].ALLMEMBERS * [Agenti].[Cod Agente].[Cod Agente].ALLMEMBERS) } 
    DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM (SELECT ({ [Calendario].[Anno].&[2012] }) ON COLUMNS 
    FROM (SELECT ({ [Agenti].[Vw Agenti].&[005] }) ON COLUMNS FROM [Vendite])) 
    CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS 

下面一个简单的结果,我需要在网站上显示:

olap result

我试图用报表查看器,但似乎我不能因为这个错误:

Remote report processing requires Microsoft SQL Server 2008 Reporting Services or later

我无法安装SQL Server 2008,所以我需要一个替代解决方案。

我试过一些开源的,但他们需要安装JAVA和更多,大多数也没有连接到SQL Server或需要不同的Web服务器。

我想也使用TSQL查询,但它换了个回只有1列,当在现实,我需要为月计算

注多列:用户有很多很多不同的操作系统和浏览器的iPad ,在Mac,Windows,Linux的,...这样的结果必然是一个HTML输出

所以我的问题是:

什么是开发一个简单的网页(ASP或Java)(最好的办法服务器端或客户端)查询t他立方得到一个简单的结果(必须是HTML)如上所示,没有任何用户选择?

或者我对这种情况有什么了解?

在此先感谢谁能帮助我!

回答

4

那么,你显示的是SSRS报告的结果,你想从你的应用程序访问它,对吧?

基本上有三种方法可以与您的应用程序交互SSRS:报表服务器Web服务(也称为SOAP,这是报表管理器的构建方式),URL访问(报表的简单网址服务器)和ReportViewer控件。

使用ReportViewer控件时,可以使用本地处理模式或远程处理模式。远程处理模式是当控件从SSRS服务器检索完全处理的报告时。所以,正如名称所述,处理是Remote。

从我的理解你的问题,你没有SSRS实例可用于连接,但你有你的报告。这是您将使用本地处理模式的场景。在这种类型的处理模式下,报告以.rdlc文件扩展名的形式存储在本地,控制打开报告定义,处理它,然后在查看区域呈现报告。

您还需要将报告文件添加到VS项目,并且存在一些小的限制,例如只能使用PDF,Excel和图像格式显示报告。

+0

感谢迭戈您的明确解释和是的我不能使用SSRS 2005由于限制只有SSRS 2008可以远程处理。 您提到的次要限制对于我的视觉来说是相当大的,我确定用户想要选择一个列并粘贴到另一个文档中,再加上用户有很多不同的操作系统,如Ipad,Mac,Windows,Linux, ...所以结果必须是HTML输出。这就是为什么我看起来很容易显示一个简单的HTML,我的想法是如此艰难!再次感谢您的投票) –

+0

嗨,没问题,很乐意帮忙。是的,向最终用户显示多维数据集是一件棘手的事情,我还没有找到一个好的解决方案。 SSRS非常适合静态数据,但它在交互和可移植性方面缺乏功能 – Diego

0

从你都在问,没有必要为ReportViewer控件等

有ADOMD.NET(而不是标准的ADO.NET),它应该让你得到你想要的只是使用的所有数据一个静态的MDX查询。您需要考虑的唯一部分是如何正确解析结果对象以获取所需格式的HTML表格。

这将是一个轻量级的解决方案,使用诸如报表查看器之类的东西。

我没有任何关于如何解析它的例子,因为它是我目前正在进行的工作,但从目前我所能看到的并不难,它绝对包含了您需要的所有信息。

在访问多维数据集方面,您可以使用TCP/IP直接连接(似乎可以像您提到的那样执行TSQL查询),也可以设置MSMDPUMP访问。

这不会提供任何形式的交互性,但你说这不是问题。

我会尝试更新此与如何解析信息从ADOMD.NET结果集在某些时候,当我知道如何。