30日間の無料評価版をお試しいただけます。

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
classcontents

レポート

...

APIの概要

レポート APIは、レポートの状態を制御します。これには、現在のドリルの状態、並べかえ条件、フィルター値、適用されたその他のレポートインタラクションを含む、現在のレポートの状態に関する情報が含まれます。

...

グラフのプロパティを使用することで、レポート上のすべてのグラフにアクセスできます。


フィールドID

レポートには、複数のフィールドが含まれます。これらの各フィールドは、レポートのコンテキスト内で一意のIDを持ちます。このIDは、レポートが編集されても変更されることはありません。getFieldId(fieldName)という関数を使用することで、フィールド名を基に、フィールドIDを取得することができます。fieldIdを受け付ける関数の大部分はフィールド名を受け付けることもでき、渡された名前を基にfieldIdの検索を試みます。

フィールドのプロパティを使用することで、レポート上のすべてのフイールドにアクセスできます。


ドリル

ドリルエニウェア、またはドリルダウンがフィールドに適用された場合、プロセスは次の通りです。

...

ドリルエニウェアも同様に機能しますが、定義済みの「ドリル先」フィールドが無いため、ユーザー(または、APIの呼び出しを使用している場合は開発者)がドリル先のフィールドを定義します。



...


プロパティのリファレンス

name(名前)

リターン

String

説明

レポートの名前を返します。これは翻訳が有効化され、その言語の翻訳が提供されている場合、ユーザーの使用言語に翻訳されます。

...

レポートオブジェクトのどのインスタンスを使用するかを正確に識別するために使用されるレポートの一意の識別子です。多くのイベントは、情報の一部としてこれを含みます。



...


レポートAPI パラメーター

これらのパラメーターは、必要なレポートごとに個別に設定しなくてはいけません。例えば、自動インサイトは通常グラフからトリガーされるため、これらのパラメーターは親レポートのAPIで設定する必要があります。

...

let reportElement = this.apis.canvas.select('Performance by Region');

reportElement.onReportLoad.then(() => {

let reportAPI = reportElement.reportAPI;

reportAPI.preventDefaultAssistedInsights = true;

});


...


関数のリファレンス

getFieldId(fieldName)(フィールドIDの取得)

リターン

Number

説明

渡されたfieldNameのフィールドIDを返します。一致するフィールドが見つからない場合は、nullを返します。

...

let fieldId = report.getFieldId('Invoiced');


getFieldName(filedId)(フィールド名の取得)

リターン

String

説明

渡されたfieldIdのフィールド名を返します。一致するフィールドが見つからない場合は、nullを返します。

...

report.addListener('drilldown', function(event) {
    console.log(report.getFieldName(event.eventData.fieldId) + " just had a drill value applied to it");
})


getChartId(chartId)(グラフIDの取得)

リターン

Number

説明

渡されたグラフ名、またはグラフUUIDの内部グラフIDを返します。グラフIDが渡された場合は、レポートのデフォルトグラフIDが返されます。一致するグラフが見つからない場合は、nullが返されます。


applySeriesSelection(series, chartId)(シリーズ選択の適用)

リターン

なし

説明

渡されたグラフIDにシリーズ選択を適用します。シリーズ選択は、グラフ上のシリーズフィールドを他のフィールドに置き換えるか、複数のシリーズフィールドをグラフに追加し、同時に描画するかのいずれかの方法で機能します。

...

report.applySeriesSelection('Invoiced');


createReportElement(elementOptions)(レポート要素の作成)

リターン

HTML要素

このメソッドは、組み込まれたAPI内にのみ存在します。これは、ダッシュボードコードモード内で使用することができません。

これは、レポートのビジュアライゼーションをレンダリングするelement(要素)を作成し、返します。element(要素)がelementOptionsの一部として渡される場合、新しいレポートelement(要素)はこれが作成されると同時に追加されます。

希望のエクスペリエンスを正確に構築をするために、リクエストと一緒に渡すことのできるオプションがいくつかあります。

Info

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に設定されていないインタラクションはすべて有効と見なされ、レポートで許可されている場合は表示されます。

drillDown

ドリルダウン機能を無効にできます。

drillAnywhere

ドリルエニウェア機能を無効にできます。

drillThrough

ドリルスルー機能を無効にできます。

unitSelection

単位選択機能を無効にできます。

brushing

ブラッシング機能を無効にできます。

timeSlider

タイムスライダー機能を無効にできます。

drillBreadcrumbs

パンくずリスト機能を無効にできます。

seriesSelection

シリーズ選択機能を無効にできます。

annotations

注釈機能を無効にできます。

creatReportElement関数を使用してレポート上のすべてのユーザーインタラクションを無効にするには、以下を参照してください。

