Codebeispiel: Benutzerdefinierte Objekte für Berichte, Filter und tabulierte Datenquellen

Letzte Änderung: Dienstag, 31. Mai 2011

Gilt für: SharePoint Server 2010

Es wird empfohlen, das Beispiel als Vorlage für benutzerdefinierte Erweiterungen zu verwenden. Das Beispiel enthält Hilfsobjekte, mit denen Aufrufe für Repositoryvorgänge (beispielsweise Erstellen und Aktualisieren) vereinfacht werden. Außerdem werden bewährte Methoden für die Programmierung mit PerformancePoint Services veranschaulicht. Weitere Informationen zu unterstützten Erweiterungstypen finden Sie unter Entwicklungsszenarien für PerformancePoint-Dienste.

Benutzerdefinierte Objektkomponenten im Beispiel

Das Beispiel enthält die folgenden Komponenten, die sich auf benutzerdefinierte Objekte beziehen:

  • Berichtserweiterung

  • Filtererweiterung

  • Datenquellenerweiterung

  • Hilfsobjekte

Die Berichts-, Filter- und Datenquellenerweiterungen enthalten Renderer- oder Anbieterkomponenten und Editor-Komponenten. Renderer werden als Webserversteuerelemente implementiert, und Editoren werden als ASPX-Seiten mit CodeBehind-Klassen implementiert. Bei den Beispiel-Editoren wurde die SharePoint Server-Entwicklungsmethode befolgt, bei der die Programmierlogik des Editors für die ASPX-Seite in einer Klasse definiert wird, die in einer DLL kompiliert wird.

HinweisHinweis

Anweisungen zum Installieren der benutzerdefinierten Objekte aus dem Beispiel auf einem Entwicklungscomputer finden Sie unter Installieren der Beispielobjekte für Berichte, Filter und Datenquellen.

Berichtserweiterung

Der Beispielbericht empfängt Daten vom Beispielfilter, und die Aktienkursinformationen werden in einer Tabelle angezeigt. Benutzerdefinierte Berichtserweiterungen enthalten in der Regel einen Renderer (erforderlich) und einen Editor.

Der Beispielbericht enthält die folgenden Dateien:

  • SampleReportRenderer.cs Rendert den Beispielbericht in einem Webpart. Der Renderer ist ein Webserversteuerelement, von dem ein HtmlTextWriter-Objekt verwendet wird, um die HTML für die Berichtvisualisierung zu schreiben.

  • SampleReportViewEditor.aspx Stellt die Benutzeroberfläche des Editors bereit, bei der es sich um eine ASPX-Seite handelt, die auf dem Front-End-Webserver ausgeführt wird und auf der Webserversteuerelemente angezeigt werden. Die Webserversteuerelemente werden auf der ASPX-Seite in HTML definiert.

  • SampleReportViewEditor.cs Stellt die Programmierlogik für den Editor bereit, einschließlich der Logik für die auf der ASPX-Seite definierten Steuerelemente.

Weitere Informationen finden Sie unter Erstellen von Berichtserweiterungen für PerformancePoint Services.

Filtererweiterung

Im Beispielfilter werden von einem Webdienst oder aus einer Microsoft Excel-Arbeitsmappe abgerufene Aktienkursinformationen verwendet. Benutzerdefinierte Filtererweiterungen enthalten in der Regel einen Anbieter (erforderlich), einen Renderer und einen Editor. In einem Filter kann ein benutzerdefinierter Renderer oder ein systemeigener PerformancePoint Services-Renderer verwendet werden. In diesem Beispiel wird das PerformancePoint Services-Struktursteuerelement mit Mehrfachauswahl verwendet.

Der Beispielfilter enthält die folgenden Dateien:

  • SampleFilterDataProvider.cs Definiert den Datenanbieter für den benutzerdefinierten Filter. Mit dieser Klasse werden die Interaktionen mit der Datenquelle des Filters behandelt.

  • SampleFilterEditor.aspx Stellt die Benutzeroberfläche des Editors bereit, bei der es sich um eine ASPX-Seite handelt, die auf dem Front-End-Webserver ausgeführt wird und auf der Webserversteuerelemente angezeigt werden. Die Webserversteuerelemente werden auf der ASPX-Seite in HTML definiert.

  • SampleFilterEditor.cs Stellt die Programmierlogik für den Editor bereit, einschließlich der Logik für die auf der ASPX-Seite definierten Steuerelemente.

