レポート APIは、レポートの状態を制御します。これには、現在のドリルの状態、並べかえ条件、フィルター値、適用されたその他のレポートインタラクションを含む、現在のレポートの状態に関する情報が含まれます。
レポート APIは、レポートの実際の実行も制御し、レポートの実行時にすべてのインタラクションをYellowfin サーバへ送信します。また、ユーザーアクション、または自動化された開発者アクションによりレポートに対してアクションが実行されると、APIは多数のイベントのトリガーになります。
レポートには複数のグラフを含めることができます。各グラフはchartId、およびchartUUIDを持ちます。chartIdは、レポートが編集され、再度公開されるたびに変更されますが、chartUUIDは常に同じです。chartIdを必要とするすべての関数は、同様にchartUUIDも受け付けますが、これは変更されることがないため、chartIdを渡す必要のあるすべての関数で、chartUUIDを使用することを推奨します。
また、レポートで最初に使用可能な「デフォルトグラフ」があります。使用可能なグラフとは、フィールドが割り当てられているグラフのことです。chartIdを必要とする関数にこれが渡されていない場合は、デフォルトグラフが使用されます。
グラフのプロパティを使用することで、レポート上のすべてのグラフにアクセスできます。
レポートには、複数のフィールドが含まれます。これらの各フィールドは、レポートのコンテキスト内で一意のIDを持ちます。このIDは、レポートが編集されても変更されることはありません。getFieldId(fieldName)という関数を使用することで、フィールド名を基に、フィールドIDを取得することができます。fieldIdを受け付ける関数の大部分はフィールド名を受け付けることもでき、渡された名前を基にfieldIdの検索を試みます。
フィールドのプロパティを使用することで、レポート上のすべてのフイールドにアクセスできます。
ドリルエニウェア、またはドリルダウンがフィールドに適用された場合、プロセスは次の通りです。
レポートにはカラム(列)がひとつだけとして、非常にシンプルなドリルの例を挙げます。スキーチームビュー(Yellowfinのチュートリアルコンテンツにバンドル)には、「Agency Type」というフィールドがあり、これには「Agency Name」を子フィールドとしてドリル階層が設定されています。「Agency Type」フィールドにドリルダウンが適用された場合、レポートロジックは、「Agency Name」フィールドへドリルダウンすることを把握しています。
レポートを最初に実行すると、SQLは次のようになります。
SELECT DISTINCT "TRAVELAGENCY"."AGENCYTYPE" AS C1 FROM "TRAVELAGENCY" |
「Agency」値にドリルダウンが適用されると、SQL内で「Agency Type」が置き換えられ、Agency Typeフィルターも追加されます。
SELECT DISTINCT "TRAVELAGENCY"."AGENCYNAME" AS C1 FROM "TRAVELAGENCY" WHERE ( "TRAVELAGENCY"."AGENCYTYPE" = 'Agency' ) |
ドリルエニウェアも同様に機能しますが、定義済みの「ドリル先」フィールドが無いため、ユーザー(または、APIの呼び出しを使用している場合は開発者)がドリル先のフィールドを定義します。
リターン
String
説明
レポートの名前を返します。これは翻訳が有効化され、その言語の翻訳が提供されている場合、ユーザーの使用言語に翻訳されます。
リターン
String
説明
レポートのUUIDを返します。
リターン
String
説明
このインスタンスのレポートに固有の識別子です。これは、レポートがダッシュボードに追加されたときに定義されます。それ以外の場合は、nullになります。
リターン
説明
レポートのフィルター APIを返します。このレポートがダッシュボードに含まれている場合は、フィルター APIは、ダッシュボードのフィルター APIと同じになります。
リターン
Array[ReportField]
説明
レポートのフィールドの順序付き配列を返します。
リターン
Object{String, ReportChart}
説明
グラフUUIDによりキー設定された、レポート上のすべてのレポートグラフを含むオブジェクトを返します。
リターン
String
説明
レポートオブジェクトのどのインスタンスを使用するかを正確に識別するために使用されるレポートの一意の識別子です。多くのイベントは、情報の一部としてこれを含みます。
これらのパラメーターは、必要なレポートごとに個別に設定しなくてはいけません。例えば、自動インサイトは通常グラフからトリガーされるため、これらのパラメーターは親レポートのAPIで設定する必要があります。
デフォルトは、trueになっています。
これは、デフォルトの自動インサイト表示パネルをレンダリングするようにシステムに指定します。displayAssistedInsightsDataがカスタムパネルで上書きされる場合は、falseにする必要があります。
例
コードモードでは、以下のようになります。
let reportElement = this.apis.canvas.select('Performance by Region'); reportElement.onReportLoad.then(() => { let reportAPI = reportElement.reportAPI; reportAPI.useDefaultAssistedInsightsPanel = true; }); |
デフォルトは、falseになっています。
デフォルトの自動インサイトフローを停止することで、必要に応じて、runAssistedInsightsを呼び出すことができます。
これは特に、自動インサイトプロセスのUI要素(ローダーなど)をカスタマイズしたいが、グラフのツールチップからプロセスをトリガーする必要がある場合に便利です。
例
let reportElement = this.apis.canvas.select('Performance by Region'); reportElement.onReportLoad.then(() => { let reportAPI = reportElement.reportAPI; reportAPI.preventDefaultAssistedInsights = true; }); |
リターン
Number
説明
渡されたfieldNameのフィールドIDを返します。一致するフィールドが見つからない場合は、nullを返します。
例
「Invoiced」フィールドのフィールドIDを取得します。
let fieldId = report.getFieldId('Invoiced'); |
リターン
String
説明
渡されたfieldIdのフィールド名を返します。一致するフィールドが見つからない場合は、nullを返します。
例
特定のフィールドがドリルダウンされたことをログに記録します。
report.addListener('drilldown', function(event) { console.log(report.getFieldName(event.eventData.fieldId) + " just had a drill value applied to it"); }) |
リターン
Number
説明
渡されたグラフ名、またはグラフUUIDの内部グラフIDを返します。グラフIDが渡された場合は、レポートのデフォルトグラフIDが返されます。一致するグラフが見つからない場合は、nullが返されます。
リターン
なし
説明
渡されたグラフIDにシリーズ選択を適用します。シリーズ選択は、グラフ上のシリーズフィールドを他のフィールドに置き換えるか、複数のシリーズフィールドをグラフに追加し、同時に描画するかのいずれかの方法で機能します。
この関数をレポートに適用するには、グラフレベルで「シリーズ選択を表示」オプションを有効にしなくてはいけません。以下のイメージを参照してください。
(以下に示すように)シリーズ選択のスタイルオプションが「トップパネル」、または「左パネル」に設定されている場合は、グラフのシリーズ選択は単一選択タイプになります。つまり、一度に選択できるシリーズはひとつだけです。このオプションを有効にした場合は、グラフは渡された配列の最初の値のみを取得します。
プロパティが「シリーズ選択の表示」に設定された場合は、グラフのタイプは、すべての値を使用するかどうかを決定します。
グラフ、またはレポートに存在しないfieldIdがapplySeriesSelection関数に渡された場合は、そのfieldIdは無視され、グラフはデフォルトシリーズ値に戻されます。
パラメーター
Series - Array[Number]
レポートに適用するフィールドIDの配列です。
chartId - String, Number
シリーズ選択を適用するグラフIDです。グラフIDが渡されない場合は、デフォルトグラフIDが使用されます。
例
デフォルトグラフのシリーズ選択に複数のフィールドを追加します。
let fieldsToAdd = ['Invoiced', 'Cost', 'Profit']; report.applySeriesSelection(fieldsToAdd ); |
フィールドIDを使用して適用します。
report.applySeriesSelection(5); |
フィールド名を使用して適用します。
report.applySeriesSelection('Invoiced'); |
リターン
HTML要素
このメソッドは、組み込まれたAPI内にのみ存在します。これは、ダッシュボードコードモード内で使用することができません。
これは、レポートのビジュアライゼーションをレンダリングするelement(要素)を作成し、返します。element(要素)がelementOptionsの一部として渡される場合、新しいレポートelement(要素)はこれが作成されると同時に追加されます。
希望のエクスペリエンスを正確に構築をするために、リクエストと一緒に渡すことのできるオプションがいくつかあります。
BaseAPI.loadereportが使用するすべての関数(reportId, instanceNameおよびfilterValuesを除く)をcreateReportElementと合わせて使用することもできます。 |
例
例1:複数のグラフを持つレポートをロードし、キャンバス表示ではなく、これらすべてを個別のelement(要素)にレンダリングします。
HTML:
<div id=”reportContainer”></div> |
CSS:
div.reportContainer app-report { width:500px; height:500px; } |
JS:
let reportUUID = ‘a-report-uuid’; yellowfin.loadReport({ reportId: reportUUID }).then(report => { let charts = report.charts; Object.values(charts).forEach(chart => { report.createReportElement({ element: document.querySelector(‘#reportContainer’), displayType: ‘CHART’, //Tell the report to render as a chart chartUUID: chart.uuid, //Tell the report which chart you wish to render displayToolbar: false //Tell the report not to render any toolbar }); }); }); |
これは、コンテナ内の各グラフに500×500のレンダーを作成します。
例2:レポートをロードし、そのキャンバスとテーブルをレンダリングします。
HTML:
<div id=”reportContainer”></div> |
CSS:
div.reportContainer app-report { width:500px; height:500px; } |
JS:
let reportUUID = ‘a-report-uuid’; yellowfin.loadReport({ reportId: reportUUID }).then(report => { report.createReportElement({ element: document.querySelector(‘#reportContainer’), displayType: ‘CANVAS’, //Tell the report to render as a chart displayToolbar: false //Tell the report not to render any toolbar }); report.createReportElement({ element: document.querySelector(‘#reportContainer’), displayType: ‘REPORT’, //Tell the report to render as a chart displayToolbar: false //Tell the report not to render any toolbar }); }); |
インタラクションオブジェクトは、特定のレポートのビジュアライゼーションでどのインタラクションを利用可能にするかを定義します。これにより、Yellowfin レンダラーに対して、そのビジュアライゼーション内でユーザーが使用できる機能を指定できます。
同じレポートを表す複数のelement(要素)があり、インタラクションを無効にしたい場合、表示しているすべてのelement(要素)でこれを無効にする必要があります。例えば、最初のelement(要素)のドリルダウンを無効にしてから、二番目のelement(要素)のドリルダウンを無効にしなかった場合、ユーザーは依然として二番目のelement(要素)のドリルダウンを実行できます。
デフォルトでは、明示的にfalseに設定されていないインタラクションはすべて有効と見なされ、レポートで許可されている場合は表示されます。
animation
グラフのアニメーションを無効にできます。
annotations
アノテーションを無効にできます。
brushing
ブラッシング機能を無効にできます。
drillAnywhere
ドリルエニウェア機能を無効にできます。
drillBreadcrumbs
パンくずリスト機能を無効にできます。
drillDown
ドリルダウン機能を無効にできます。
drillThrough
ドリルスルー機能を無効にできます。
unitSelection
単位選択機能を無効にできます。
timeSlider
タイムスライダー機能を無効にできます。
seriesSelection
シリーズ選択機能を無効にできます。
annotations
注釈機能を無効にできます。
creatReportElement関数を使用してレポート上のすべてのユーザーインタラクションを無効にするには、以下を参照してください。
report.createReportElement({ interactions: { animation: false, annotations: false, brushing: false, drillBreadcrumbs: false, drillDown: false, drillAnywhere: false, drillThrough: false, unitSelection: false, timeSlider: false, seriesSelection: false, } }); |
リターン
なし
説明
渡されたフィールドに昇順の並べかえを適用します。渡されたフィールドIDが、レポート上のフィールドと一致しない場合、並べかえは適用されません。
パラメーター
fieldId: Number, String
並べかえるフィールドのフィールドID、または名前です。
リターン
なし
説明
渡されたフィールドに降順の並べかえを適用します。渡されたフィールドIDが、レポート上のフィールドと一致しない場合、並べかえは適用されません。
パラメーター
fieldId: Number, String
並べかえるフィールドのフィールドID、または名前です。
リターン
なし
説明
レポートの現在の状態を適用してレポートを実行します。runReport関数が短期間に複数回トリガーされる場合、レポート実行リクエストは、一度だけサーバに送信されます。
例
レポートの実行が終了した後、5秒ごとにレポートを再実行します。
//Add a listener for the reportComplete event report.addListener('reportComplete', () => { //Add a 5000ms delay before triggering runReport again setTimeout(() => { report.runReport(); }, 5000) }); report.runReport(); |
リターン
Promise
説明
自動インサイトプロセスを開始します。これにより、一時的な自動インサイトレポートが生成され、レポートデータを使用してPromiseが解決されます。assistedinsigntsCompleted イベントも同じデータでトリガーされます。
新規自動インサイトレポートは、オプションが同じ場合でも、これが呼び出されるたびに生成されます。これを手動で呼び出す場合は、前の呼び出しが返されるまで、重複したリクエストや複数のリクエストを行わないようにすることを推奨します。
この関数に必要な形式でデータを生成する最も簡単な方法は、既存のグラフで自動インサイトプロセスをトリガーし、assistedInsigntsRequestedByChart イベントからeventDataを使用することです。
パラメーター
Options{object}
options objectには、自動インサイトプロセスに次のデータを必要とします。必要なデータ以外にも、グラフや分析のタイプに応じて変数が変化します。
必要なデータ:
「explain」String タイプ
オプション設定:
「compare」String タイプ
追加で必要な値:
オプション設定:
グラフのデータを使用してrunAssistedInsightsを呼び出す方法については、assistedInsightsRequestedByChart イベントリファレンスを参照してください。
手動での呼び出し:
let assistedInsightsData = { categoryField: 60629, categoryFieldId: 1, categoryKey: "61039", dashboardName: "Sales Performance", dashboardUUID: "e7409ff2-f846-44e1-a603-b78ec51b20b9", metricDescription: "KPI", metricField: 60686, reportTitle: "Comparing KPI for Europe to Asia", parentReportId: 61035, sourceId: 54700, type: "compare", value1: "Europe", value2: "Asia", valueOneFormatted: "Europe", valueTwoFormatted: "Asia", viewId: 60543 }; reportAPI.runAssistedInsights(assistedInsightsData); |
リターン
なし
説明
自動インサイトの比較分析で使用する二番目の値を選択するためのパネルをレンダリングします。
この関数を上書きすることで、ユーザーは独自の比較パネルを実装することができます。上書きしない場合は、デフォルトのパネルがレンダリングされます。どちらの場合でも、二番目の値が選択されることで、compareValuesSelected イベントがトリガーされます。このイベントとともに渡されるデータについては、compareValuesSelected イベントリファレンスを参照してください。
グラフのツールチップから比較がトリガーされたときに、ひとつの値のみが選択されている場合、openComaprePanelの呼び出しは、デフォルトの自動インサイトフローにより自動的に制御されます。preventDefaultAssistedInsightsがtrueに設定され、runAssistedInsightsを呼び出している場合、openComaprePanelも手動で呼び出す必要があります。
パラメーター
{ value: “EU”, description: “Europe” } |
{ rawValue: "EU", formattedValue: "Europe" } |
assistedInsightsRequestedByChart イベントから自動インサイトデータを抽出している場合、valueはeventDataのvalue 1に対応し、comparableValuesはpossibleValuesに対応します。 |
[{ value: “AUS”, description: “Australia” }, { value: “NA”, description: “North America” }] |
例
reportAPI.addListener('assistedInsightsRequestedByChart', event => { let runAssistedInsightsData = event.eventData; if (runAssistedInsightsData.type === 'compare' && runAssistedInsightsData.value2 == null) { reportAPI.openComparePanel(runAssistedInsightsData.value1, runAssistedInsightsData.possibleValues, runAssistedInsightsData.metricDescription); } }); |
リターン
なし
説明
ページ上に自動インサイトデータをレンダリングします。
この関数を上書きすることで、データがレンダリングされる方法をカスタマイズできます。そのためには、レポートAPIでuseDefaultAssistedInsightsPanelをfalseに設定します。
独自の表示パネルをレンダリングする場合は、データが不要になったら(通常は表示パネルが閉じられたら)、deleteTemporaryAssistedInsightsReportを呼び出すことを推奨します。これは、一時的な自動インサイトレポートに関連するすべてのデータを削除します。デフォルトの表示パネルは、自動的にこれを制御します。
例
let runAssistedInsightsPromise = reportAPI.runAssistedInsights(data); runAssistedInsightsPromise.then(assistedInsightsData => { // Display the report results reportAPI.displayAssistedInsightsData(assistedInsightsData); }); |
リターン
なし
説明
自動インサイトプロセスが完了し、データが返される前に、そのプロセスをキャンセルします。
これはカスタムローダーをレンダリングする際に、時間がかかりすぎる場合、ユーザーがプロセスをキャンセルできるため便利です。
これには、自動インサイトジョブのUUIDが必要です。これは、assistedInsightsProgress イベントがトリガーされたときに、eventDataとして渡されます。
例
reportAPI.addListener(‘assistedInsightsInProgress’, event => { let assistedInsightsTaskUUID = event.eventData; reportAPI.cancelAssistedInsights(assistedInsightsTaskUUID); }); |
リターン
なし
説明
自動インサイトに対して生成された一時レポートを削除します。これは、デフォルトのYellowfin表示パネルが閉じられると自動的に呼び出されますが、カスタム表示パネルをレンダリングしている場合は、データが不要になった際にこれを呼び出すことを推奨します。
パラメーター
例
let runAssistedInsightsPromise = reportAPI.runAssistedInsights(data); runAssistedInsightsPromise.then(assistedInsightsData => { let reportId = assistedInsightsData.assistedInsightsReportId; reportAPI.deleteTemporaryAssistedInsightsReport(reportId); }); |
リターン
Number
説明
レポートにレポート出力タイプを登録することで、開発者はレポートから追加情報を取得できます。登録した出力の一意の識別子を返しますが、これを使用することで不要になったoutputTypeリクエストをレポートから削除できます。
出力タイプのコールバック関数は、レポートがサーバからそのデータを返すたびに呼び出されますが、reportCompleteイベントがトリガーされる前に呼び出されます。
Yellowfin 9.2以降では、レポートデータセットを出力タイプとしてリクエストできます。
データセット
レポートのデータセットを返します。
オプション
この出力タイプに定義できるオプションはありません。
コールバックパラメーター
データセット
二次元配列です。配列の各項目は、次の値を含むオブジェクトになります。
デフォルトで参照コードとして書式設定されているフィールド「Gender」の場合、データオブジェクトは次のようになります。
{ rawValue: 'FEMALE', //In the SkiTeam database the Gender code is all caps formattedValue: 'Female', //After it has been formatted as a refcode it becomes a more readable version htmlFormattedValue: 'Female' //For this case, they are exactly the same. } |
formattedValueとhtmlFormattedValueの違い
多くの場合、formattedValueとhtmlFormattedValueに違いは見られません。いくつかのフォーマッターはHTMLタグを出力するため、そこに違いが現れます。例えば次のレポートでは、「Gender As Link」フィールドは、「URLへリンク」フォーマッターを使用して書式設定されており、テーブルに挿入されるアンカータグを生成します。
上記のロウ(行)のデータセットは、次のようになります。
[{ formattedValue: "Female" htmlFormattedValue: "Female" rawValue: "FEMALE" }, { formattedValue: "FEMALE" htmlFormattedValue: "<a href="localhost:8080/myTestSite/FEMALE" target="_blank" rel="nofollow noopener noreferrer">FEMALE</a>" rawValue: "FEMALE" }] |
htmlFormattedValueは実際のアンカータグを含み、formattedValueがユーザーに表示されます。
パラメーター
outputOptions: String, Object
登録する出力タイプについての情報を含むObject、またはStringです。Stringが渡される場合、その特定の出力タイプにデフォルトオプションが使用されます。
callback: Function
出力タイプが完了したときに呼び出される関数です。このコールバックに渡されるパラメーターオブジェクトは、登録された出力タイプに応じて異なります。
例
データセットの出力タイプを登録し、データセットを出力します。
report.registerOutputType('dataset', function(reportDataset) { console.log(reportDataset); }); |
または、outputInformationオブジェクトを使用してデータセットを登録しても、同様の結果を達成できます。
report.registerOutputType({ resultType: 'dataset' }, function(reportDataset) { console.log(reportDataset); }); |
リターン
なし
説明
渡されたoutputKeyに関連するレポート出力タイプとコールバックの登録を解除します。これにより、Yellowfinサーバは、その出力リクエストに情報を返さなくなります。
パラメーター
outputKey: Number
登録を解除するoutputKeyです。
例
データセットタイプを登録し、これが完了した後にレポートから出力タイプを削除します。
let outputId = report.registerOutputType('dataset', function(data) { console.log(data); report.removeOutputType(outputId); }); |
リターン
なし
説明
レポートからすべてのレポートインタラクション(ドリル、並べかえ、タイムスライダーなど)をクリアし、レポートを実行します。フィルターオブジェクトが複数のレポートにリンクされている可能性があるため、レポートに関連付けられているフィルターはリセットされません。そのため、このレポートに特化したフィルターをリセットすることで、他のレポートに誤った影響を与える可能性があります。レポートを完全にリセットする場合は、この関数と合わせてfilter.resetFiltersToDefault()、またはfilters.clear()を使用します。
例
レポートインタラクションをリセットするが、フィルターはリセットしないリセットボタンを追加します。
let resetButton = document.querySelector('div#resetReportButton'); resetButton.addEventListener('click', function(e) { report.reset(); }); Add a reset button that can reset the reports interactions and its filters back to their default values let resetButton = document.querySelector('div#resetReportButton'); resetButton.addEventListener('click', function(e) { report.reset(); report.filters.resetFiltersToDefault(); }); |
リターン
Boolean
説明
レポートが「ドリルエニウェア」タイプのレポートとして定義されているかどうかを返します。これは、レポート作成中に「分析スタイル」オプションを「ドリルエニウェア」に設定した場合に当てはまります。
リターン
Boolean
説明
レポートが「ドリルダウン」タイプのレポートとして定義されているかどうかを返します。これは、レポート作成中に「分析スタイル」オプションを「ドリルダウン」に設定した場合に当てはまります。
リターン
Boolean
説明
レポートがドリルダウンされたかどうかを返します。これは、レポート上のいずれかのドリルダウンフィールドがドリルダウンされた場合に当てはまります。
例
console.log(report.isDrillDownApplied()); //Will return "false" as no drilling has been applied report.drill(1, 'Agency'); console.log(report.isDrillDownApplied()); //Will now return "true" now that has drill down has been applied |
リターン
Boolean
説明
レポートにドリルエニウェアが適用されたかどうかを返します。
リターン
なし
説明
渡された値と合わせて、渡されたフィールドIDにドリルを適用します。
「ドリルエニウェア」レポートの場合、toFieldは、fieldIdフィールドを置き換えるフィールドを決定するために使用されます。「ドリルダウン」レポートの場合は、ビューレベルで既に定義されているドリルの内部階層があるので、toFieldは無視されます。
ドリルが成功すると、「ドリルダウン」、または「ドリルエニウェア」イベントがトリガーされます。
パラメーター
fieldId: Number, String
ドリル先のフィールドです。
value: Number, String
ドリル値として適用する値です。
toField: Number
ドリル先のフィールドのビューフィールドテンプレートIDです。ドリルエニウェアレポートでのみ使用されます。
例
フィールドIDを使用して、「Agency Type」フィールドの値「Agency」をドリルダウンにします。
report.drill(1, 'Agency'); |
または、フィールド名をフィールドIDパラメーターに使用することもできます。
report.drill('Agency Type', 'Agency'); |
リターン
なし
説明
渡されたfieldIdのドリルアップレベルです。ドリルしているフィールドが既に階層の最上位である場合、それ以上のアクションは実行されません。
例えば、「ツアー地域」>「ツアー国」>ツアー名」フィールドを使用します。ツアー名レベルまでドリルダウンして、report.drillUpLevels(fieldId, 1)を呼び出す場合、ツアー国レベルに戻ります。
report.drillUpLevels(fieldId, 5)を呼び出す場合は、実際の階層の合計よりも大きいので、これはフィールド上のドリルをリセットし、ツアー地域レベルまで戻ります。
パラメーター
field: Number, String
ドリルアップする先のフィールドです。
levels: Number
ドリルアップする階層の数です。
例
fieldId 1の単一レベルをドリルアップします。
report.drillUpLevels(1, 1); |
リターン
なし
説明
レポート内でドリル可能なすべてのフィールドを1レベル上にドリルアップします。
例
レポート全体をひとつ上のレベルにドリルアップするボタンを作成します。
let drillUpButton = document.querySelector('div#drillUp'); drillUpButton.addEventListener('click', function() { report.drillUpOneLevel(); }); |
リターン
なし
説明
渡されたfieldId上のドリルをリセットします。field Idが渡されない場合、レポート全体のドリルの状態がリセットされます。
パラメーター
fieldId: Number, String
ドリルをリセットするフィールドです。
例
レポート全体のドリルをリセットします。
report.drillReset(); |
名前を使用して「Agency Region」フィールドのドリルをリセットします。
report.drillReset('Agency Region'); |
フィールドIDを使用して「Agency Region」フィールドのドリルをリセットします。
report.drillReset(1); |
リターン
なし
説明
渡されたグラフのタイムスライダーにfromとtoを適用します。グラフIDが渡されない場合、レポートのデフォルトグラフが使用されます。これはレポートを実行し、適用された時系列値を使用してグラフを再生成します。
パラメーター
from: Number
タイムスライダーの下限値をミリ秒単位で指定します。
to: Number
タイムスライダーの上限値をミリ秒単位で指定します。
chartId: Number, String
タイムスライダー値を適用するグラフIDです。
例
August 2014(2014年8月)からNovember 2014(2014年11月)の間の日付を表示するようにタイムスライダーを設定します。
//Create the date objects for the days we care about and get their time values let fromDate = new Date('2014-08-01').getTime(); let toDate = new Date('2014-11-01').getTime(); report.timeslider(fromDate, toDate); //Set the slider value based on the ChartUUID let fromDate = new Date('2014-08-01').getTime(); let toDate = new Date('2014-11-01').getTime(); report.timeslider(fromDate, toDate, '0b808dd1-2114-42bc-a358-5fe7bf2ec052'); |
リターン
なし
説明
渡されたグラフに時間単位選択を適用します。グラフIDが渡されない場合、代わりにレポートのデフォルトグラフが使用されます。オプションを機能させるために、グラフの単位選択表示を有効にしなくてはいけません。
パラメーター
unit: String
グラフに適用する時間粒度です。選択肢は、次の通りです。
例
レポートのデフォルトグラフに「MONTH(月)」を適用します。
report.unitSelection(‘MONTH’); //No chart Id passed so the default chart will be used let chartUUID = ‘b779c293-a8ac-44cb-82f5-0c64da385333’; report.unitSelection(‘MONTH’, chartUUID ); //Apply with a specific chart uuid let chartName = ‘Chart One’; report.unitSelection(‘MONTH’, chartName); //Pass the chart name to determine which chart to use |
リターン
Array[Object]
説明
レポートに現在適用されているドリルの状態の配列を返します。
配列の各オブジェクトは、次の情報を含みます。
配列を繰り返し処理する場合、フィールド上のすべてのドリルオブジェクトが順番にドリルされます。つまり、ドリルダウン可能なフィールドが2つあり、両方ともドリルされている場合、配列内の最初のN値は、最初のフィールドに関連付けられます。ここでNは、そのフィールドがドリルされた距離を表します。配列の残りの部分は、二番目のフィールドのドリル値で構成されます。
次のドリル階層を持つレポートの場合
代理店地域>代理店国
ツアー地域>ツアー国>ツアー名
代理店地域は、1レベルドリルダウンできます。ツアー地域は2レベルドリルダウンできます。両方とも完全にドリルダウンされている場合、配列には3つのエントリーが含まれます。最初は「代理店地域」に関連し、二番目は「ツアー地域」に関連し、三番目はツアー地域の子フィールドである「ツアー国」に関連します。
すべてのレポートイベントは、次のプロパティを含むオブジェクト使用してトリガーされます。
説明
シリーズ選択がレポートに適用されることでトリガーされます。
パラメーター
イベントデータ
説明
レポートが並べかえられることでトリガーされます。
パラメーター
イベントデータ
説明
レポートが新しいデータセットを取得するために、サーバにリクエストを送信することでトリガーされます。
パラメーター
イベントデータはありません。
説明
レポートがサーバから返され、registerOutputType関数に登録されているすべてのコールバックが解決された後に呼び出されます。
パラメーター
イベントデータは、レポート実行からの複数の出力結果を含みます。
イベントデータの例
{ //Example Empty Dataset 8399975157147: [//A random ID for the output type [] //Report Dataset data ] } |
説明
グラフのツールチップから自動インサイトを要求したときにトリガーされます。
特定の自動インサイトレポートを生成するために使用されるデータを抽出したい場合や、useDefaultAssistedInsightsPanelがfalseに設定され、runAssistedInsightsを呼び出している場合に便利です。
パラメーター
eventDataオブジェクトには、自動インサイトの実行に必要なすべての情報が含まれており、手動で呼び出している場合は、runAssistedInsightsに直接渡すことができます。このコンテンツは、自動インサイトのタイプやグラフに応じて異なります。
eventData
例
reportAPI.addListener('assistedInsightsRequestedByChart', chartData => { // This already contains all of the data we need to run Assisted Insights so we don’t need to make any additional changes to it let newData = Object.assign({}, chartData.eventData); let promise = this.reportAPI.runAssistedInsights(newData); }); |
説明
runAssistedInsightsが呼び出された際にトリガーされます。
パラメーター
なし
例
reportAPI.addListener(assistedInsightsStarted, () => { console.log(“Assisted Insights has started”); }; |
説明
比較分析に二番目の値が選択されたときにトリガーされます。
パラメーター
eventData
例
this.reportAPI.addListener('compareValuesSelected', event => { let comparisonValues = event.eventData; // Combine them with the existing Assisted Insights data let allData = Object.assign({}, assistedInsightsData, comparisonValues); // Generate the assisted insights report reportAPI.runAssistedInsights(allData); }); |
説明
自動インサイトバックグラウンドタスクが最初に開始されたときにトリガーされます。
パラメーター
eventData
注意:タスクUUIDは、バックグラウンドタスクのUUIDを参照します。これは、runAssistedInsights promiseが解決されたとき、またはassistedInsightsCompleted イベントがトリガーされたときに返される自動インサイトレポートIDとは異なります。
例
reportAPI.addListener(‘assistedInsightsInProgress’, event => { let assistedInsightsTaskUUID = event.eventData; reportAPI.cancelAssistedInsights(assistedInsightsTaskUUID); }); |
説明
自動インサイトタスクの進行中にトリガーされます。タスクの現在の状態を更新します。
パラメーター
eventData
例
reportAPI.addListener(‘assistedInsightUpdate’, event => { let progressData = event.eventData; let customLoader = document.getElementById("myCustomLoader"). customLoader.innerHTML(progressData.progressText); }); |
説明
runAssistedInsightsprocess全体が終了した場合にトリガーされます。
注意:これは、runAssistedInsights promiseが解決されることで追加されます。どちらも同じデータを返します。
パラメーター
eventData
例
reportAPI.addListener('assistedInsightsCompleted', data => { // Display the report results reportAPI.displayAssistedInsightsData(data.eventData); }); |
説明
cancelAssistedInsightsがキャンセルされた場合にトリガーされます。
パラメーター
eventData
キャンセルされたタスクのUUIDです。
例
reportAPI.addListener(‘assistedInsightsCancelled’, event => { console.log(“Task ” + event.eventData + “ has been cancelled”); }); |
説明
自動インサイトプロセスの完了を何かが妨げている場合にトリガーされます。
パラメーター
eventData
例
reportAPI.addListener(‘assistedInsightsError’, event => { console.log(event.eventData.getMessageText()); }); |
説明
自動インサイトの処理中に例外が発生した場合にトリガーされます。
パラメーター
eventData
例
reportAPI.addListener(‘assistedInsightsExceptionError’, event => { console.log(event.eventData.errorMessage); }); |
説明
レポート上の任意のフィールドにドリルダウンが適用されるたびにトリガーされます。
パラメーター
イベントデータは次を含みます。
説明
レポート上の任意のフィールドに「ドリルエニウェア」が適用されるたびにトリガーされます。
パラメーター
イベントデータは次を含みます。
説明
レポートがドリルアップされるたびにトリガーされます。これは、「ドリルエニウェア」、および「ドリルダウン」両方のレポートをトリガーします。
パラメーター
説明
レポートが既に実行されている際、いずれかのプロセスによってレポートの実行を開始しようとする際にトリガーされます。
例
report.addEventListener("reportRunAlreadyInProgress", function() { |
resetDrill(ドリルのリセット)
説明
フィールドのドリルの状態がリセットされるか、レポート全体のドリルの状態がリセットされるとトリガーされます。これは、ドリルエニウェア、およびドリルダウン両方のレポートをトリガーします。
パラメーター
説明
レポートリセット関数が呼び出されることでトリガーされます。
パラメーター
イベントデータはありません。
説明
グラフのタイムスライダー値が変更されるとトリガーされます。
パラメーター
イベントデータ
説明
グラフの「単位選択」が変更されることでトリガーされます。
パラメーター
イベントデータ