Page History
Anchor | ||||
---|---|---|---|---|
|
Table of Contents | ||
---|---|---|
|
概要
Styleclass | ||
---|---|---|
| ||
どのAPIを呼び出すよりも前に、Javascript APIを含めなくてはいけません。
Code Block | ||||
---|---|---|---|---|
| ||||
<script src="http://localhost/JsAPI" type="text/javascript"></script> |
バージョンパラメーターを使用することで、特定のバージョンのAPIが要求されることがあります。
Code Block | ||||
---|---|---|---|---|
| ||||
<script src="http://localhost/JsAPI?version=2.1" type="text/javascript"></script> |
APIのロードにブラウザを使用することができない場合、レポートやダッシュボードをロードするすべての呼び出しが失敗します。APIが正常にロードされるか検出したい場合、変数window.yellowfin が使用可能かどうかを確認します。
Code Block | ||||
---|---|---|---|---|
| ||||
<script src="http://localhost/JsAPI" type="text/javascript"></script> <script type="text/javascript"> if (!window.yellowfin) { alert('Error loading API'); } </script> |
サーバー情報
Styleclass | ||
---|---|---|
| ||
Expand | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||
|
例
Code Block | ||||
---|---|---|---|---|
| ||||
<script src="http://localhost/JsAPI" type="text/javascript"></script> <script type="text/javascript"> if (window.yellowfin) { alert('Yellowfin API loaded. Version: ' + yellowfin.apiVersion); } </script> |
レポートのロード
Styleclass | ||
---|---|---|
| ||
Code Block | ||||
---|---|---|---|---|
| ||||
yellowfin.loadReport(options); |
オプションは、「Javascript object」として関数に渡されます。こちらには、レポートをロードするレポート識別子、レポートをロードするHTML要素のelementId(または、elementそのもの)、レポートの表示方法を変更するその他のオプションが含まれます。使用可能なオプションは、以下の通りです。
Expand | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||
|
例
こちらの例は、ユニバーサルIDに指定された要素のレポートをロードし、初期表示オプションのいくつかを設定します。
Code Block | ||||
---|---|---|---|---|
| ||||
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); |
こちらの例は、匿名オプションオブジェクトを使用して、同様の処理を実行します。
Code Block | ||||
---|---|---|---|---|
| ||||
yellowfin.loadReport({ reportUUID: 'e5e5aaf3-c3b8-4f9b-8280-e21e4d848e63', elementId: 'myReport', showFilters: 'false', showSeries: 'false', display: 'chart', fitTableWidth: 'false' }); |
こちらの例は、IDではなく、elementを直接渡します。
Code Block | ||||
---|---|---|---|---|
| ||||
yellowfin.loadReport({ reportUUID: 'e5e5aaf3-c3b8-4f9b-8280-e21e4d848e63', element: document.getElementById('myReport') }); |
レポートフィルターのロード
Styleclass | ||
---|---|---|
| ||
Code Block | ||||
---|---|---|---|---|
| ||||
<script src="http://localhost/JsAPI" type="text/javascript"></script> <script src="http://localhost/JsAPI?api=reports" type="text/javascript"></script> |
「loadReportFilters」関数を呼び出します。
Code Block | ||||
---|---|---|---|---|
| ||||
yellowfin.reports.loadReportFilters(reportId, callback, arg); |
最初の引数は、レポート固有の識別子であり、「reportUUID」、または「reportId」のいずれかです。可能であれば、「reportUUID」の使用をお勧めします。二番目の引数は、コールバック関数であり、レポートフィルターのロード時に、APIにより呼び出されます。コールバック関数への最初の引数は、レポート内のフィルターの一覧です。コールバック関数への二番目の引数は、loadReportFilters関数へ提供される三番目の引数です(指定されている場合)。
コールバック関数への最初の引数として返されるフィルターオブジェクトは、レポート内で使用されるすべてのフィルターが格納された配列です。配列内の各要素は、フィルター情報を含むオブジェクトです。これらのフィルターオブジェクトは、以下のプロパティを含みます。
Expand | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||
|
例
こちらの例は、レポートフィルターをロードし、ユーザーに表示します。
Code Block | ||||
---|---|---|---|---|
| ||||
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」へ渡されます。
例:
Code Block | ||||
---|---|---|---|---|
| ||||
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 」関数に渡されるフィルター値は、上記のように単一の値に指定されていなくてはいけません。フィルターが一覧スタイルの場合、配列を使用して複数の値が設定されます。
Code Block | ||||
---|---|---|---|---|
| ||||
filterValues[filterUUID] = ['Australia', 'China', 'Italy']; |
フィルターが範囲スタイルの場合、配列を使用して、開始と終了の値が設定されます。
Code Block | ||||
---|---|---|---|---|
| ||||
filterValues[filterUUID] = [500, 600]; |
「loadReport」関数に渡される「options.filters 」要素は、「filterUUID」、または「filterId」のいずれかによりキーが付与された値を含まなければなりません。可能であれば、「filterUUID」の使用をお勧めします。
ダッシュボードのロード
Styleclass | ||
---|---|---|
| ||
Code Block | ||||
---|---|---|---|---|
| ||||
yellowfin.loadDash(options); |
オプションは、「Javascript object」として関数に渡されます。こちらには、ダッシュボードをロードするレポート識別子、ダッシュボードをロードするHTML要素のelementId(または、elementそのもの)、ダッシュボードの表示方法を変更するその他のオプションが含まれます。使用可能なオプションは、以下の通りです。
Expand | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||
|
例
こちらの例は、IDに指定された要素のダッシュボードをロードし、初期表示オプションのいくつかを設定します。
Code Block | ||||
---|---|---|---|---|
| ||||
var options = {}; options.dashUUID = '3b0b6c9a-9dfb-41f0-b85a-eb17bb8aeeb9'; options.elementId = 'myDash'; options.showFilters = 'false'; options.showExport = 'false'; yellowfin.loadDash(options); |
こちらの例は、 匿名オプションオブジェクトを使用して、同様の処理を実行します。
Code Block | ||||
---|---|---|---|---|
| ||||
yellowfin.loadDash({ dashUUID: '3b0b6c9a-9dfb-41f0-b85a-eb17bb8aeeb9', elementId: 'myDash', showFilters: 'false', showExport: 'false' }); |
こちらの例は、IDではなく、elementを直接渡します。
Code Block | ||||
---|---|---|---|---|
| ||||
yellowfin.loadDash({ dashUUID: '3b0b6c9a-9dfb-41f0-b85a-eb17bb8aeeb9', element: document.getElementById('myDash') }); |
ダッシュボードフィルターのロード
Styleclass | ||
---|---|---|
| ||
「yellowfin.dash.loadDashFilters」
関数を呼び出すことで、ダッシュボードが使用するフィルターをロードすることができます。こちらの関数を使用するためには、メインAPIと一緒に、ダッシュボードサブAPIをページにロードします。Code Block | ||||
---|---|---|---|---|
| ||||
<script src="http://localhost/JsAPI" type="text/javascript"></script> <script src="http://localhost/JsAPI?api=dash" type="text/javascript"></script> |
「loadDashFilters」
関数を呼び出します。
Code Block | ||||
---|---|---|---|---|
| ||||
yellowfin.dash.loadDashFilters(dashUUID, callback, arg); |
最初の引数は、ダッシュボード固有の識別子です。二番目の引数は、コールバック関数であり、ダッシュボードフィルターのロード時に、APIにより呼び出されます。コールバック関数への最初の引数は、ダッシュボード内のフィルターの一覧です。コールバック関数への二番目の引数は、loadReportFilters関数へ提供される三番目の引数です(指定されている場合)。
コールバック関数への最初の引数として返されるフィルターオブジェクトは、ダッシュボード、フィルターグループセパレーター内で使用されるすべての分析フィルターが格納された配列です。 配列内の各要素は、フィルター、またはフィルターグループ情報を含むオブジェクトです。 これらのフィルターオブジェクトは、以下のプロパティを含みます。
Expand | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||
|
例
こちらの例は、ダッシュボードフィルターをロードし、ユーザーに表示します。
Code Block | ||||
---|---|---|---|---|
| ||||
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」
関数へ渡されます。
例:
Code Block | ||||
---|---|---|---|---|
| ||||
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」関数に渡されるフィルター値は、上記のように単一の値に指定されていなくてはいけません。フィルターが一覧スタイルの場合、配列を使用して複数の値が設定されます。
Code Block | ||||
---|---|---|---|---|
| ||||
filterValues[key] = ['Australia', 'China', 'Italy']; |
フィルターが範囲スタイルの場合、配列を使用して、開始と終了の値が設定されます。
Code Block | ||||
---|---|---|---|---|
| ||||
filterValues[key] = ['500', '600']; |
「loadDash」
関数に渡される「options.filters」
要素は、「loadDashFilters」
関数から返されるキーが付与された値を含まなければなりません。
horizontalrule |
---|
Styleclass | ||
---|---|---|
| ||