report.createReportElement({

     interactions: {

            drillDown: false,

drillAnywhere: false,

drillThrough: false,

unitSelection: false,

brushing: false,

timeSlider: false,

drillBreadcrumbs: false,

seriesSelection: false,

annotations: false

     }

});


sortAscending(fieldId)(昇順に並べかえ)

リターン

なし

説明

渡されたフィールドに昇順の並べかえを適用します。渡されたフィールドIDが、レポート上のフィールドと一致しない場合、並べかえは適用されません。

...

並べかえるフィールドのフィールドID、または名前です。


sortDescending(fieldId)(降順に並べかえ)

リターン

なし

説明

渡されたフィールドに降順の並べかえを適用します。渡されたフィールドIDが、レポート上のフィールドと一致しない場合、並べかえは適用されません。

...

並べかえるフィールドのフィールドID、または名前です。


runReport()(レポートの実行)

リターン

なし

説明

レポートの現在の状態を適用してレポートを実行します。runReport関数が短期間に複数回トリガーされる場合、レポート実行リクエストは、一度だけサーバに送信されます。

...

//Add a listener for the reportComplete event
report.addListener('reportComplete', () => {
         //Add a 5000ms delay before triggering runReport again
        setTimeout(() => {
                report.runReport();
        }, 5000)
});

report.runReport();


runAssistedInsights(自動インサイトの実行)

リターン

Promise

説明

自動インサイトプロセスを開始します。これにより、一時的な自動インサイトレポートが生成され、レポートデータを使用してPromiseが解決されます。assistedinsigntsCompleted イベントも同じデータでトリガーされます。

...

  • timeSeries
  • discreteTimeSeries
  • timeGranularity


グラフのデータを使用して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);


openComaprePanel(value, comparableValues, metricDescription)(比較パネルのオープン)

リターン

なし

説明

自動インサイトの比較分析で使用する二番目の値を選択するためのパネルをレンダリングします。

...

reportAPI.addListener('assistedInsightsRequestedByChart', event => {

let runAssistedInsightsData = event.eventData;

if (runAssistedInsightsData.type === 'compare' && runAssistedInsightsData.value2 == null) {

reportAPI.openComparePanel(runAssistedInsightsData.value1, runAssistedInsightsData.possibleValues, runAssistedInsightsData.metricDescription);

}

});


displayAssistedInsightsData(assistedInsightsData)(自動インサイトデータの表示)

リターン

なし

説明

ページ上に自動インサイトデータをレンダリングします。

...

let runAssistedInsightsPromise = reportAPI.runAssistedInsights(data);

runAssistedInsightsPromise.then(assistedInsightsData => {

// Display the report results

reportAPI.displayAssistedInsightsData(assistedInsightsData);

});


cancelAssistedInsights(assistedInsightsUUID)(自動インサイトのキャンセル)

リターン

なし

説明

自動インサイトプロセスが完了し、データが返される前に、そのプロセスをキャンセルします。

...

reportAPI.addListener(‘assistedInsightsInProgress’, event => {

let assistedInsightsTaskUUID = event.eventData;

reportAPI.cancelAssistedInsights(assistedInsightsTaskUUID);

});


deleteTemporaryAssistedInsightsReport(assistedInsightsReportId)(一時的な自動インサイトレポートの削除)

リターン

なし

説明

自動インサイトに対して生成された一時レポートを削除します。これは、デフォルトのYellowfin表示パネルが閉じられると自動的に呼び出されますが、カスタム表示パネルをレンダリングしている場合は、データが不要になった際にこれを呼び出すことを推奨します。

...

let runAssistedInsightsPromise = reportAPI.runAssistedInsights(data);

runAssistedInsightsPromise.then(assistedInsightsData => {

let reportId = assistedInsightsData.assistedInsightsReportId;

reportAPI.deleteTemporaryAssistedInsightsReport(reportId);

});

registerOutputType(outputOptions, callback)(出力タイプの登録)

リターン

Number

説明

レポートにレポート出力タイプを登録することで、開発者はレポートから追加情報を取得できます。登録した出力の一意の識別子を返しますが、これを使用することで不要になったoutputTypeリクエストをレポートから削除できます。

...

report.registerOutputType({ resultType: 'dataset' }, function(reportDataset) {
         console.log(reportDataset);
});


removeOutputType(outputKey)(出力タイプの削除)

リターン

なし

説明

渡されたoutputKeyに関連するレポート出力タイプとコールバックの登録を解除します。これにより、Yellowfinサーバは、その出力リクエストに情報を返さなくなります。

...

let outputId = report.registerOutputType('dataset', function(data) {
         console.log(data);
        report.removeOutputType(outputId);
});


reset()(リセット)

リターン

なし

説明