Weitere Informationen finden Sie unter Erstellen von Filtererweiterungen für PerformancePoint Services.

Datenquellenerweiterung

Mit der Beispieldatenquelle werden Aktienkursinformationen von einem Webdienst bereitgestellt. Benutzerdefinierte Datenquellenerweiterungen enthalten in der Regel einen Anbieter (erforderlich) und einen Editor. Von PerformancePoint Services werden nur tabulierte Datenquellen unterstützt.

Die Beispieldatenquelle enthält die folgenden Dateien:

  • BasicTabularDataSourceProvider.cs Enthält die außer Kraft gesetzten Methoden, die nicht vom benutzerdefinierten Datenquellenanbieter implementiert werden.

  • SampleDataSourceEditor.aspx Stellt die Benutzeroberfläche des Editors bereit, bei der es sich um eine ASPX-Seite handelt, die auf dem Front-End-Webserver ausgeführt wird und auf der Webserversteuerelemente angezeigt werden. Die Webserversteuerelemente werden auf der ASPX-Seite in HTML definiert.

  • SampleDataSourceEditor.cs Stellt die Programmierlogik für den Editor bereit, einschließlich der Logik für die auf der ASPX-Seite definierten Steuerelemente.

  • SampleDSCacheHandler.cs Stellt die zugrunde liegende Datenquelle dar, von der Aktienkursinformationen bereitgestellt werden. Mit dieser Klasse werden Aktienwerte aus einer Cachedatei abgerufen und mit vom Webdienst abgerufenen Werten aktualisiert.

  • WSTabularDataSourceProvider.cs Stellt den benutzerdefinierten Datenquellenanbieter dar.

Weitere Informationen finden Sie unter Erstellen von tabellarischen Datenquellenerweiterungen für PerformancePoint Services.

Hilfsobjekte

Von PerformancePoint Services werden SharePoint-Listen als Repository für Objekte erster Klasse (First Class Objects, FCOs) verwendet. Datenquellen werden in einer SharePoint-Dokumentbibliothek gespeichert, und Dashboards, Scorecards, Berichte, Filter, KPIs (Key Performance Indicators) und Indikatoren werden in einer SharePoint-Liste gespeichert. Das Standardrepository besteht aus der PerformancePoint-Datenverbindungsbibliothek und der PerformancePoint-Inhaltsliste.

Das Beispiel enthält Hilfsobjekte, mit denen die erforderlichen Vorgänge zwischen einem Editor und dem PerformancePoint Services-Repository vereinfacht werden, beispielsweise das Abrufen und Aktualisieren benutzerdefinierter Objekte und das Zugreifen auf PerformancePoint Services-Datenquellen. Durch Hilfsobjekte werden außerdem Hooks für die Serverprotokollierung und die Behandlung von Ausnahmen bereitgestellt.

HinweisHinweis

Da die Beispiel-Editoren auf dem Front-End-Webserver ausgeführt werden, werden zum Ausführen von Repositoryvorgängen die Objekte BIMonitoringServiceApplicationProxy und SPDataStore verwendet. Weitere Informationen finden Sie unter Editoren für benutzerdefinierte PerformancePoint Services-Objekte.

Die folgenden Klassen aus dem Beispiel stellen Hilfsobjekte dar:

  • ExtensionRepositoryHelper.cs Stellt die Basisklasse für die Repositoryhilfsobjekte dar.

    • DataSourceRepositoryHelper.cs Dient zum Erstellen, Abrufen und Aktualisieren benutzerdefinierter Datenquellenobjekte im PerformancePoint Services-Repository. Diese Klasse wird vom Beispieldatenquellen-Editor verwendet.

    • FilterRepositoryHelper.cs Dient zum Erstellen, Abrufen und Aktualisieren benutzerdefinierter Filterobjekte im PerformancePoint Services-Repository. Diese Klasse wird vom Beispielfilter-Editor verwendet.

    • ReportViewRepositoryHelper.cs Dient zum Erstellen, Abrufen und Aktualisieren benutzerdefinierter Berichtsobjekte im PerformancePoint Services-Repository. Diese Klasse wird vom Beispielberichts-Editor verwendet.

  • IDataSourceConsumer.cs Stellt eine Schnittstelle dar, die durch die Klassen FilterRepositoryHelper und ReportViewRepositoryHelper implementiert wird und diese als Datenquellenconsumer identifiziert.

  • DataSourceConsumerHelper.cs Greift auf Daten aus zugrunde liegenden Datenquellen zu und verwendet diese. Diese Klasse wird vom Beispielberichts-Editor und vom Filter-Editor verwendet.

