5

我有这种情况:

WServer 2008、SQL Server 2005、MS 分析服务 (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

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

奥拉普结果

我尝试使用报告查看器,但似乎无法解决此错误:

远程报表处理需要 Microsoft SQL Server 2008 Reporting Services 或更高版本

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

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

我也尝试使用 TSQL 查询,但它只返回 1 列的月份,而实际上我需要许多列来计算月份

注意:用户有很多不同的操作系统和浏览器,如 iPad、Mac、Windows、Linux,......所以结果必须是 HTML 输出

所以我的问题是:

开发一个简单的网页(asp 或 aspx)(服务器端或客户端)来查询多维数据集以获得简单结果(必须是 HTML)的最佳方法是什么,如上所示,无需用户进行任何选择?

或者在这种情况下我根本不明白什么?

提前感谢谁能帮助我!

4

2 回答 2

4

好吧,您在此处显示的是 SSRS 报告的结果,并且您想从您的应用程序中访问它,对吗?

基本上有 3 种方式可以从应用程序中与 SSRS 进行交互:报表服务器 Web 服务(也称为 SOAP,这是报表管理器的构建方式)、URL 访问(报表服务器上报表的纯 url)和报表查看器控件。

使用 ReportViewer 控件时,您可以使用本地处理模式或远程处理模式。远程处理模式是当控件从 SSRS 服务器检索完全处理的报告时。因此,顾名思义,处理是远程的。

我从您的问题中了解到,您没有可连接的 SSRS 实例,但您有报告。这是您将使用本地处理模式的场景。在这种类型的处理模式下,报表以 .rdlc 文件扩展名存储在本地,控件打开报表定义,对其进行处理,然后在视图区域中呈现报表。

您还需要将报表文件添加到 VS 项目中,并且有一些小限制,例如报表只能使用 PDF、excel 和图像格式显示。

于 2012-05-09T09:42:26.463 回答
0

根据您的要求,不需要 ReportViewer 控件等。

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

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

我没有任何关于如何解析它的示例,因为它是我目前正在研究的东西,但从我目前所看到的情况来看,这并不难,而且它肯定包含您需要的所有信息。

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

这不会提供任何类型的交互性,但您说这不是问题。

当我知道如何从 ADOMD.NET 结果集中解析信息时,我将尝试更新它。

于 2012-08-21T11:50:25.077 回答