イベントを処理する方法
ヒント
Power BI Embedded Analytics Playground の開発者サンドボックス セクションで、独自のレポートまたはサンプル レポートを使用して、リアルタイムで API を試します。
イベントは、Power BI コンポーネント (レポートなど) と Web アプリケーション コードの間で通信するために使用されます。
埋め込みコンポーネントは、コンポーネント内でアクションが実行された後にイベントを生成します。 これらは、コンポーネント内のユーザー操作や自動アクション (ビジュアルのレンダリングなど) です。
たとえば、 は、 buttonClicked
ユーザーがレポート内のボタンをクリックしたときに Power BI レポートによって生成されるイベントです。 を使用 report.on(...)
してイベントをリッスンし、イベント ハンドラーを設定できます。
イベントを処理する方法の例
この例では、レポート イベントを処理する方法を示します。 その他の種類のイベントについては、「 イベントとその応答値」を参照してください。
注意
API を使用する前に、コンポーネントが読み込まれるのを待ちます。 読み込まれたイベントをリッスンし、新しいコマンドを発行します。
report.on('loaded', function(event)
{
reportPages = await report.getPages();
});
イベント ハンドラーを削除する方法
を使用 report.off(...)
して、特定のイベントのすべてのイベント ハンドラーを削除できます。
イベントとその応答値
使用可能なイベントとその応答値の完全な一覧を表示します。
エラー イベント (すべての埋め込みに関連)
失敗した操作を説明するためにエラー イベントが生成されます。
interface IError {
message: string // A general message that describes the operation that failed (example: "Could not set page")
detailedMessage?: string // Detailed message that describes the error
errorCode?: string // Short message that describes the error
level?: TraceType // The level of the error (example: 'Fatal')
technicalDetails?: ITechnicalDetails
}
interface ITechnicalDetails {
requestId?: string // Id for debugging - should be provided when reporting a bug
}
注意
message
プロパティのみが必要であり、他のプロパティは未定義である可能性があります。
イベントを報告する
レポート イベントは、レポート ボタンのクリックやビジュアルのレンダリングなど、埋め込みレポートとの対話のために生成されます。
buttonClicked
イベントは buttonClicked
、ユーザーが [レポート ] ボタンをクリックしたときに発生します。
id: string
title?: string
type?: string (type of button)
bookmark?: string
commandTriggered
このイベントは commandTriggered
、ユーザーが 拡張機能コマンドをクリックしたときに発生します。
command: string
dataPoints?: IIdentityValue[]
report: models.IReport
page: models.IPage
visual: models.IVisual
dataHyperlinkClicked
イベントはdataHyperlinkClicked
、ハイパーリンクがクリックされ、ハイパーリンクの動作が または RaiseEvent
にNavigateAndRaiseEvent
設定されると発生します。
url: string
report: models.IReport
page: models.IPage
visual: models.IVisual
詳細については、「 レポート設定を構成する」を参照してください。
dataSelected
イベントは dataSelected
、特定のデータ ポイントが選択されたときに発生します。
report: models.IReport
page: models.IPage
visual: models.IVisual
filters: IFilter[]
dataPoints: IIdentityValue[]
loaded
イベントは loaded
、レポートの初期化時に発生します。 Power BI ロゴが消えると、読み込みが完了します。
pageChanged
イベントは pageChanged
、ページが変更されるたびに発生します。
newPage: Models.IPage
レンダリング
イベントは rendered
、レポートが完全にレンダリングされるときに発生します。 たとえば、レポートの読み込み時やユーザー操作後にすべてのビジュアルがレンダリングされる場合です。
saveAsTriggered
このイベントは saveAsTriggered
、ユーザーが UI で [名前を付けて保存] をクリックすると発生します。 これにより、[ 名前を付けて保存] アクション用の独自のダイアログを作成できます。
保存
イベントはsaved
、UI の または アクションまたは saveAs
API を使用してsave
保存がトリガーされたときに発生します。
selectionChanged
イベントは selectionChanged
、ユーザーが選択したビジュアルを変更するたびに発生します。
selectedItems
は、複数のビジュアルが選択されている場合に選択されたすべてのビジュアルの一覧です。
report: models.IReport
page: models.IPage
visual?: models.IVisual
selectedItems?: models.IVisual[]
visualClicked
イベントは visualClicked
、ビジュアルがクリックされるたびに発生します。
report: models.IReport
page: models.IPage
visual: models.IVisual
visualRendered
イベントはvisualRendered
、ビジュアルがレンダリングされるときに発生します (settings オブジェクトで true に設定visualRenderedEvents
する必要があります)。
Note
ビジュアルはユーザーの操作によってレンダリングされる可能性があるため、このイベントは必要な場合にのみ有効にすることをお勧めします。
name: string
詳細については、「 レポート設定を構成する」を参照してください。
モバイル埋め込みイベントをレポートする
モバイル レイアウト内の埋め込みレポートとの対話 (スワイプの開始や終了など) に対して、レポート埋め込みモバイル イベントが生成されます。
swipeStart イベントと swipeEnd イベント
swipeStart
または swipeEnd
、ユーザーが埋め込みレポートでスワイプ移動を開始または終了したときにイベントが発生します。
interface ISwipeEvent {
currentPosition: IPosition
startPosition: IPosition
}
interface IPosition {
x: number
y: number
}
ダッシュボード イベント
ダッシュボード イベントは、ダッシュボードが読み込まれ、ユーザーがダッシュボード内のタイルをクリックしたときに生成されます。
loaded
イベントは loaded
、ダッシュボードが初期化されるときに発生します。
tileClicked
イベントは tileClicked
、エンド ユーザーがタイルをクリックしたときに発生します。 ピン留めされたライブ ページでは発生しません。
tileId: string
navigationUrl: string
pageName: string
reportEmbedUrl: string
Q&A イベント
質問と回答 (Q&A) イベントは、質問を入力した後にビジュアルがレンダリングされるときに発生します。
visualRendered (Q&A)
イベントは visualRendered
、質問が入力され、回答が表示された後にビジュアルがレンダリングされるときに発生します。
question: string
normalizedQuestion: string
タイル イベント
タイル イベントは、ユーザーがタイルをクリックしたときに発生します。
tileClicked (tile イベント)
イベントは tileClicked
、エンド ユーザーがタイルをクリックしたときに発生します。 ピン留めされたライブ ページでは発生しません。
tileId: string
navigationUrl: string
pageName: string
reportEmbedUrl: string
tileLoaded
イベントは tileLoaded
、タイルが初期化されるときに発生します。 Power BI ロゴが消えると、読み込みが完了します。