ヒント
- 囲み要素は、
div
などのブロックレベル要素である必要があります。 - 上位要素にはパディングや境界線を使用できません。レポートまたはダッシュボードで境界線やパディングを使用する場合は、その要素を、パディングや境界線を使用する別の要素で囲む必要があります。例:
基本の方法を使用していて、elementIdをAPIに渡さない場合、囲み要素が自動的に作成されます。スクリプトタグは、パディングまたは境界線スタイルが適用された別の要素で囲むことができます。例:
<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>
<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アドレスの使用は避けてください。 - YHTMLの構造はできるだけ最適化してください。たとえば、{{<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を介してアクセスできるのはアクティブなダッシュボードのみです。 |