次の方法で共有


コード サンプル: カスタム レポート、フィルター、および表形式データ ソース オブジェクト

最終更新日: 2011年5月31日

適用対象: SharePoint Server 2010

適用先: PerformancePoint Services for SharePoint Server (Enterprise バージョン)
Microsoft SharePoint Server 2010 の PerformancePoint Services では、カスタム レポート、フィルター、表形式データ ソース オブジェクトのサンプルは、PerformancePoint Services SDK Reference Sample (英語) に含まれています。このサンプルは、PerformancePoint Services のカスタム レポート、フィルター、表形式のデータ ソースの拡張機能を作成する方法を示すために作成されています。サンプルには、外部 Web サービスから株価を取得するデータ ソース、ユーザーが値を表示する株価を指定できるようにするフィルター、フィルターで選択された株価の値を表示するレポートの例があります。

カスタム拡張機能のテンプレートとして、サンプルを使用することをお勧めします。サンプルは、リポジトリ操作 (作成や更新) の呼び出しを簡単にするヘルパー オブジェクトを含み、PerformancePoint Services でのプログラミングのベスト プラクティスを示します。サポートされている拡張機能の種類については、「PerformancePoint Services での開発シナリオ」を参照してください。

サンプル内のカスタム オブジェクト コンポーネント

サンプルには、カスタム オブジェクトに関連する以下のコンポーネントが含まれています。

  • レポート拡張機能

  • フィルター拡張機能

  • データ ソース拡張機能

  • ヘルパー オブジェクト

レポート、フィルター、およびデータ ソースの拡張機能には、レンダラーまたはプロバイダー コンポーネントと、エディター コンポーネントが含まれます。レンダラーは Web サーバー コントロールとして実装され、エディターは分離コード クラスを持つ ASPX ページとして実装されます。サンプル エディターは、DLL にコンパイルされるクラスの ASPX ページにエディターのプログラミング ロジックを定義する、SharePoint Server の開発手法に従います。

注意

サンプルのカスタム オブジェクトを開発コンピューターにインストールする方法については、「サンプルのレポート、フィルター、およびデータ ソース オブジェクトのインストール」を参照してください。

レポート拡張機能

サンプル レポートは、サンプル フィルターからデータを受信し、テーブルに株価情報を表示します。カスタム レポート拡張機能には、通常、レンダラー (必須) とエディターが含まれます。

サンプル レポートには以下のファイルが含まれます。

  • SampleReportRenderer.cs  Web パーツにサンプル レポートをレンダリングします。レンダラーは、HtmlTextWriter オブジェクトを使用して、レポート表示用の HTML を作成する Web サーバー コントロールです。

  • SampleReportViewEditor.aspx  エディターのユーザー インターフェイスを提供します。このユーザー インターフェイスは、フロントエンド Web サーバー上で動作し、Web サーバー コントロールを表示する ASPX ページです。ASPX ページは、HTML での Web サーバー コントロールを定義します。

  • SampleReportViewEditor.cs  ASPX ページに定義されるコントロールのロジックなど、エディター用のプログラミング ロジックを提供します。

詳細については、「PerformancePoint Services のレポートの拡張機能を作成する」を参照してください。

フィルター拡張機能

サンプル フィルターは、Web サービスまたは Microsoft Excel ブックから取得される株価情報を使用します。カスタム フィルター拡張機能には、通常、プロバイダー (必須)、レンダラー、およびエディターが含まれます。フィルターは、カスタムのレンダラーか標準の PerformancePoint Services レンダラーのどちらかを使用できます。この例では、PerformancePoint Services の複数選択ツリー コントロールを使用します。

サンプル フィルターには、以下のファイルが含まれます。

  • SampleFilterDataProvider.cs  カスタム フィルター用のデータ プロバイダーを定義します。このクラスは、フィルターのデータ ソースとの対話操作を処理します。

  • SampleFilterEditor.aspx  エディターのユーザー インターフェイスを提供します。このユーザー インターフェイスは、フロントエンド Web サーバー上で動作し、Web サーバー コントロールを表示する ASPX ページです。ASPX ページは、HTML での Web サーバー コントロールを定義します。

  • SampleFilterEditor.cs  ASPX ページに定義されるコントロールのロジックなど、エディター用のプログラミング ロジックを提供します。

詳細については、「PerformancePoint Services のフィルターの拡張機能を作成する」を参照してください。

データ ソース拡張機能

サンプル データ ソースは、Web サービスからの株価情報を提供します。カスタム データ ソース拡張機能には、通常、プロバイダー (必須)、エディターが含まれます。PerformancePoint Services は、表形式のデータ ソースのみをサポートします。

