2009-08-06 40 views
1

我正在研究创建自定义报表生成器和数据工具来替换ssrs报表生成器的想法。SQL Server Reporting Services - 报表模型:API(构建自定义报表生成器)

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

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

报表生成器如何使用报表模型? 它只是提供模式和报告生成器生成实际的SQL? SQL如何生成,服务器或客户端。

我该如何让用户可用的字段以及如何获得用户所选字段的sql?

回答

3

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

但是...您可以非常轻松地使用SSRS提供的Web服务获取报表模型的XML,然后您可以使用它作为ORM的一种形式以获得LINQ发生的环境。

我只是不认为这是真的值得。

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。

相关问题