SQL Server Reporting Services - 报表模型:API(构建自定义报表生成器)

时间:2009-08-06 16:11:54

标签: sql-server reporting-services reporting

我正在研究创建自定义报表生成器和数据工具以替换ssrs报表生成器的想法。

我想要更像是查询构建器和数据导出工具,而不是报告。

我想要使用的是报告模型。我希望用户从报表模型中选择字段,渲染sql,然后执行sql并返回数据。

报表生成器如何使用报表模型? 它只是提供架构,报表生成器是否生成实际的sql? 如何生成sql,服务器或客户端。

我如何向用户提供可用字段以及如何获取用户选择的字段的SQL?

2 个答案:

答案 0 :(得分:4)

我同意罗布。我认为这种努力不值得。

说,我可以提供一些部分信息。使用Report Builder 2.0创建报表时,会在数据集中创建一个可以针对报表模型执行的语义查询。

从高级别开始,报表模型中的查询如下所示:

<SemanticQuery xmlns="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rb="http://schemas.microsoft.com/sqlserver/2004/11/reportbuilder" xmlns:qd="http://schemas.microsoft.com/sqlserver/2004/11/semanticquerydesign">
  <Hierarchies>
    <Hierarchy>
      <BaseEntity>
      </BaseEntity>
      <Groupings>
      </Groupings>
      <Filter>
      </Filter>
    </Hierarchy>
  </Hierarchies>
</SemanticQuery>

由于可以将根据报表模型报表创建的报表保存到报表服务器,因此可以假定在报表服务器上处理报表模型。然后在报告服务服务中生成SQL。

答案 1 :(得分:3)

我真的认为这不值得做。升级到SQL 2008并使用Report Builder 2.0会更好。

但是......您可以非常轻松地使用SSRS提供的Web服务来获取XML以获取报告模型,然后您可以将其用作ORM的一种形式,以便能够获得LINQ-环境正在发生。

我认为这不值得。