サンプル データ ソースには、以下のファイルが含まれます。

  • BasicTabularDataSourceProvider.cs  カスタム データ ソース プロバイダーによって実装されない、無効にされたメソッドを含みます。

  • SampleDataSourceEditor.aspx  エディターのユーザー インターフェイスを提供します。このユーザー インターフェイスは、フロントエンド Web サーバー上で動作し、Web サーバー コントロールを表示する ASPX ページです。ASPX ページは、HTML での Web サーバー コントロールを定義します。

  • SampleDataSourceEditor.cs  ASPX ページに定義されるコントロールのロジックなど、エディター用のプログラミング ロジックを提供します。

  • SampleDSCacheHandler.cs  株価情報を提供する、基になるデータ ソースを表します。このクラスは、キャッシュ ファイルから株価の値を取得し、それを Web サービスから取得された値で更新します。

  • WSTabularDataSourceProvider.cs  カスタム データ ソース プロバイダーを表します。

詳細については、「PerformancePoint Services の表形式のデータ ソースの拡張機能を作成する」を参照してください。

ヘルパー オブジェクト

PerformancePoint Services は、SharePoint リストをファースト クラス オブジェクト (FCO) のリポジトリとして使用します。また、データ ソースを SharePoint ドキュメント ライブラリに格納し、ダッシュボード、スコアカード、レポート、フィルター、主要業績評価指標 (KPI)、インジケーターを SharePoint リストに格納します。既定のリポジトリは、PerformancePoint データ接続ライブラリと PerformancePoint コンテンツ リストから構成されます。

サンプルには、カスタム オブジェクトの取得と更新、PerformancePoint Services データ ソースへのアクセスなど、エディターと PerformancePoint Services リポジトリ間の必須操作を簡単にするヘルパー オブジェクトが含まれています。またヘルパー オブジェクトは、サーバー ログと例外処理のフックを提供します。

注意

サンプル エディターは、フロントエンド Web サーバー上で実行されるため、BIMonitoringServiceApplicationProxy オブジェクトと SPDataStore オブジェクトを使用して、リポジトリ操作を実行します。詳細については、「カスタム PerformancePoint Services オブジェクトのエディター」を参照してください。

サンプルの以下のクラスが、ヘルパー オブジェクトを表します。

  • ExtensionRepositoryHelper.cs  リポジトリ ヘルパー オブジェクトの基本クラスを表します。

    • DataSourceRepositoryHelper.cs  PerformancePoint Services リポジトリのカスタム データ ソース オブジェクトを作成、取得、および更新します。このクラスは、サンプルのデータ ソース エディターによって使用されます。

    • FilterRepositoryHelper.cs  PerformancePoint Services リポジトリのカスタム フィルター オブジェクトを作成、取得、および更新します。このクラスは、サンプルのフィルター エディターによって使用されます。

    • ReportViewRepositoryHelper.cs  PerformancePoint Services リポジトリのカスタム レポート オブジェクトを作成、取得、および更新します。このクラスは、サンプルのレポート エディターによって使用されます。

  • IDataSourceConsumer.cs  FilterRepositoryHelper クラスおよび ReportViewRepositoryHelper クラスによって実装され、このクラスをデータ ソース コンシューマーと見なすインターフェイスを表します。

  • DataSourceConsumerHelper.cs  基になるデータ ソースのデータにアクセスし、使用します。このクラスは、サンプルのレポートとフィルターによって使用されます。

サンプルのレポート、フィルター、およびデータ ソース オブジェクトのインストール

サンプルのレポート、フィルター、およびデータ ソース オブジェクトをインストールするには、サンプル アセンブリのビルド、アセンブリのグローバル アセンブリ キャッシュへの登録、エディターとスタイル シート ファイルのコピー、拡張機能の PerformancePoint Services web.config ファイルへの登録を行う必要があります。これらのタスクを実行するには、PerformancePoint Services を実行しているコンピューターであるアプリケーション サーバー上に十分な管理権限が必要です。

注意

カスタム エディターを開くリダイレクト機能では、SharePoint Server 2010 構成に最上位レベル (ルート) のサイト コレクションが含まれている必要があります。

注意

完全なサンプルをインストールする方法についての説明は、サンプル ファイルに含まれています。

