ヒント
- 囲み要素は、「
div」
などのブロックレベル要素でなくてはいけません。 囲み要素に、「パディング」や「境界線」を使用することはできません。レポート、またはダッシュボードで、境界線やパディングを使用する場合は、その要素を、パディングや境界線を使用する別の要素で囲まなくてはいけません。例:
<div style="padding: 10px; border: 1px solid black;"> <div id="myReport"> </div> </div> <script type="text/javascript"> yellowfin.loadReport({reportUUID: 'e5e5aaf3-c3b8-4f9b-8280-e21e4d848e63', elementId: 'myReport' }); </script>
基本的な方法を使用しており、elementIdをAPIに渡さない場合、囲み要素は自動的に作成されます。スクリプトタグは、パディング、または境界線スタイルが適用された別の要素で囲むことができます。例:
<div style="padding: 10px; border: 1px solid black;"> <script type="text/javascript" src="http://localhost/JsAPI?reportUUID=e5e5aaf3-c3b8-4f9b-8280-e21e4d848e63&width=500&width=350"></script> </div>
- レポートの場合、囲み要素の高さや幅は固定されていなくてはいけません。
グラフのみのレポートの場合、グラフは囲み要素内に収まるように描画されます。レポートが要素内に収まらない場合は、残りのページレイアウトに影響しないように、スクロールバーが含まれます。
要素に固定の高さや幅を含めない場合、ブラウザがレポートのレイアウト方法を選択します。これはつまり、ユーザーによりクリックされたオプションに応じて、レポートの大きさが変化する可能性があることを意味します。こちらの方法が、適切な場合もあります。 - Javascript APIのURLに、すべてのエンドユーザーがアクセスできるようにします。
localhost
やプライベートIPアドレスの使用は避けてください。 - HTMLの構造は、できるだけ最適化してください。例えば、
<body>
タグを使用しない場合、APIで問題が発生する可能性があります。
トラブルシューティング
前述の通り、「
window.yellowfin」
変数を確認することで、Javascript APIが正常にロードされたかどうかを確認することができます。例えば、基本的な方法を使用している場合は、以下のようになります。
<script src="http://localhost/JsAPI?reportUUID=e5e5aaf3-c3b8-4f9b-8280-e21e4d848e63&width=500&height=500" type="text/javascript"></script> <script typt="text/javascript"> if (!window.yellowfin) { alert('Error loading API'); } </script>
高度な方法を使用している場合は、以下のコードを使用して、レポート、またはダッシュボードのロードを試みるかどうかを決定することができます。
<script src="http://localhost/JsAPI" type="text/javascript"></script> <script typt="text/javascript"> if (window.yellowfin) { yellowfin.loadReport({reportUUID: 'e5e5aaf3-c3b8-4f9b-8280-e21e4d848e63', elementId: 'myReport' }); } else { alert('Error loading API'); } </script>
API使用時に発生するエラーは一般的に、Javascriptのアラートを介して表示されます。これには、エラーの説明が含まれます。頻出のエラーは、以下の通りです。
エラー | 説明 |
リクエストされたAPIのバージョンはサポートされていません | サーバーは、リクエストされたAPIバージョンをサポートしていません。 |
reportUUIDが指定されていません |
|
レポートが見つかりませんでした |
|
レポートがロードされていません | ロードされていないレポートで、操作が試行されました。 |
レポートはドラフト(編集中)モードです | 指定されたレポートは、ドラフト(編集中)モードです。Javascript APIを介してアクセスできるのは、有効化されたレポートのみです。 |
ユーザーはこのレポートへのアクセス権がありません | ログインしているユーザーは、リクエストされたレポートへのアクセス権がありません。 |
無効なコマンドが指定されました | APIに対して無効なリクエストが発行されました。 |
レポートをロード中にエラーが発生しました | APIコマンド実行中に、サーバー側でエラーが発生しました。より詳細な情報は、Yellowfinのサーバーログを確認してください。 |
dashUUIDが指定されていません |
|
ダッシュボードが見つかりませんでした |
|
ユーザーはこのダッシュボードへのアクセス権がありません | ログインしているユーザーは、リクエストされたダッシュボードへのアクセス権がありません。 |
ダッシュボードはドラフト(編集中)モードです | 指定されたダッシュボードは、ドラフト(編集中)モードです。Javascript APIを介してアクセスできるのは、有効化されたダッシュボードのみです。 |