我有这样的场景:
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) 如上所示,无需用户进行任何选择的最佳方法是什么?
或者这个场景我根本不明白什么?预先感谢谁可以帮助我!
基本上有 3 种方法可以从应用程序与 SSRS 进行交互:报表服务器 Web 服务(也称为 SOAP,这就是报表管理器的构建方式)、URL 访问(报表服务器上报表的纯 URL)和ReportViewer 控件。
使用ReportViewer控件时,您可以使用本地处理模式或远程处理模式。远程处理模式是指控件从 SSRS 服务器检索完全处理的报告。因此,正如其名称所示,处理是远程的。
据我从您的问题中了解到,您没有可连接的 SSRS 实例,但您有报告。这是您将使用本地处理模式的场景。在这种类型的处理模式下,报表以 .rdlc 文件扩展名存储在本地,控件打开报表定义、对其进行处理,然后在视图区域中呈现报表。
您还需要将报告文件添加到VS项目中,并且有一些小限制,例如报告只能使用PDF、Excel和图像格式显示。
ADOMD.NET(而不是标准 ADO.NET)应该允许您仅使用静态 MDX 查询即可获取所需的所有数据。您需要考虑的唯一部分是如何正确解析结果对象以获取您想要的格式的 HTML 表。
这将是一个更轻量级的解决方案,使用报表查看器之类的东西。
我没有任何关于如何解析它的示例,因为这是我目前正在研究的事情,但从我目前所看到的来看,这并不难,而且它肯定包含了您需要的所有信息。
在访问多维数据集方面,您可以直接使用 TCP/IP 连接(似乎可以使用,因为您提到您执行 TSQL 查询),或者您可以设置 MSMDPUMP 访问。
这不会提供任何类型的交互性,但你说这不是问题。
当我知道如何时,我将尝试更新如何解析 ADOMD.NET 结果集中的信息。