2009-08-06 6 views
1

Ich untersuche die Idee, einen benutzerdefinierten Berichtsersteller und ein Datenwerkzeug zu erstellen, um den ssrs-Berichtsersteller zu ersetzen.SQL Server Reporting Services - Berichtsmodell: API (build custom report builder)

Ich möchte etwas eher wie ein Abfrage-Generator und Datenexport-Tool, anstatt zu berichten.

Die Sache, die ich verwenden möchte, ist das Berichtsmodell. Ich möchte, dass Benutzer das Feld aus dem Berichtsmodell auswählen, die SQL-, dann die Exec-SQL-Datei rendern und die Daten zurückgeben.

Wie wird das Berichtsmodell vom Berichtsgenerator verwendet? Gibt es nur das Schema und der Report Builder erzeugt die tatsächliche SQL? Wie wird die SQL generiert, Server oder Client-Seite.

Wie kann ich so den Benutzern die Felder zur Verfügung stellen und wie bekomme ich die sql für die vom Benutzer ausgewählten Felder?

Antwort

3

Ich glaube wirklich nicht, dass es sich lohnt. Sie sollten besser auf SQL 2008 aktualisieren und den Berichts-Generator 2.0 verwenden.

Aber ... Sie können ganz einfach die mit SSRS bereitgestellten Webservices verwenden, um das XML für ein Berichtsmodell abzurufen, und Sie können dies möglicherweise als eine Form von ORM verwenden, um eine LINQ abrufen zu können -ish Umwelt passiert.

Ich denke nur nicht, dass es das wirklich wert ist.

4

Ich stimme Rob zu. Ich denke nicht, dass die Mühe es wert wäre.

Sagen, dass ich einige partielle Informationen dazu bereitstellen kann. Wenn ein Bericht mit Report Builder 2.0 erstellt wird, gibt es eine semantische Abfrage, die innerhalb des Datasets erstellt wird und mit dem Berichtsmodell ausgeführt werden kann.

Von einem hochrangigen die Abfrage im Berichtsmodell sieht aus wie unten abgebildet,:

<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> 

Da ein Bericht aus einem Berichtsmodell Bericht erstellt wird, kann auf den Berichtsserver gespeichert wird, kann davon ausgegangen wird, dass Das Berichtsmodell wird auf dem Berichtsserver verarbeitet. Das SQL wird dann im Reporting Services Service generiert.

Verwandte Themen