【问题标题】:Display an OLAP SQL Server in a web page?在网页中显示 OLAP SQL Server?
【发布时间】:2012-05-09 09:30:04
【问题描述】:

我有这种情况:

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)如上所示,无需用户选择?

或者我在这个场景中根本不明白什么?

提前感谢谁能帮助我!

【问题讨论】:

    标签: asp.net sql-server-2005 reporting-services ssas olap


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 感谢 Diego 的清晰解释,是的,由于只能远程处理 SSRS 2008 的限制,我不能使用 SSRS 2005。你在现实中提到的小限制对我的视力来说是相当大的,我相信用户会选择一个列并粘贴到另一个文档中,而且用户有很多不同的操作系统,如 Ipad、Mac、Windows、Linux 等。 .. 所以结果必须是 HTML 输出。这就是为什么我正在寻找一些容易显示简单 HTML 的东西,我觉得这太难了!再次感谢并为你投票)
    • 嗨,没问题,很高兴为您提供帮助。是的,向最终用户显示立方体是一件棘手的事情,我还没有找到一个好的解决方案。 SSRS 非常适合静态数据,但在交互方面缺乏功能,比如说可移植性
    • @Diego 8 年后,微软在 Web 应用程序中嵌入 OLAP 的解决方案是什么?
    【解决方案2】:

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

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

    与使用报表查看器之类的工具相比,这将是一个更轻量级的解决方案。

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-14
      相关资源
      最近更新 更多