レポートからすべてのレポートインタラクション(ドリル、並べかえ、タイムスライダーなど)をクリアし、レポートを実行します。フィルターオブジェクトが複数のレポートにリンクされている可能性があるため、レポートに関連付けられているフィルターはリセットされません。そのため、このレポートに特化したフィルターをリセットすることで、他のレポートに誤った影響を与える可能性があります。レポートを完全にリセットする場合は、この関数と合わせて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();
});


isDrillAnywhere()(ドリルエニウェア)

リターン

Boolean

説明

レポートが「ドリルエニウェア」タイプのレポートとして定義されているかどうかを返します。これは、レポート作成中に「分析スタイル」オプションを「ドリルエニウェア」に設定した場合に当てはまります。


isDrillDown()(ドリルダウン)

リターン

Boolean

説明

レポートが「ドリルダウン」タイプのレポートとして定義されているかどうかを返します。これは、レポート作成中に「分析スタイル」オプションを「ドリルダウン」に設定した場合に当てはまります。


isDrillDownApplied()(ドリルダウンの適用)

リターン

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


isDrillAnywhereApplied()(ドリルエニウェアの適用)

リターン

Boolean

説明

レポートにドリルエニウェアが適用されたかどうかを返します。


drill(fieldId, value, toField)(ドリル)

リターン

なし

説明

渡された値と合わせて、渡されたフィールドIDにドリルを適用します。

...

report.drill('Agency Type', 'Agency');


drillUpLevels(fieldId, levels)(ドリルアップレベル)

リターン

なし

説明

渡されたfieldIdのドリルアップレベルです。ドリルしているフィールドが既に階層の最上位である場合、それ以上のアクションは実行されません。

...

report.drillUpLevels(1, 1);


drillUpOneLevel()(1レベル上にドリルアップ)

リターン

なし

説明

レポート内でドリル可能なすべてのフィールドを1レベル上にドリルアップします。

...

let drillUpButton = document.querySelector('div#drillUp');
drillUpButton.addEventListener('click', function() {
         report.drillUpOneLevel();
});


drillReset(fieldId)(ドリルのリセット)

リターン

なし

説明

渡されたfieldId上のドリルをリセットします。field Idが渡されない場合、レポート全体のドリルの状態がリセットされます。

...

フィールドIDを使用して「Agency Region」フィールドのドリルをリセットします。

report.drillReset(1);


timeSlider(from, to, chartId)(タイムスライダー)

リターン

なし

説明

渡されたグラフのタイムスライダーにfromとtoを適用します。グラフIDが渡されない場合、レポートのデフォルトグラフが使用されます。これはレポートを実行し、適用された時系列値を使用してグラフを再生成します。

...

//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');


unitSelection(unit, chartId)(単位選択)

リターン

なし

説明

渡されたグラフに時間単位選択を適用します。グラフIDが渡されない場合、代わりにレポートのデフォルトグラフが使用されます。オプションを機能させるために、グラフの単位選択表示を有効にしなくてはいけません。

...

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


convertDrillDownToArray()&convertDrillAnywhereToArray()(ドリルダウンを配列に変換およびドリルエニウェアを配列に変換)

リターン

Array[Object]

説明

レポートに現在適用されているドリルの状態の配列を返します。

...

  • eventData:特定のイベントのデータです。これは、トリガーされるイベントに応じて異なります。各イベントを参照して、イベントデータオブジェクトに何が含まれているのかを確認します。
  • matadeta:イベントがトリガーされたレポートに関する次のような基礎的なデータを含むオブジェクトです。
    • reportId:内部レポートIDです。
    • reportUUID:レポートのUUIDです。
    • reportKey:このインスタンスのレポートに一意の識別子です。
  • eventName:実際にトリガーされるイベントの名前です。


seriesSelection(シリーズ選択)

説明

シリーズ選択がレポートに適用されることでトリガーされます。

...

  • series:(Array[Number])このシリーズ選択イベントに適用されたフィールドIDの配列です。これには、レポート上に実際存在するフィールドのみを含める必要があります。
  • chartId:シリーズ選択を適用するグラフIDです。


sort(並べかえ)

説明

レポートが並べかえられることでトリガーされます。

...

  • fieldId:並べかえが適用されたフィールドです。
  • sortDirection:フィールドを並べかえる方向です。「ASCENDING(昇順)」、または「DESCENDING(降順)」になります。


reportStart(レポート開始)

説明

レポートが新しいデータセットを取得するために、サーバにリクエストを送信することでトリガーされます。

パラメーター

イベントデータはありません。


reportComplete(レポートの完了)

説明

レポートがサーバから返され、registerOutputType関数に登録されているすべてのコールバックが解決された後に呼び出されます。

...

