ここでは、アプリケーションから InterSystems IRIS® Business Intelligence ダッシュボードとユーザ・ポータルにアクセスする方法を説明します。これらの接続は、Business Intelligence の実装プロセスの一環として確立します。
ダッシュボードへのアクセス
ダッシュボードにアクセスするには、以下の形式の URL を使用します。
http://localhost:52773/csp/samples/_DeepSee.UserPortal.DashboardViewer.zen?DASHBOARD=dashbdname.dashboard
localhost:52773 は InterSystems IRIS® が動作しているサーバおよびポート、samples はダッシュボードが定義されているネームスペース、dashbdname はダッシュボードの名前です (ダッシュボードが属しているフォルダがあれば、その名前を含みます)。
より一般的には、以下の形式の URL を使用します。
http://localhost:52773/csp/samples/_DeepSee.UserPortal.DashboardViewer.zen?parmstring&parmstring&parmstring...
parmstring はパラメータです。この後に等号記号と値が順に続きます。以下に例を示します。
DASHBOARD=Drill%20Options.dashboard
前に示したように、アンパサンド (&) を使用して、複数のパラメータ文字列を結合します。以下はその例です。
DASHBOARD=Drill%20Options.dashboard&NOMODIFY=1
URL のエンコード
特定の文字が URL を表すために予約されていますが、その他の文字は許可されていません。これに該当する文字を parmstring に含めるには、その文字を URL エンコードされたバージョンの文字に置き換えます (このエンコードはパーセント・エンコードと呼ぶこともあります)。以下の方法で、この処理を最も容易に実現できます。
-
予約されている文字または許可されていない文字を含む可能性のあるすべての文字列を特定します。
-
これに該当する文字列ごとに、以下を順番に実行します。
-
UTF-8 エンコードへの変換
-
URL エンコードされたバージョンの文字列を作成します。
これらの変換をサーバ上で実行している場合、$ZCONVERT や $TRANSLATE などの ObjectScript 関数を使用できます。以下に例を示します。
set UTF8db=$ZCONVERT(dashboardname,"O","UTF8")
set escapeddb=$ZCONVERT(UTF8db,"O","URL")
set url=baseurl_"DASHBOARD="_escapeddb
これらの変換をクライアント上で実行している場合、適切なクライアント関数を使用してください。例えば、クライアントが JavaScript を使用する場合は、encodeURI()Opens in a new tab 関数を使用します。
または、$TRANSLATE 関数などの他のロジックを使用します。頻繁に使用される文字のいくつかを以下に示します。
文字 |
URL エンコードされたバージョン |
スペース文字 |
%20 |
& |
%26 |
, |
%2C |
URL エンコードされた文字のリストはインターネット上で確認できます。1 つのリソースとして Wikipedia (https://en.wikipedia.org/wiki/Percent-encodingOpens in a new tab) が挙げられます。
SETTINGS パラメータのオプション
SETTINGS URL パラメータには、以下のリストに記載された設定を使用できます。SETTINGS 文字列はすべてのウィジェットに適用されるか、特定のウィジェットに適用されます。SETTINGS 文字列は必要なだけ含めます。以下はその例です。
basic_dashboard_url&SETTINGS=...;&SETTINGS=...;&SETTINGS=...;...;
Note:
InterSystems IRIS が SETTINGS パラメータを解析する際、すべてのセミコロンは 2 つの設定文字列の区切り記号と見なされます。セミコロンを区切り文字として扱われないように含めるには、そのセミコロンを %3B%3B に置き換えます (このシーケンスは、URL エンコードされた 2 つのセミコロンです。URL エンコードされた 2 つのセミコロンの使用は、解析処理の実行方法のために必要になります)。
TARGET
TARGET:widgetname
この一連の設定を適用するウィジェットを指定します。すべてのウィジェットに適用する設定が必要な場合、このパラメータは SETTINGS 文字列で省略します。
FILTER
FILTER:filter_name.filter_values
指定のウィジェットをフィルタ処理する方法を指定します。引数は、以下のようにターゲット・ウィジェットの詳細によって異なります。
シナリオ |
filter_name |
filter_values |
ターゲット・ウィジェットでピボット・テーブルを表示する |
[dimension].[hierarchy].[level] の URL エンコード・バージョン |
"設定の構成" の "指定可能なフィルタの既定値" に示されている、指定可能なフィルタ値の URL エンコードされたバージョン |
ターゲット・ウィジェットで KPI を表示する |
対象の KPI に定義されているフィルタ名の URL エンコードされたバージョン |
このフィルタに対して KPI で定義している指定可能値の URL エンコードされたバージョン |
URL エンコードされた文字列の作成の詳細は、"URL のエンコード" を参照してください。
メモ :
-
filter_name.filter_value の代わりに特殊なトークン $$$FILTERS を使用できます。これは、URL をカスタム・ナビゲート・アクション (特定のダッシュボードから別のダッシュボードにアクセスします。"別のダッシュボードの表示" を参照してください) で使用する場合に便利です。このシナリオでは、$$$FILTERS は元のダッシュボードの現在のフィルタ値によって置換されます。以下に例を示します。
FILTER:$$$FILTERS
ターゲット・ダッシュボードに同じフィルタが含まれます。
-
複数のフィルタ仕様を使用できます。そのためには、チルダ (~) でそれぞれを区切ります。以下はその例です。
FILTER:filterspec1~filterspec2
各 filterspec は filter_name.filter_values です。
-
同じフィルタの複数のメンバをまとめて使用するには、それらのメンバをリストするセット式を使用します。"設定の構成" の "指定可能なフィルタの既定値" を参照してください(SETTINGS 文字列に同じフィルタを複数回指定すると、最後に指定した値が使用されます。多くの場合、これは目的の動作ではありません)。
TARGET パラメータを指定せずに SETTINGS 文字列で FILTER パラメータを渡すと、"ディメンジョンが見つかりません" というエラーが発生する場合があります。これは、特定のウィジェットが、フィルタ処理の対象となるディメンジョンが欠如しているキューブに基づいているためです。
VARIABLE
VARIABLE:variable_name.variable_value
指定のピボット変数の値を指定します。ピボット変数の詳細は、"アナライザの使用法" の "ピボット変数の定義と使用" を参照してください。
variable_name.variable_value の代わりに特殊なトークン $$$VARIABLES を使用できます。これは、URL をカスタム・ナビゲート・アクション (特定のダッシュボードから別のダッシュボードにアクセスします。"別のダッシュボードの表示" を参照してください) で使用する場合に便利です。このシナリオでは、$$$VARIABLES は、元のダッシュボードで指定されている、指定されたピボット変数の現在の値に置換されます。以下はその例です。
VARIABLE:$$$VARIABLES
ROWCOUNT
ROWCOUNT:n
表示する行の最大数 (n) を指定します。これは、メンバが行として表示される場合にのみ適用されます。
COLCOUNT
COLCOUNT:n
表示する列の最大数 (n) を指定します。これは、メンバが列として表示される場合にのみ適用されます。
ROWSORT
ROWSORT:measure
行の並べ替えの基準にするメジャーを指定します。measure は、メジャーの MDX 識別子です。以下はその例です。
ROWSORT:[MEASURES].[mymeasure]
これらの識別子の角括弧は省略できません (Business Intelligence でのその他の MDX の使用法とは異なります)。
COLSORT
COLSORT:[MEASURES].[my measure]
列の並べ替えの基準にするメジャーを指定します。measure は、メジャーの MDX 識別子です。"ROWSORT" を参照してください。
ROWSORTDIR
ROWSORTDIR:sortkeyword
行の並べ替え方法を指定します。sortkeyword は以下のいずれかになります。
-
ASC — 昇順で並べ替えられますが、すべての階層は保持されます。
-
DESC — 降順で並べ替えられますが、すべての階層は保持されます。
-
BASC — 昇順で並べ替えられ、階層は保持されません。
-
BDESC — 降順で並べ替えられ、階層は保持されません。
COLSORTDIR
COLSORTDIR:sortkeyword
列の並べ替え方法を指定します。ROWSORTDIR を参照してください。
PORTLET
PORTLET:portlet_setting.value
ポートレット設定の値を指定します。これにより、その設定のすべての構成済み値が指定変更されます。他の SETTINGS オプションと同様に、この設定は、TARGET パラメータで指定されているすべてのウィジェットに適用されます (または、TARGET が指定されていない場合はすべてのポートレット・ウィジェットに適用されます)。
ここで、portlet_setting にはそのポートレットで定義されている設定の名前を指定し、value にはこの設定の許容値の URL エンコード・バージョンを指定する必要があります。URL エンコードされた文字列の作成の詳細は、このページで前述した "URL のエンコード" を参照してください。
複数のポートレット仕様を使用するには、それぞれの仕様をチルダ (~) で区切ります。次に例を示します。
PORTLET:portletspec1~portletspec2
各 portletspec は portlet_setting.value です。
ポートレットの定義については、"ダッシュボードで使用するポートレットの作成" を参照してください。
例を表示するには、[ウィジェットの例/カスタム・ポートレット] というダッシュボードを表示してから (丸い時計が表示されます)、次の文字列をブラウザ上の URL の末尾に追加します。
&SETTINGS=PORTLET:CIRCLE.0~SIZE.200
次に、Enter キーを押します。時計が四角形に変化して、以前よりもやや大きくなることを確認します。
例えば、以下はほとんどのウィジェットに対して列数を 3 に制限しますが、ウィジェット RegionVsYear に対しては列数を 1 に制限します。
&SETTINGS=TARGET:RegionVsYear;COLCOUNT:1;&SETTINGS=COLCOUNT:3;
Note:
これらの設定は、カスタム・ウィジェットやカスタム・コントロールではサポートされません。
アプリケーションから他の Business Intelligence ページへのアクセス
アプリケーションで、アナライザやユーザ・ポータルなどの他の Business Intelligence Web ページへの直接リンクを提供することもできます。
Business Intelligence Web ページの URL は、以下のような一般的な構造になります。
http://localhost:52773/csp/samples/_Package.Class
localhost:52773 は InterSystems IRIS が実行されているサーバとポート、samples は Business Intelligence が実行されているネームスペース、_Package.Class はページを定義するクラスとパッケージの名前で、パッケージ名の先頭はパーセント記号ではなくアンダースコアにします。アナライザや他の Business Intelligence ページにアクセスすると、この URL がツールバーまたはブラウザに表示されます。
これらのページで、対応する任意の URL パラメータを使用できます。このページで前述の "使用可能な URL パラメータ" を参照してください。アナライザの URL を使用する際は、表示するピボット・テーブルを指定する PIVOT URL パラメータも指定できます。次に例を示します。
http://localhost:52773/csp/samples/_DeepSee.UI.Analyzer.zen?PIVOT=Pivot%20Features%2FConditional%20Formatting.pivot
アナライザの URL を使用する場合に、AUTOSAVE URL パラメータを指定する一方で PIVOT パラメータを指定しない場合は、アナライザには一番最近に表示されたアイテムが表示されます。