サンプル オブジェクトをインストールするには

  1. PerformancePoint Services SDK Reference Sample (英語) の圧縮 (.zip) ファイルをダウンロードします。このファイルには、カスタム レポート、フィルター、および表形式のデータ ソース コンポーネントが含まれています。

  2. コンピューター上のフォルダーに内容を抽出します。

  3. Visual Studio でサンプルを開きます。

  4. ソリューション エクスプローラーで、参照フォルダーを展開し、すべての不足しているプロジェクト参照を復元します。PerformancePoint Services アセンブリは、グローバル アセンブリ キャッシュのみにインストールされています。開発環境によっては、異なるディレクトリにそれらをコピーする必要があることがあります。グローバル アセンブリ キャッシュから PerformancePoint Services アセンブリをコピーすることの説明については、「開発シナリオで使用される PerformancePoint Services DLL」を参照してください。

    サンプルには、以下の PerformancePoint Services と SharePoint Server 2010 アセンブリへの参照が含まれます。

    • 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. サンプル アセンブリをビルドします。

    注意

    この手順は、サンプルに含まれている SDKSamples.snk ファイルでアセンブリを署名していることを前提とします。異なる厳密な名前キー ファイルを使用して、アセンブリの公開キー トークンを生成する場合は、この手順のサンプルの公開キー トークン (fa525c8383a44a52) を実際のキーで置換する必要があります。この手順ではさらに、データ ソース リポジトリに対するサーバー相対 URL が /BICenter/Data Connections for PerformancePoint/ であると仮定します。これが、使用中の構成と適合しない場合は、SampleFilterEditor.PopulateDataSourceDropDown メソッドで URL を編集してください。構成によっては、URL に先頭のスラッシュを指定する必要がない場合があります。

  6. アプリケーション サーバーで、グローバル アセンブリ キャッシュにサンプル アセンブリ (Microsoft.PerformancePoint.SDK.Samples.dll) を追加します。詳細については、「How to: Install an Assembly into the Global Assembly Cache」を参照してください。

  7. サンプル ファイルの SampleDataSource フォルダー、SampleFilter フォルダー、および SampleReport フォルダーにあるエディターの ASPX ページを、パス %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS の LAYOUTS フォルダーにコピーします。

  8. サンプル ファイルの ppsmasdk.css をパス %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS\STYLES の STYLES フォルダーにコピーします。

  9. [方法] PerformancePoint Services の拡張機能を手動で登録する」の「カスタムのレポート、フィルター、またはデータ ソース オブジェクト用のメタデータを追加するには」に記載された手順 1. から 3. を実行します。この手順では、PerformancePoint Services web.config ファイルのパックアップ コピーを作成し、コードを追加して、カスタム オブジェクトの登録をサポートします。

  10. サンプルのレポート、フィルター、およびデータ ソース オブジェクトを登録するには、以下のコードを CustomFCOGroup 要素に貼り付けます。

    <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. サンプルのデータ ソース プロバイダーを登録するには、以下のコードを CustomDataSourceProviders 要素に貼り付けます。

    <add key="WSTabularDataSource" value="Microsoft.PerformancePoint.SDK.Samples.SampleDataSource.WSTabularDataSourceProvider,
    
        Microsoft.PerformancePoint.SDK.Samples, Version=14.0.0.0, Culture=neutral,
    
        PublicKeyToken=fa525c8383a44a52" />
    
  12. サンプルのフィルター データ プロバイダーを登録するには、以下のコードを CustomParameterDataProviders 要素に貼り付けます。

    <add key="SampleFilterDataProvider" value="Microsoft.PerformancePoint.SDK.Samples.SampleFilter.SampleFilterDataProvider,
    
        Microsoft.PerformancePoint.SDK.Samples, Version=14.0.0.0, Culture=neutral,
    
        PublicKeyToken=fa525c8383a44a52" />
    
  13. web.config ファイルを保存し、閉じます。

  14. 環境によっては、インターネット インフォメーション サービス (IIS) を再起動する必要があることがあります。

サンプルをインストールしたら、PerformancePoint ダッシュボード デザイナーを使用して、サンプルのデータ ソース、フィルター、およびレポート オブジェクトのインスタンスを作成できます (最初にサンプルのデータ ソースを作成すると、それをフィルターのデータ ソースとして選択できます。必ず、レポート エディターで [OK] をクリックしてレポートのエンドポイントを初期化し、ダッシュボード デザイナー を更新してカスタム オブジェクトの更新バージョンを取得するようにしてください)。次にフィルターとレポートをダッシュボードに追加します。次に、レポートのエンドポイントとしてサンプル レポート ビューのポイントを選択し、フィルター開始ポイントの元の値として記号を選択することによって、それらを接続します。ダッシュボード デザイナーの使用方法については、Office Web サイトを参照してください。

関連項目

概念

カスタム PerformancePoint Services オブジェクトのエディター

コード サンプル: カスタム スコアカード変換

その他の技術情報

PerformancePoint Services のレポートの拡張機能を作成する

PerformancePoint Services のフィルターの拡張機能を作成する

PerformancePoint Services の表形式のデータ ソースの拡張機能を作成する