{ //Example Empty Dataset
          8399975157147:  [//A random ID for the output type
                  [] //Report Dataset data
        ]
}


assistedInsightsRequestedByChart(グラフからの自動インサイトリクエスト)

説明

グラフのツールチップから自動インサイトを要求したときにトリガーされます。

...

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);

});


assistedInsightsStarted(自動インサイトの開始)

説明

runAssistedInsightsが呼び出された際にトリガーされます。

...

reportAPI.addListener(assistedInsightsStarted, () => {

console.log(“Assisted Insights has started”);

};


compareValuesSelected(選択された値の比較)

説明

比較分析に二番目の値が選択されたときにトリガーされます。

...

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);

});


assistedInsightsInProgress(進行中の自動インサイト)

説明

自動インサイトバックグラウンドタスクが最初に開始されたときにトリガーされます。

...

reportAPI.addListener(‘assistedInsightsInProgress’, event => {

let assistedInsightsTaskUUID = event.eventData;

reportAPI.cancelAssistedInsights(assistedInsightsTaskUUID);

});


assistedInsightsUpdate(自動インサイトの更新)

説明

自動インサイトタスクの進行中にトリガーされます。タスクの現在の状態を更新します。

...

reportAPI.addListener(‘assistedInsightUpdate’, event => {

let progressData = event.eventData;

let customLoader = document.getElementById("myCustomLoader").

customLoader.innerHTML(progressData.progressText);

});


assistedInsightsCompleted(自動インサイトの完了)

説明

runAssistedInsightsprocess全体が終了した場合にトリガーされます。

...

reportAPI.addListener('assistedInsightsCompleted', data => {

// Display the report results

reportAPI.displayAssistedInsightsData(data.eventData);

});


assistedInsightsCancelled(自動インサイトのキャンセル)

説明

cancelAssistedInsightsがキャンセルされた場合にトリガーされます。

...

reportAPI.addListener(‘assistedInsightsCancelled’, event => {

console.log(“Task ” + event.eventData + “ has been cancelled”);

});


assistedInsightsError(自動インサイトのエラー)

説明

自動インサイトプロセスの完了を何かが妨げている場合にトリガーされます。

...

reportAPI.addListener(‘assistedInsightsError’, event => {

console.log(event.eventData.getMessageText());

});


assistedInsightsExceptionError(自動インサイトの例外エラー)

説明

自動インサイトの処理中に例外が発生した場合にトリガーされます。

...

reportAPI.addListener(‘assistedInsightsExceptionError’, event => {

console.log(event.eventData.errorMessage);

});


drilldown(ドリルダウン)

説明

レポート上の任意のフィールドにドリルダウンが適用されるたびにトリガーされます。

...

  • fieldId:ドリル先のフィールドです。
  • added:(Array)適用された値についての情報を含むオブジェクトの配列です。
  • drillState:(Array)レポート全体のドリルの状態を含む配列です。convertDrillDownToArrayを参照してください。


drillanywhere(ドリルエニウェア)

説明

レポート上の任意のフィールドに「ドリルエニウェア」が適用されるたびにトリガーされます。

...

  • added:(Array)このドリルイベントに追加されたドリルオブジェクトの配列です。
  • drillState:(Array)レポート全体のドリルの状態です。convertDrillAnywhereToArrayを参照してください。


drillUp(ドリルアップ)

説明

レポートがドリルアップされるたびにトリガーされます。これは、「ドリルエニウェア」、および「ドリルダウン」両方のレポートをトリガーします。

...

  • removed:(Array)このドリルイベントから削除されたドリルオブジェクトの配列です。
  • drillState:(Array)レポート全体のドリルの状態です。convertDrillAnywhereToArray、またはconvertDrillDownToArrayを参照してください。


resetDrill(ドリルのリセット)

説明

フィールドのドリルの状態がリセットされるか、レポート全体のドリルの状態がリセットされるとトリガーされます。これは、ドリルエニウェア、およびドリルダウン両方のレポートをトリガーします。

...

  • removed:(Array)ドリルイベント内から削除されるドリルオブジェクトの配列です。
  • drillState:(Array)レポート全体のドリルの状態です。convertDrillAnywhereToArray、またはconvertDrillDownToArrayを参照してください。


reset(リセット)

説明

レポートリセット関数が呼び出されることでトリガーされます。

パラメーター

イベントデータはありません。


slider(スライダー)

説明

グラフのタイムスライダー値が変更されるとトリガーされます。

...

  • from:(Number)スライダー値の下限です。
  • To:(Number)スライダー値の上限です。
  • chartId:(Number)スライダーが変更されたグラフです。


unitSelection(単位選択)

説明

グラフの「単位選択」が変更されることでトリガーされます。

...

horizontalrule

Styleclass
ClasstopLink

ページトップ