iKnow KPI と DeepSee のダッシュボード
DeepSee ダッシュボード・テクノロジでは、エンド・ユーザ向けの Web ベース・ダッシュボードを作成できます。限定的な名前にもかかわらず、このダッシュボードは DeepSee ユーザのみに限定されるものではなく、DeepSee のデータ項目以外のデータも表示できます。他の項目としては、ダッシュボードに iKnow KPI (重要業績評価指標) を表示できます。
通常、KPI は、ダッシュボード上で実行および表示が可能なクエリで、ダッシュボードが表示されたときに、クエリが実行されます。iKnow KPI では、iKnow ObjectScript クエリを使用します。
このセクションでは、iKnow KPI の作成方法とダッシュボードへの表示方法について説明します。以下のトピックについて説明します。
DeepSee キューブ内での iKnow データ使用のついての詳細は、"DeepSee 上級モデリング・ガイド" を参照してください。(あるいは、キューブの統合の古い形式の詳細は、付録 “DeepSee キューブの統合 (非推奨フォーム)” を参照してください。)
KPI 用語
KPI では、クエリによって返される各行は、KPI の独立した系列になります。以下の図は、KPI のいくつかの系列を示しています (この章で後述する KPI テスト・ページに表示されています)。系列名は、[KPI 値] テーブルの最初の列に示されます。
iKnow KPI の場合、(既定では) 系列名は、クエリが返した最初の列の値になります。
KPI には、プロパティも含まれ、そのそれぞれが返されるデータの列に対応します。前述の例では、KPI は 5 つのプロパティを持っています。iKnow KPI を定義する際に、これらのプロパティ名とその順序をオーバーライドできます。
KPI クエリにはパラメータを含めることができます。これらは KPI フィルタと呼ばれます。なぜなら、これらは通常 (ただし、常時ではありません)、KPI が返した値をフィルタするからです。KPI テスト・ページには、利用可能な KPI フィルタがすべて表示されます。iKnow KPI メカニズムは、任意の iKnow KPI に対して一連の KPI フィルタを自動的に提供します。
また、KPI は、カスタム・コードを実行するアクションも定義できます。KPI をダッシュボードに追加する際は、これらのアクションを実行するためのコントロールをダッシュボードに追加できます。ページングを使用するクエリに基づく iKnow KPI の場合、その KPI では [前のページ] および [次のページ] アクションが定義されます。
iKnow クエリを使用する KPI の定義
iKnow クエリを使用する KPI を定義するには、以下の手順を実行します。
-
以下のクラスの 1 つを拡張するクラスを作成します。
-
%iKnow.DeepSee.GenericKPIOpens in a new tab — ほとんどのクエリには、これを使用します。次の手順でクエリを指定します。
-
%iKnow.DeepSee.SourceListFilterKPIOpens in a new tab — これを使用して、ソースに関する情報を表示します。この場合は、システムは %iKnow.Queries.SourceAPIOpens in a new tab の GetByEntities() または GetByDomain() メソッドを使用します。
-
-
このクラスでは、使用する iKnow ドメインを指定します。これを実行するには、以下のいずれかを実行します。
-
ドメインの整数 ID を指定します。これを実行するには、IKDOMAINID クラス・パラメータをオーバーライドして、iKnow ドメインの整数 ID に設定します。
-
ドメインを定義する DeepSee キューブと iKnow メジャーを指定します。これを実行するには、以下のクラス・パラメータをオーバーライドします。
-
IKCUBENAME : DeepSee キューブの論理名と同じです。
-
IKMEASURENAME : 指定されたキューブ内の iKnow メジャーのローカル名と同じです。
この手法は、DeepSee キューブの統合を使用している場合にのみ可能です。詳細は、"DeepSee 上級モデリング・ガイド" を参照してください。
-
-
-
また、使用したスーパークラスに応じて、以下のクラス・パラメータをオーバーライドします。
-
IKPAGESIZE — 任意のページに表示される行の数と等しくなります。既定値は 10 です。
DeepSee ダッシュボード内で、これはダッシュボード・ウィジェットでページごとに表示される行数に影響を与えます。
-
IKQUERYCLASS — (%iKnow.DeepSee.GenericKPIOpens in a new tab のサブクラスを作成する場合のみ) iKnow API の完全なパッケージおよびクラス名と等しくなります。ObjectScript API に属する API クラスの 1 つを使用します。例 : %iKnow.Queries.EntityAPIOpens in a new tab
-
IKQUERYNAME — (%iKnow.DeepSee.GenericKPIOpens in a new tab のサブクラスを作成する場合のみ) そのクラスのメソッド名と等しくなります。
-
-
以下のような XData ブロックをクラスに追加します。これにより、KPI の論理名と表示名を指定します。
/// This XData definition defines the KPI. XData KPI [ XMLNamespace = "http://www.intersystems.com/deepsee/kpi" ] { <kpi name="MyKPI" displayName="My KPI"> </kpi> }
必要に応じて name および displayName の値を指定します。name にはスペースや句読点を含めることはできません。displayName の値はローカライズ可能です。displayName は省略することができ、既定では name が使用されます。
後述のサブセクション “KPI プロパティのオーバーライド” も参照してください。
-
クラスをコンパイルします。
オプションとして KPI テスト・ページを使用します。現在スタジオでクラスを表示している場合は、[表示]→[ウェブページ] をクリックします。
KPI をテストするには、[フィルタ] セクションのドロップダウン・リストを使用します。次に [クエリ送信] をクリックします。
これらのドロップダウン・リストには、利用可能な KPI フィルタがすべて表示されます。次のサブセクションを参照してください。
利用可能な KPI フィルタ
KPI のクエリには、パラメータを含めることができます。こうしたパラメータは KPI フィルタと呼ばれます。なぜなら、これらは通常 (ただし、常時ではありません)、KPI が返した値をフィルタするからです。iKnow KPI では、以下の KPI フィルタが自動的に提供されます。
-
使用しているクエリに対して意味のある iKnow クエリ・パラメータのサブセット (iKnow ドメイン ID といった一部のクエリ・パラメータは自動的に処理され、公開されません)
-
このドメインのすべてのパブリック iKnow ソース・メタデータ・フィールド
-
系列名として使用する列を指定するための NAMECOLUMN パラメータ
iKnow クエリの多くには、フィルタ適用後に実行する統計的な再処理を指定する filtermode 引数が含まれています。詳細は、このドキュメントに前述されている “フィルタ・モード” を参照してください。このようなクエリを直接使用する場合、既定の filtermode は、処理をまったく実行しない $$$FILTERONLY になります。
こうしたクエリを iKnow KPI として公開すると、filtermode 引数は常に $$$FILTERALLANDSORT と指定されるため、頻度と分散の統計は再計算されて、結果は再度並べ替えられます。したがって、filtermode の指定方法により、こうしたクエリを iKnow KPI として使用する場合は、これらを直接使用した場合とは結果が異なる可能性があります。
KPI プロパティのオーバーライド
既定では、%iKnow.DeepSee.GenericKPIOpens in a new tab に基づく任意の KPI は、クエリ結果と同じ名前を使用し、クエリ結果と同じ順序ですべての結果列を公開します。この順序や名前は変更することができ、列は非表示にすることができます。
それぞれの結果列は KPI プロパティです。ユーザが DeepSee ダッシュボードを作成すると、以下が表示されます。
-
既定では、ユーザが KPI に基づくピボット・テーブル・ウィジェットを追加すると、KPI で定義されているものと同じ順序と名前でプロパティが表示されます。
-
KPI に基づくスコアカード・ウィジェットを追加する場合は、ユーザが表示するプロパティを選択します。選択肢のドロップダウン・リストには、KPI で定義されているものと同じ順序と名前のプロパティが含まれます。
-
いずれの場合も、ユーザは KPI プロパティの順序や KPI プロパティに対して表示されるタイトルを変更できます。
KPI プロパティの順序や名前を変更したり、プロパティを非表示にするには、次のように XData ブロック内に一連の <property> 要素を追加します。
XData KPI [ XMLNamespace = "http://www.intersystems.com/deepsee/kpi" ]
{
<kpi name="MyKPI" displayName="My KPI">
<property name="entity" displayName="Entity" />
<property name="frequency" displayName="Frequency" />
<property name="spread" displayName="Spread" />
</kpi>
}
<property> では、name の値は、クエリが返すフィールドの名前と正確に一致することが必要です。displayName には、ユーザに表示される名前を使用します。<property> 要素を希望の順序でリストし、表示するプロパティをすべてリストします。
例
以下に KPI の例を示します。
Class GIKNOW.TopEntitiesKPI Extends %iKnow.DeepSee.GenericKPI
{
Parameter IKDOMAINID = 1;
Parameter IKPAGESIZE As %Integer = 10;
Parameter IKQUERYCLASS = "%iKnow.Queries.EntityAPI";
Parameter IKQUERYNAME = "GetTop";
/// This XData definition defines the KPI.
XData KPI [ XMLNamespace = "http://www.intersystems.com/deepsee/kpi" ]
{
<kpi name="TopEntities" displayName="Top Entities in iKnow domain 1" >
<property name="resultNumber" displayName="rank"/>
<property name="entity" displayName="entity"/>
<property name="entUniId" displayName="Id"/>
<property name="frequency" displayName="frequency"/>
<property name="spread" displayName="spread"/>
</kpi>
}
}
別の例は、この次のセクションの “iKnow KPI でのダッシュボードの例” を参照してください。
KPI を表示するダッシュボードの作成
KPI をユーザに利用可能にするには、KPI をダッシュボードに追加します。ユーザは、さまざまな方法でダッシュボードにアクセスできるようになります。詳細は、この章で後述される “ダッシュボードへのアクセス” を参照してください。
ダッシュボードの作成 : Basics
以下の手順は、KPI を表示するシンプルなダッシュボードの作成方法を簡単に説明しています。
-
[ホーム]→[DeepSee]→[ユーザ・ポータル] をクリックしてから、[ビュー] をクリックします。
ユーザ・ポータルが表示され、既存のパブリック・ダッシュボードとピボット・テーブルがこのネームスペースにリストされます。
-
[メニュー]→[新しいダッシュボード] をクリックします。
新しいダッシュボードに関する基本情報の入力を求めるダイアログ・ボックスが表示されます。
-
[ダッシュボード名] に値を入力します。
-
オプションで [フォルダ] の値を指定します。
-
[ページレイアウト] では、3 番目のオプション (ワークボックスなし) をクリックします。
-
[OK] をクリックします。
ダッシュボードの作成、保存、および表示が行われます。ダッシュボードは最初は空です。
-
ウィジェットを追加して KPI を表示します。そのためには、以下の操作を実行します。
-
[メニュー]→[新規ウィジェット追加...] をクリックします。
-
左の領域で、項目をクリックして選択肢リストを表示します。
ピボット・テーブル・ウィジェットまたはスコアカードのいずれかを選択します。
-
使用するウィジェットのタイプをクリックします。
-
[データソース] タブで、[データソース] の横にある検索ボタン をクリックします。
-
KPI の名前をクリックします。
-
[OK] をクリックします。
-
スコアカードを選択した場合は、“プロパティの構成” を参照してください。
-
[OK] をクリックして、ウィジェットを追加します。
-
-
ウィジェットのサイズを変更し、もう一度 [メニュー]→[保存] をクリックします。
-
構成オプションの詳細は、以下のサブセクションを参照してください。
結果は以下のようになります。
この章の最後のセクションに、追加情報へのリンクが示されています。
系列名の変更
iKnow KPI をピボット・テーブル・ウィジェットに表示すると、行の名前として系列名が使用されます。既定では、返り値の最初の列が系列名に使用されますが、これはこのシナリオでは役に立たないかもしれません。例えば、以下の KPI では、最初の列は結果番号です。
系列名として別の列を選択するには、以下の手順に従います。
-
ウィジェットの再構成ボタン をクリックします。
-
[コントロール] タブをクリックします。
-
テーブルの右側の追加ボタン をクリックします。このテーブルは最初は空です。
-
[タイプ] で [隠し] を選択します。
-
[アクション] で、[フィルタ] を選択します。
-
[フィルタ] で、[系列名列] を選択します。
-
[デフォルト値] で、追加ボタン をクリックします。
-
使用する列の名前を選択します (例えば、ここで示された KPI の [entity])。
-
[OK] をクリックして、既定値を追加します。
-
[OK] をクリックして、コントロールを追加します。
-
[OK] をクリックして、ウィジェットの再構成を完了します。
これで行名が変更されました。以下はその例です。
プロパティの構成
KPI をウィジェットに表示する際は、そのウィジェットに表示されるプロパティの再構成が必要な場合があります。
-
スコアカード・ウィジェットの場合は、プロパティを構成する必要があります。既定では、列は表示されません。
-
ピボット・テーブル・ウィジェットの場合は、プロパティの構成が必要になる可能性があります。既定では、すべての列が表示されます。
プロパティを構成する手順は次のとおりです。
-
ウィジェットの再構成ボタン をクリックします。
-
[データのプロパティ] タブをクリックします。
このタブで、KPI のプロパティ (または列) を指定します。
-
プロパティを構成するには、追加ボタン をクリックします。
-
[データ値] で、ドロップダウン・リストから値を選択します。これには、KPI の結果列がリストされています。
-
オプションとして、[ラベル] にキャプションを入力します。
-
オプションとして、[形式] に形式文字列を入力します。既定では、数値は、ロケールで使用する 1000 単位の区切り文字を使用して表示されます。1000 単位の区切り文字を使用しないで数字の形式にするには、[形式] に「#」と入力します。
-
[OK] をクリックします。
KPI のそれぞれの結果列を追加すると、KPI に応じて、ダイアログ・ボックスは次のようになります。
-
[OK] をクリックして、再構成を完了します。
iKnow KPI でのダッシュボードの例
SAMPLES ネームスペースでは、iKnow KPI を表示するダッシュボードの例が用意されています。このダッシュボードを表示するには、以下の手順に進みます。
-
管理ポータルで、SAMPLES ネームスペースにアクセスします。
-
[ホーム]→[DeepSee]→[ユーザ・ポータル] をクリックしてから、[ビュー] をクリックします。
ユーザ・ポータルが表示され、既存のパブリック・ダッシュボードとピボット・テーブルがこのネームスペースにリストされます。
-
[Aviation event reports] をクリックします。
要求されたダッシュボードがシステムで表示されます。
このダッシュボードでは、[イベント・レポートの上位概念] ウィジェットに iKnow KPI が表示されます。このウィジェットは以下のように表示されます。
このウィジェットには、Aviation.KPI.TopConceptsOpens in a new tab クラスに定義された KPI が表示されます。
ダッシュボードへのアクセス
ダッシュボードは、さまざまな方法でユーザに提供できます。
-
Zen ページの iFrame にダッシュボードを埋め込むことができます。これを行うには、以下のような行を <iframe> 定義内に含めます。
src="_DeepSee.UserPortal.DashboardViewer.zen?DASHBOARD=Tutorial/My First Dashboard.dashboard"
この例で、Tutorial はダッシュボードを含むフォルダの名前、My First Dashboard はダッシュボードの名前です。
-
アプリケーションによってダッシュボードへの直接リンクを提供できます。
-
ダッシュボードを表示可能なユーザ・ポータルを作成できます。DeepSee ユーザ・ポータルを使用するか、または独自のポータルを作成できます。
DeepSee ユーザ・ポータルは、(スタジオや管理ポータルなどのバックエンド・ツールと対照的に) エンド・ユーザが直接使用することを目的としています。このポータルは、名前は限定的であるものの、一般的な使用 (そして一般的な外観) を目的としています。これには、“DeepSee” というラベルが付いていません。
関連項目
-
Zen ページの詳細は、"Zen の使用法" を参照してください。
-
DeepSee ダッシュボードの作成に関する詳細は、"DeepSee ダッシュボードの作成" を参照してください。
-
アプリケーションからダッシュボードへのアクセスに関する詳細は、"DeepSee 実装ガイド" の “アプリケーションからダッシュボードへのアクセス” を参照してください。
-
ダッシュボード定義のクラスへのパッケージ化に関する詳細は、"DeepSee 実装ガイド" の “クラスへの DeepSee 要素のパッケージ化” を参照してください。
-
DeepSee ユーザ・ポータルおよびダッシュボードの詳細は、"DeepSee エンド・ユーザ・ガイド" を参照してください。