Installieren der Beispielobjekte für Berichte, Filter und Datenquellen

Zum Installieren der Beispielobjekte für Berichte, Filter und Datenquellen müssen Sie die Beispielassembly erstellen, die Assembly im globalen Assemblycache registrieren, die Editor- und Stylesheetdateien kopieren und die Erweiterungen in der Datei web.config für PerformancePoint Services registrieren. Für diese Aufgaben sind ausreichende Administratorrechte auf dem Anwendungsserver erforderlich, das heißt auf dem Computer mit PerformancePoint Services.

HinweisHinweis

Für die Umleitungsfunktionalität, mit der die benutzerdefinierten Editoren geöffnet werden, muss die SharePoint Server 2010-Konfiguration eine Websitesammlung auf oberster Ebene (Stammwebsitesammlung) enthalten.

HinweisHinweis

Anweisungen zum Installieren des vollständigen Beispiels sind in den Beispieldateien enthalten.

So installieren Sie die Beispielobjekte

  1. Laden Sie die komprimierte Datei (ZIP) mit dem PerformancePoint Services SDK-Referenzbeispiel herunter, die die benutzerdefinierten Komponenten für Berichte, Filter und tabulierte Datenquellen enthält.

  2. Extrahieren Sie den Inhalt in einen Ordner auf Ihrem Computer.

  3. Öffnen Sie das Beispiel in Visual Studio.

  4. Erweitern Sie im Lösungs-Explorer den Verweisordner, und stellen Sie alle fehlenden Projektverweise wieder her. PerformancePoint Services-Assemblys werden nur im globalen Assemblycache installiert. Abhängig von Ihrer Entwicklungsumgebung müssen Sie die Assemblys möglicherweise in ein anderes Verzeichnis kopieren. Anweisungen zum Kopieren von PerformancePoint Services-Assemblys aus dem globalen Assemblycache finden Sie unter PerformancePoint-Dienste-DLLs in Entwicklungsszenarios.

    Das Beispiel enthält Verweise auf die folgenden PerformancePoint Services- und SharePoint Server 2010-Assemblys:

    • Microsoft.PerformancePoint.Scorecards.Client

    • Microsoft.PerformancePoint.Scorecards.DataSourceProviders.Standard

    • Microsoft.PerformancePoint.Scorecards.Server

    • Microsoft.PerformancePoint.Scorecards.ServerCommon

    • Microsoft.PerformancePoint.Scorecards.ServerRendering

    • Microsoft.PerformancePoint.Scorecards.Store

    • Microsoft.SharePoint

  5. Erstellen Sie die Beispielassembly.

    HinweisHinweis

    Bei diesen Anweisungen wird angenommen, dass Sie die Assembly mit der im Beispiel enthaltenen Datei SDKSamples.snk signieren. Wenn Sie zum Generieren eines öffentlichen Schlüsseltokens für die Assembly eine andere Schlüsseldatei mit starkem Namen verwenden, ersetzen Sie das öffentliche Schlüsseltoken aus dem Beispiel in diesen Anweisungen (fa525c8383a44a52) durch den tatsächlichen Schlüssel. Bei diesen Anweisungen wird außerdem angenommen, dass die serverrelative URL zum Datenquellenrepository /BICenter/Data Connections for PerformancePoint/ lautet. Wenn dies nicht der Konfiguration entspricht, bearbeiten Sie die URL in der SampleFilterEditor.PopulateDataSourceDropDown-Methode. Je nach Konfiguration benötigt die URL keinen Vorwärtsschrägstrich.

  6. Fügen Sie auf dem Anwendungsserver die Beispielassembly (Microsoft.PerformancePoint.SDK.Samples.dll) dem globalen Assemblycache hinzu. Anweisungen hierzu finden Sie unter How to: Install an Assembly into the Global Assembly Cache.

  7. Kopieren Sie die ASPX-Seiten für den Editor aus den Ordnern SampleDataSource, SampleFilter und SampleReport in den Beispieldateien in den Ordner LAYOUTS im Pfad %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS.

  8. Kopieren Sie ppsmasdk.css aus den Beispieldateien in den Ordner STYLES im Pfad %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS\STYLES.

  9. Führen Sie die Schritte 1 bis 3 aus dem Verfahren "So fügen Sie Metadaten für ein benutzerdefiniertes Berichts-, Filter- oder Datenquellenobjekt hinzu" unter Gewusst wie: Manuelles Registrieren von PerformancePoint-Dienste-Erweiterungen aus. Mit diesem Verfahren wird eine Sicherungskopie der Datei web.config für PerformancePoint Services erstellt, und dann wird Code hinzugefügt, mit dem das Registrieren benutzerdefinierter Objekte unterstützt wird.

  10. Zum Registrieren der Beispielobjekte für Berichte, Filter und Datenquellen fügen Sie den folgenden Code in das CustomFCOGroup-Element ein.

    <CustomFCO type="DataSource" subType="WSTabularDataSource">
        <Resources FCOName="Custom Data Source" FCODescription="This is my custom data source." />
        <EditorURI uri="/_layouts/SampleDataSourceEditor.aspx" />
    </CustomFCO>
    <CustomFCO type="Filter" subType="SampleFilter">
        <Resources FCOName="Custom Filter" FCODescription="This is my custom filter." />
        <RendererClass name="Microsoft.PerformancePoint.Scorecards.ServerRendering.MultiSelectTreeViewControl, 
        Microsoft.PerformancePoint.Scorecards.ServerRendering, Version=14.0.0.0,
        Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
        <EditorURI uri="/_layouts/SampleFilterEditor.aspx" />
    </CustomFCO>
    <CustomFCO type="ReportView" subType="SampleReportView">
        <Resources FCOName="Custom Report" FCODescription="This is my custom report."/>
        <RendererClass name="Microsoft.PerformancePoint.SDK.Samples.SampleReport.SampleReportRenderer,
        Microsoft.PerformancePoint.SDK.Samples, Version=14.0.0.0,
        Culture=neutral, PublicKeyToken=fa525c8383a44a52" />
        <EditorURI uri="/_layouts/SampleReportViewEditor.aspx" />
    </CustomFCO>
    
  11. Zum Registrieren des Beispiel-Datenquellenanbieters fügen Sie den folgenden Code in das CustomDataSourceProviders-Element ein.

    <add key="WSTabularDataSource" value="Microsoft.PerformancePoint.SDK.Samples.SampleDataSource.WSTabularDataSourceProvider,
    
        Microsoft.PerformancePoint.SDK.Samples, Version=14.0.0.0, Culture=neutral,
    
        PublicKeyToken=fa525c8383a44a52" />
    
  12. Zum Registrieren des Beispiel-Filterdatenanbieters fügen Sie den folgenden Code in das CustomParameterDataProviders-Element ein.

    <add key="SampleFilterDataProvider" value="Microsoft.PerformancePoint.SDK.Samples.SampleFilter.SampleFilterDataProvider,
    
        Microsoft.PerformancePoint.SDK.Samples, Version=14.0.0.0, Culture=neutral,
    
        PublicKeyToken=fa525c8383a44a52" />
    
  13. Speichern und schließen Sie die Datei web.config.

  14. Abhängig von der Entwicklungsumgebung müssen Sie möglicherweise Internetinformationsdienste (IIS) neu starten.

