Einleitung
Microsoft Dynamics CRM 2011 ist eine vielseitig erweiterbare Plattform welche viele Möglichkeiten zur Anpassung bietet. In dem heutigen Artikel widmen wir uns der Erstellung eines Berichtes für Microsoft Dynamics CRM 2011. Grundsätzlich sind Berichte in Microsoft Dynamics CRM 2011 ganz normale SQL Server Reporting Servies (SSRS) Berichte. Etwas ungewohnt ist der Zugriff auf die CRM Entitäten. Hierfür gibt es zwei Möglichkeiten:
- SQL basierend
Diese Berichte benutzen SQL-Abfragen um Daten zu lesen. Alle Standard Berichte von CRM 2011 und CRM Online basieren auf diesen SQL Abfragen. Aus sicherheitstechnischen Gründen können keine eigenen SQL basierenden Berichte in CRM Online deployed werden. - FetchXml basierend
Diese Berichte wurden mit CRM 2011 eingeführt und verwenden FetchXml für Abfragen. FetchXml ist eine proprietäre Abfragesprache auf Basis von Xml und ist zentriert um Entitäten. Die Sprache ermöglicht ebenso Verknüpfungen und Aggregationen. Alle mit dem Wizard erstellen Berichte basieren auf FetchXml.
In diesem Artikel werden benutzerdefinierte Berichte basierend auf FetchXml näher beleuchtet.
Vorbereitungen
Zum Entwickeln von benutzerdefinierten Berichten basierend auf FetchXml müssen zuerst die Microsoft Dynamics CRM 2011 Report Authoring Extensions installiert werden. Diese sind hier zu finden: http://www.microsoft.com/en-us/download/details.aspx?id=27823
Zum jetzigen Zeitpunkt unterstützen die Report Authoring Extensions allerdings nur Business Intelligence Development Studio 2008 (BIDS). Nach der Installation steht uns in BIDS einen neue Datenquelle vom Typ Microsoft Dynamics CRM Fetch zur Verfügung.
Solution anlegen
Zuerst erstellen wir eine neue Solution in Visual Studio 2008:
Und wählen Report Server Project:
Bevor wir nun eine DataSource für unseren Bericht erstellen folgt zuerst ein kleiner Exkurs zu DataSources und CRM:
Beim Erstellen einer neuen Organisation werden standardmäßig immer zwei DatasSources im SharedReports-Folder des SSRS erzeugt:
- MSCRM_DataSource
Für SQL Abfragen - MSCRM_FetchDataSource
Für FetchXml Abfragen
Diese können in unserem Bericht eingebunden werden. Da die Datenquellen in jeder Organisation vorhanden sind, wird nach dem Deployment eines Berichtes, auch immer die korrekte Datenquelle verwendet und können so den gleichen Report ohne Anpassungen auf verschiedenen Systemen deployen.
Um diese zu verwenden legen wir in unserem Projekt eine Shared Data Source mit dem Namen MSCRM_FetchDataSource an.
Als Typ wählen wir Microsoft Dynamics CRM Fetch und für den Connection string geben wir die URL unserer CRM Instanz an.
Credentials werden von uns nicht verändert und können in den Standardeinstellungen gelassen werden.
FetchXml Abfrage erstellen
Als nächstes benötigen wir eine Abfrage für unseren Bericht. Microsoft CRM bietet glücklicherweise eine recht komfortable Möglichkeit auch ohne größere Kenntnisse von FetchXml Abfragen zu erstellen. Hierzu wählen wir im Microsoft CRM die Erweiterte Suche.
Hier können wir uns unsere Abfrage mit einem Wizard erstellen und später das FetchXml anzeigen lassen. Als Entität für die Suche wählen wir Sicherheitsrollen (diese Entität sollte in jeder CRM Instanz zu finden sein) und definieren den Filter wie folgt:
Zum Anzeigen des FetchXml klicken wir den Button FetchXml herunterladen in der oberen rechten Ecke.
Die so erzeugte Datei speichern wir an einem beliebigen Ort in unseren Dateisystem und öffnen diese mit NotePad.
Wir ergänzen die Abfrage noch um das Attribut fullname der Entität systemuser, damit wir auch den Namen der Benutzer angezeigt bekommen.
Zum besseren Verständnis von FetchXml hier ein Screenshoot welch Teile der Abfrage welchem SQL Befehl entsprechen.
Bericht erstellen
Nun ist alles bereit, um unseren Bericht zu erstellen. Wir wechseln hierzu wieder nach Visual Studio und erstellen einen neuen Bericht:
Als Datenquelle wählen wir die Shared data source MSCRM_FetchDataSource:
Im nächsten Schritt kopieren wir die vorbereitete Abfrage in das Feld Query String
Als Felder wählen wir nur name und fullname.
Wir geben dem Bericht noch einen Namen und sind fertig.
Hier das Ergebnis:
Bericht in CRM System veröffentlichen
Um unseren Bericht anderen Benutzern zur Verfügung zu stellen, muss dieser im CRM System veröffentlicht werden.
Dazu gehen wir zu Berichte
Und wählen Neu
Im folgenden Menu wählen wir für Berichtstyp Vorhandene Datei, geben Name und Beschreibung ein und wählen den Dateispeicherort der von uns erstellten RDL Berichtsdatei aus.
Unter Verwaltung ändern wir bei Bedarf die Sichtbarkeit von Individuell auf Organisation (nur so kann er von anderen Benutzern gesehen werden).
Sind alle Daten eingetragen klicken wir auf Speichern und schließen. Der Bericht ist nun im CRM System veröffentlicht.
Fazit
Berichte für Microsoft CRM 2011 unterscheiden sich nur in in der Art der Abfrage von normalen SSRS Berichten. Mit den hier gezeigten Grundlagen können nun auch komplexere Berichte für Microsoft CRM 2011 erstellt werden.
In einem Folgeartikel werde ich näher auf FetchXml als Abfragesprache und das Verwenden von Parametern eingehen.
Sie sehen gerade einen Platzhalterinhalt von Facebook. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr InformationenSie sehen gerade einen Platzhalterinhalt von Instagram. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr InformationenSie sehen gerade einen Platzhalterinhalt von X. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen