PerformancePoint Services フィルター

最終更新日: 2011年8月30日

適用対象: SharePoint Server 2010

この記事の内容
PerformancePoint Services でのフィルタリング処理
フィルターのデータ
フィルター接続
フィルター選択コントロール

Microsoft SharePoint Server 2010 の PerformancePoint Services では、通常、フィルターは Web サーバー コントロールとしてダッシュボード ページに表示されます。フィルター コントロールは、標準の SharePoint 接続インターフェイスを実装している Web パーツに表示されます。コントロールを使用することでユーザーはパラメーターの値を選択でき、選択された値は接続されているスコアカードとレポートに送信されます。

適用先: PerformancePoint Services for SharePoint Server (Enterprise バージョン)

PerformancePoint Services のフィルターの詳細については、以下のセクションを参照してください。

  • PerformancePoint Services でのフィルタリング処理

  • フィルターのデータ

  • フィルター接続

  • フィルター選択コントロール

PerformancePoint Services でのフィルタリング処理

ダッシュボードでのフィルタリング処理は次のように行われます。

  1. サーバーがフィルター Web パーツをダッシュボード ページに表示します。Web パーツは、リスト、ツリーなどの Web サーバー コントロールをホストします。

  2. フィルターのデータ プロバイダーが、基になっているデータ ソースに接続し、データを取得してデータ テーブル (表示データ テーブルと呼ばれます) に格納します。

  3. 取得されたデータを使用してフィルター コントロールが設定されます。

  4. ユーザーがフィルター コントロールから 1 つ以上の値を選択し、[OK] をクリックします。

  5. データ プロバイダーがユーザーの選択をデータ テーブル (メッセージ データ テーブルと呼ばれます) に格納します。

  6. フィルター コントロールがメッセージ データ (ユーザーが選択した値) をサーバーに送信します。

  7. サーバーが新しいクエリの結果をデータ ソースから取得し、更新されたデータをスコアボードおよびレポートのコンシューマーに送信します。

  8. サーバーがコンシューマーに新しいデータを表示します。

注意

フィルターは "表示条件" 情報を送信することもできます。表示条件は、接続されているコンシューマーの表示を制御します。フィルターの選択が表示条件の値と等しい場合、接続されているコンシューマーが表示されます。

フィルターのデータ

フィルターは、データ プロバイダーを使用して 2 つのデータセットを処理します。

  • 表示データは、接続ポイントを定義し、フィルター コントロールを設定するために使用されます。

  • メッセージ データは、フィルター コントロールでのユーザーの選択を表すために、フィルターによってコンシューマーに渡されます。

どちらのデータセットも、DataTable オブジェクトに列と行のマトリックスで格納されます。

表示データ

表示データは、フィルターの接続ポイントを定義し、フィルター コントロールを設定するために使用されます。表示データ テーブルは ParameterDefinition オブジェクトの DisplayValues プロパティに格納され、このオブジェクトはさらにフィルターの BeginPoints プロパティに格納されます。テーブルは GetDisplayDataInternal メソッドで初期化されます。

表示データ テーブルには、フィルターの基になっているデータ ソースからのデータが格納されます。CustomDefinition プロパティには、データの取得に必要な情報が含まれます。この情報は、クエリ文字列、URL、シリアル化されたオブジェクトなどのオブジェクトに格納できます。対象のデータ ソースは DataSourceLocation プロパティで定義されており、ネイティブにサポートされるデータ ソースまたはカスタム データ ソースを指定できます。表示データの構成については、「フィルター接続」を参照してください。

メッセージ データ

ユーザーがフィルター コントロールで選択した値は、メッセージ データ テーブルに格納されます。メッセージ データは、クライアント側ブラウザー転送パケットで渡され、接続されているスコアカードおよびレポートのコンシューマーのクエリでパラメーター値として使用されます。その後、サーバーは新しいデータでコンシューマーを表示します。メッセージ データ テーブルを取得するには、GetMessageData メソッドを使用します。

フィルター接続

フィルターはプロバイダーであり、接続されているスコアカード コンシューマーおよびレポート コンシューマーにデータを送信します。ダッシュボードの作成者は、PerformancePoint ダッシュボード デザイナーでフィルターの開始ポイントをコンシューマーのエンドポイントにマッピングすることで、フィルターとコンシューマーの間の接続を定義します。エンドポイントはスコアカードまたはレポートのクエリでのパラメーターを表し、開始ポイントはパラメーターの値を表します。たとえば、フィルターでは North、South、East、West という地理的な地域を表示し、レポートではフィルターで選択された地域の利益を返すといったことができます。この例では、地域はレポートのクエリでのパラメーターであり、その値は具体的には定義されていません。レポートは、フィルターからパラメーターの値を取得して、クエリで使用する必要があります (North、South、East、または West)。

ParameterDefinition オブジェクトは、フィルター接続の開始ポイントを定義し、フィルター コントロールに設定する値のような、開始ポイントに対するソース データを含む表示データ テーブルを格納しています。開始ポイントの情報にアクセスするには、フィルターの BeginPoints プロパティを使用します。このプロパティは、1 つの ParameterDefinition オブジェクトを含む ParameterDefinitionCollection オブジェクトを返します。

注意

スコアカードは、プロバイダーとコンシューマーの両方の機能を持ち、フィルターからデータを受信することも、レポートにデータを送信することもできます。フィルターの開始ポイントが格納できる ParameterDefinition オブジェクトは 1 つだけですが、スコアカードの開始ポイントは、通常、複数の ParameterDefinition オブジェクトを含みます。