Wenn Sie das Beispiel installiert haben, können Sie mit dem PerformancePoint Dashboard-Designer Instanzen der Beispielobjekte für Datenquellen, Filter und Berichte erstellen. (Erstellen Sie zuerst die Beispieldatenquelle, damit Sie diese als Datenquelle für den Filter auswählen können.) Klicken Sie auf jeden Fall im Berichts-Editor auf OK, um die Berichtsendpunkte zu initialisieren, und aktualisieren Sie Dashboard-Designer, um die aktualisierten Versionen der benutzerdefinierten Objekte abzurufen.) Fügen Sie dann den Filter und den Bericht einem Dashboard hinzu, und verbinden Sie diese, indem Sie Sample Report View EndPoint als Berichtsendpunkt und Symbol als Quellwert für den Filteranfangspunkt auswählen. Weitere Informationen zur Verwendung des Dashboard-Designers finden Sie auf der Office-Website.

Siehe auch

Konzepte

Editoren für benutzerdefinierte PerformancePoint Services-Objekte

Codebeispiel: Benutzerdefinierte Scorecardtransformationen

Weitere Ressourcen

Erstellen von Berichtserweiterungen für PerformancePoint Services

Erstellen von Filtererweiterungen für PerformancePoint Services

Erstellen von tabellarischen Datenquellenerweiterungen für PerformancePoint Services