...
Code Block | ||||
---|---|---|---|---|
| ||||
<script src="http://localhost/JsAPI" type="text/javascript"></script> <script type="text/javascript"> if (!window.yellowfin) { alert('Error loading API'); } </script> |
サーバー情報
APIロード後、利用できるようにばるサーバ情報があります。
...
title | こちらを展開する |
---|
...
yellowfin.apiVersion
...
サーバーで使用しているAPIのバージョンです。
...
yellowfin.baseURL
...
サーバー上のAPIに接続するために使用されるBase URLです。
...
yellowfin.serverInfo.releaseVersion
...
サーバーで実行しているYellowfinのリリースバージョンです(例:「6.1」)。
...
yellowfin.serverInfo.buildVersion
...
サーバーで実行しているYellowfinのビルドバージョンです(例:「20120601」)。
...
yellowfin.serverInfo.javaVersion
...
サーバーにインストールされているJavaのバージョンです。
...
yellowfin.serverInfo.operatingSystem
...
サーバーで実行しているOSです。
...
yellowfin.serverInfo.operatingSystemArch
...
サーバーのOSのアーキテクチャです。
...
yellowfin.serverInfo.operatingSystemVersion
...
サーバーのOSバージョンです。
...
yellowfin.serverInfo.schemaVersion
...
Yellowfin構成データベースのスキーマバージョンです。
例
...
<script src="http://localhost/JsAPI" type="text/javascript"></script>
<script type="text/javascript">
if (window.yellowfin) {
alert('Yellowfin API loaded. Version: ' + yellowfin.apiVersion);
}
</script>
レポートのロード
「yellowfin.loadReport 」関数を呼び出すことで、レポートがロードされます。
...
yellowfin.loadReport(options);
オプションは、「Javascript object」として関数に渡されます。こちらには、レポートをロードするレポート識別子、レポートをロードするHTML要素のelementId(または、elementそのもの)、レポートの表示方法を変更するその他のオプションが含まれます。使用可能なオプションは、以下の通りです。
...
title | こちらを展開する |
---|
オプション | 説明 |
|
|
|
|
|
|
|
|
|
|
| デフォルトでは、「 |
| デフォルトでは、「 |
| デフォルトでは、「 |
| デフォルトでは、「 |
| デフォルトでは、「 |
| デフォルトでは、「 |
| デフォルトでは、「 |
| デフォルトでは、囲み要素のディメンション(次元)から自動的に検出します。 |
| デフォルトでは、囲み要素のディメンション(次元)から自動的に検出します。 |
| デフォルトでは、「 |
| デフォルトでは、「 |
| デフォルトでは、「 |
| レポートに渡すフィルター値が格納されているオブジェクトに設定します。 |
| こちらを「 |
| こちらを「 |
例
こちらの例は、ユニバーサルIDに指定された要素のレポートをロードし、初期表示オプションのいくつかを設定します。
...
var options = {};
options.reportUUID = 'e5e5aaf3-c3b8-4f9b-8280-e21e4d848e63';
options.elementId = 'myReport';
options.showFilters = 'false';
options.showSeries = 'false';
options.display = 'chart';
options.fitTableWidth = 'false';
yellowfin.loadReport(options);
こちらの例は、匿名オプションオブジェクトを使用して、同様の処理を実行します。
...
yellowfin.loadReport({
reportUUID: 'e5e5aaf3-c3b8-4f9b-8280-e21e4d848e63',
elementId: 'myReport',
showFilters: 'false',
showSeries: 'false',
display: 'chart',
fitTableWidth: 'false'
});
こちらの例は、IDではなく、elementを直接渡します。
...
yellowfin.loadReport({
reportUUID: 'e5e5aaf3-c3b8-4f9b-8280-e21e4d848e63',
element: document.getElementById('myReport')
});
レポートフィルターのロード
「yellowfin.reports.loadReportFilters」関数を呼び出すことで、レポートが使用するフィルターをロードすることができます。こちらの関数を使用するためには、メインAPIと一緒に、レポートサブAPIをページにロードします。
...
<script src="http://localhost/JsAPI" type="text/javascript"></script>
<script src="http://localhost/JsAPI?api=reports" type="text/javascript"></script>
「loadReportFilters」関数を呼び出します。
...
yellowfin.reports.loadReportFilters(reportId, callback, arg);
最初の引数は、レポート固有の識別子であり、「reportUUID」、または「reportId」のいずれかです。可能であれば、「reportUUID」の使用をお勧めします。二番目の引数は、コールバック関数であり、レポートフィルターのロード時に、APIにより呼び出されます。コールバック関数への最初の引数は、レポート内のフィルターの一覧です。コールバック関数への二番目の引数は、loadReportFilters関数へ提供される三番目の引数です(指定されている場合)。
コールバック関数への最初の引数として返されるフィルターオブジェクトは、レポート内で使用されるすべてのフィルターが格納された配列です。配列内の各要素は、フィルター情報を含むオブジェクトです。これらのフィルターオブジェクトは、以下のプロパティを含みます。
...
title | こちらを展開する |
---|
プロパティ | 説明 |
| フィルターの固有識別子です。 |
| フィルターの数値識別子です。 |
| フィルターのネイティブデータタイプです。 |
| フィルターの説明です。 |
| フィルターで使用される演算子です。 |
| フィルターで使用される表示スタイルです。 |
| レポートの他のフィルターが、こちらのフィルターに従属している場合は、「true」に設定します。 |
| フィルターが「一覧」スタイル(複数の値を許可する)の場合は、「true」に設定します。 |
| フィルターが「範囲」スタイル(開始値と終了値が必要)の場合は、「true」に設定します。 |
| フィルターをドロップダウンリストとして表示する場合は、こちらのプロパティに使用可能なオプションの一覧が格納されます。 |
例
こちらの例は、レポートフィルターをロードし、ユーザーに表示します。
...
function filterCallback(filters) {
for (var i = 0; i < filters.length; i++) {
alert('Filter ' + filters[i].description + ' (' +
filters[i].filterUUID + '), display style: ' +
filters[i].display);
}
}
yellowfin.reports.loadReportFilters(
'e5e5aaf3-c3b8-4f9b-8280-e21e4d848e63', filterCallback);
こちらの関数は、使用可能なフィルターのロードに使用され、ページにロードされた際の、レポートの初期フィルター値を設定するために、「loadReportfunction」へ渡されます。
例:
...
function filterCallback(filters) {
var filterValues = {};
for (var i = 0; i < filters.length; i++) {
if (filters[i].description == 'Country') {
filterValues[filters[i].filterUUID] = 'Australia';
} else if (filters[i].description == 'Start Date') {
filterValues[filters[i].filterUUID] = '2011-01-01';
} else if (filters[i].description == 'Invoiced Amount') {
filterValues[filters[i].filterUUID] = 6400;
}
}
// set up other options to load the report
var options = {};
options.reportUUID = 'e5e5aaf3-c3b8-4f9b-8280-e21e4d848e63';
options.elementId = 'myReport';
// add the filter values
options.filters = filterValues;
// load the report
yellowfin.loadReport(options);
}
yellowfin.reports.loadReportFilters(
'e5e5aaf3-c3b8-4f9b-8280-e21e4d848e63', filterCallback);
「loadReport 」関数に渡されるフィルター値は、上記のように単一の値に指定されていなくてはいけません。フィルターが一覧スタイルの場合、配列を使用して複数の値が設定されます。
...
filterValues[filterUUID] = ['Australia', 'China', 'Italy'];
フィルターが範囲スタイルの場合、配列を使用して、開始と終了の値が設定されます。
...
filterValues[filterUUID] = [500, 600];
「loadReport」関数に渡される「options.filters 」要素は、「filterUUID」、または「filterId」のいずれかによりキーが付与された値を含まなければなりません。可能であれば、「filterUUID」の使用をお勧めします。
ダッシュボードのロード
「yellowfin.loadDash 」関数を呼び出すことで、ダッシュボードをロードします。
...
yellowfin.loadDash(options);
オプションは、「Javascript object」として関数に渡されます。こちらには、ダッシュボードをロードするレポート識別子、ダッシュボードをロードするHTML要素のelementId(または、elementそのもの)、ダッシュボードの表示方法を変更するその他のオプションが含まれます。使用可能なオプションは、以下の通りです。
...
title | こちらを展開する |
---|
...
dashUUID
...
必ず存在する必要があります。
ロードするダッシュボードを識別する固有のIDです。
...
elementId
...
elementId
、またはelement
のいずれかが、存在する必要があります。
ダッシュボードをロードするHTML要素のIDです。
...
element
...
elementId、または
element
のいずれかが、存在する必要があります。
ダッシュボードをロードするHTML要素です。
...
showTitle
...
デフォルトでは、「true」に設定されています。
こちらを「false」
に設定することで、ダッシュボード上部のタイトルバーが省略されます。タイトルバーに含まれるすべてのインタラクディブボタンも省略されます。
...
showInfo
...
デフォルトでは、「true」に設定されています。
こちらを「false」
に設定することで、タイトルバーの情報ボタンが省略されます。
...
showFilters
...
デフォルトでは、「true」に設定されています。
こちらを「false」
に設定することで、タイトルバーのフィルターボタンが省略されます。分析フィルターは表示されません。
...
showExport
...
デフォルトでは、「true」に設定されています。
こちらを「false」
に設定することで、タイトルバーのエクスポートボタンが省略されます。
...
height
...
デフォルトでは、ダッシュボード内のレポートのディメンション(次元)から自動的に設定します。
ダッシュボードの高さを上書きするためには、こちらに数値を設定します。ダッシュボードのレポートが多くのスペースを必要とする場合は、縦方向のスクロールバーが追加されます。
...
width
...
デフォルトでは、ログインユーザーの設定、またはシステム構成設定から自動的に設定されます。
ダッシュボードの幅を上書きするためには、こちらに数値を設定します。こちらを「auto」
に設定すると、囲み要素の幅全体を使用します。
...
filters
...
ダッシュボードに渡すフィルター値が格納されているオブジェクトに設定します。
...
username
...
こちらを「password
パラメーター」と共に設定することで、ダッシュボードをロードするときの特定のユーザーとして認証されます。ユーザーは制限されているダッシュボードを表示する前に、ログイン詳細を入力する必要がありません。
...
password
...
こちらを「username
パラメーター」と共に設定することで、ダッシュボードをロードするときの特定のユーザーとして認証されます。
例
こちらの例は、IDに指定された要素のダッシュボードをロードし、初期表示オプションのいくつかを設定します。
...
var options = {};
options.dashUUID = '3b0b6c9a-9dfb-41f0-b85a-eb17bb8aeeb9';
options.elementId = 'myDash';
options.showFilters = 'false';
options.showExport = 'false';
yellowfin.loadDash(options);
こちらの例は、 匿名オプションオブジェクトを使用して、同様の処理を実行します。
...
yellowfin.loadDash({
dashUUID: '3b0b6c9a-9dfb-41f0-b85a-eb17bb8aeeb9',
elementId: 'myDash',
showFilters: 'false',
showExport: 'false'
});
こちらの例は、IDではなく、elementを直接渡します。
...
yellowfin.loadDash({
dashUUID: '3b0b6c9a-9dfb-41f0-b85a-eb17bb8aeeb9',
element: document.getElementById('myDash')
});
ダッシュボードフィルターのロード
「yellowfin.dash.loadDashFilters」
関数を呼び出すことで、ダッシュボードが使用するフィルターをロードすることができます。こちらの関数を使用するためには、メインAPIと一緒に、ダッシュボードサブAPIをページにロードします。
...
<script src="http://localhost/JsAPI" type="text/javascript"></script>
<script src="http://localhost/JsAPI?api=dash" type="text/javascript"></script>
「loadDashFilters」
関数を呼び出します。
...
yellowfin.dash.loadDashFilters(dashUUID, callback, arg);
最初の引数は、ダッシュボード固有の識別子です。二番目の引数は、コールバック関数であり、ダッシュボードフィルターのロード時に、APIにより呼び出されます。コールバック関数への最初の引数は、ダッシュボード内のフィルターの一覧です。コールバック関数への二番目の引数は、loadReportFilters関数へ提供される三番目の引数です(指定されている場合)。
コールバック関数への最初の引数として返されるフィルターオブジェクトは、ダッシュボード、フィルターグループセパレーター内で使用されるすべての分析フィルターが格納された配列です。 配列内の各要素は、フィルター、またはフィルターグループ情報を含むオブジェクトです。 これらのフィルターオブジェクトは、以下のプロパティを含みます。
...
title | こちらを展開する |
---|
プロパティ | 説明 |
| こちらのフィルター、またはフィルターグループの固有キーです。 |
| こちらのオブジェクトがフィルターグループを表す場合は、「 |
| こちらのフィルター、またはフィルターグループの説明です。 |
| フィルターグループの場合は、グループの数値識別子です。 |
| フィルターグループの場合は、グループが現在オープンの場合は、「 |
| フィルターの場合は、フィルターで使用される表示スタイルです。 |
| フィルターの場合は、ダッシュボードの他のフィルターが、こちらのフィルターに従属している場合、「 |
| フィルターの場合は、フィルターが「一覧」スタイル(複数の値を許可する)の場合、「 |
| フィルターの場合は、フィルターが「範囲」スタイル(開始値と終了値が必要)の場合、「 |
| フィルターの場合は、フィルターがドロップダウンリストとして表示される場合、こちらのプロパティに使用可能なオプションのリストが格納されます。 |
例
こちらの例は、ダッシュボードフィルターをロードし、ユーザーに表示します。
...
function filterCallback(filters) {
for (var i = 0; i < filters.length; i++) {
alert('Filter ' + filters[i].description + ' (' +
filters[i].key + '), display style: ' +
filters[i].display);
}
}
yellowfin.reports.loadReportFilters(1234, filterCallback);
こちらの関数は、使用可能なフィルターのロードに使用され、ページにロードされた際の、ダッシュボードの初期フィルター値を設定するために、「loadDash」
関数へ渡されます。
例:
...
function filterCallback(filters) {
var filterValues = {};
for (var i = 0; i < filters.length; i++) {
if (filters[i].description == 'Country') {
filterValues[filters[i].key] = 'Australia';
} else if (filters[i].description == 'Start Date') {
filterValues[filters[i].key] = '2011-01-01';
} else if (filters[i].description == 'Invoiced Amount') {
filterValues[filters[i].key] = 6400;
}
}
// set up other options to load the dashboard
var options = {};
options.dashUUID = '3b0b6c9a-9dfb-41f0-b85a-eb17bb8aeeb9';
options.elementId = 'myDash';
// add the filter values
options.filters = filterValues;
// load the dashboard
yellowfin.loadDash(options);
}
yellowfin.dash.loadDashFilters('3b0b6c9a-9dfb-41f0-b85a-eb17bb8aeeb9', filterCallback);
「loadDash」関数に渡されるフィルター値は、上記のように単一の値に指定されていなくてはいけません。フィルターが一覧スタイルの場合、配列を使用して複数の値が設定されます。
...
filterValues[key] = ['Australia', 'China', 'Italy'];
フィルターが範囲スタイルの場合、配列を使用して、開始と終了の値が設定されます。
...
filterValues[key] = ['500', '600'];
「loadDash」
関数に渡される「options.filters」
要素は、「loadDashFilters」
関数から返されるキーが付与された値を含まなければなりません。