キー フィールドと表示フィールドの指定

フィルターのデータ プロバイダーでは、表示データ テーブルの列の使用方法が定義されています。少なくとも、キー フィールドおよび表示フィールドとして使用する列が定義されている必要があります。1 つの列をキー フィールドと表示フィールドの両方として使用できます。

  • キー フィールドには、キー (行ロケーター) として使用する値が含まれます。

  • 表示フィールドには、フィルター コントロールに設定する値が含まれます。

さらに、データ プロバイダーでは、テーブルの他の列の使用方法も定義できます。たとえば、テーブルの 1 列目はキー フィールドとして定義し、2 列目は表示フィールドとして定義し、他の列は無視するか、または他の列に基づく追加機能を定義する、といったことができます。これらの指定は開発の間に定義する必要があり、ダッシュボードの作成時に再構成することはできません。

使用できる接続ポイントの指定

フィルターがコンシューマーに送信できる値は、表示データ テーブルの 1 つの列からのものです。このソース列 (またはバインド列) は、ダッシュボードの作成者によって選択され、フィルターの接続ポイントを表します。

ダッシュボード デザイナーでは、表示データ テーブルの列のうち、ShowColumn 拡張プロパティが true に設定されているものが、フィルターに使用できる接続ポイントとしてダッシュボードの作成者に表示されます。これらの列は、[接続] ダイアログ ボックスの [ソース値] ボックス、またはダッシュボード ゾーンでフィルターの [選択可能なフィールド] セクションの下に表示されます。

注意

テーブルのすべての列について ShowColumn を true に設定する方法が示されているサンプルのデータ プロバイダーについては、「[方法] PerformancePoint Services フィルターのデータ プロバイダーを作成する」トピックの SetColumnVisibility メソッドを参照してください。

フィルター接続の例

この概要レベルの例では、開始ポイントの情報をフィルター接続で使用する方法を示します。

  1. 表示データ テーブルでは開始ポイントが定義されています。このテーブルには 3 つの列が含まれ、次のように構成されています。

    • CustomerId はキー フィールドとして指定されています。ShowColumn は false に設定されています。

    • DisplayName は表示フィールドとして指定されています。ShowColumn は true に設定されています。

    • AccountName にはフィールドの指定はありません。ShowColumn は true に設定されています。

    表 1. 表示データ テーブルの例

    CustomerId (キー)

    DisplayName (表示)

    AccountName

    19-001

    Tailspin Toys

    TailspinToys_R19

    19-002

    Wide World Importers

    WideWorldImporters_R19

    19-003

    Wingtip Toys

    WingtipToys_R19

  2. ダッシュボード デザイナー では、作成者がダッシュボード ページにあるフィルターおよびレポートへの接続を作成します。表示データ テーブルでは DisplayName と AccountName の ShowColumn プロパティが true に設定されているので、これら 2 つの列が選択可能な接続ポイントとしてフィルターに表示されます。

  3. 作成者は AccountName を接続ポイント (またはバインド ポイント) として選択します。これにより、フィルターがコンシューマーに送信できる値が含まれる表示データ テーブルの列として、AccountName が識別されます。

  4. 発行されたダッシュボード ページでは、フィルター コントロールに値 Tailspin Toys、Wide World Importers、および Wingtip Toys が設定されます。これらの値は、表示データ テーブルで表示フィールドとして指定されている DisplayName 列から取得されます。

  5. ユーザーがコントロールで Wingtip Toys を選択します。フィルターのデータ プロバイダーは、対応するキー (19-003) を使用してバインド列から値を検索し、コンシューマーに送信します (WingtipToys_R19)。

フィルター選択コントロール

PerformancePoint Services のダッシュボード ページでは、フィルター Web パーツが Web サーバー コントロールをホストします。フィルター コントロールでは、通常、列挙されたデータ値が表示され、ダッシュボードのユーザーは 1 つ以上の値を選択できます。コントロールには、レンダリング処理の間にデータが設定されます。

フィルターが使用するコントロールは、コントロールのレンダラー クラスによって識別されます。フィルター タイプの既定のコントロールは、PerformancePoint Services web.config ファイルの RendererClass 属性によって指定されます。ただし、RendererClassName プロパティの方が、フィルター インスタンスに対する既定のコントロールより優先されます。したがって、作成者はフィルター エディターで別のランタイム レンダラーを指定できます。

カスタム フィルターでは、カスタムまたはサードパーティのコントロール、あるいは次のいずれかの PerformancePoint Services コントロールを使用できます。

注意

カスタム フィルター コントロールは、ParameterizableControl 基本クラスまたは ParameterSelectionControl 基本クラスのどちらかを使用できます。ParameterSelectionControl 基本クラスを使用することをお勧めします。これは、このクラスは ParameterizableControl 基本クラスから派生し、選択コントロールを実装するためのフレームワークを備えているためです。カスタム コントロールを作成する手順は、このドキュメントの範囲外ですが、プロセスは、レポート レンダラーの作成と似ています。

フィルターで PerformancePoint Services コントロールまたはカスタム コントロールのどちらを使用する場合でも、PerformancePoint Services web.config ファイルの RendererClass 属性で既定のレンダラー クラスを指定する必要があります。詳細については、「[方法] PerformancePoint Services の拡張機能を手動で登録する」を参照してください。

関連項目

概念

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

その他の技術情報

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

SharePoint Server 2010 の PerformancePoint Services のコード例

PerformancePoint のダッシュボード フィルターと接続の概要 (TechNet)