イベントを処理する方法
先端
Power BI Embedded Analytics Playgroundの Developer サンドボックス セクションで、独自のレポートまたはサンプル レポートを使用して、リアルタイムで 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
イベントは、ハイパーリンクがクリックされたときに発生し、ハイパーリンクの動作 が NavigateAndRaiseEvent
または RaiseEvent
に設定されます。
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
イベントは、レポートの初期化時に発生します。 Power BI ロゴが消えると、読み込みが完了します。
pageChanged
pageChanged
イベントは、ページが変更されるたびに発生します。
newPage: Models.IPage
レンダリング
rendered
イベントは、レポートが完全に表示されるときに発生します。 たとえば、すべてのビジュアルがレポートの読み込み時やユーザー操作の後にレンダリングされる場合です。
saveAsTriggered
保存
saved
イベントは、UI の save
または saveAs
アクション、または API を使用して保存がトリガーされたときに発生します。
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
手記
ビジュアルはユーザーの操作によってレンダリングされる可能性があるため、このイベントは必要なときにのみ有効にすることをお勧めします。
name: string
詳細については、「レポート設定の構成」を参照してください。
モバイル 埋め込みイベントをレポートする
レポート埋め込みモバイル イベントは、スワイプの開始や終了など、モバイル レイアウト内の埋め込みレポートとの対話のために生成されます。
swipeStart イベントと swipeEnd イベント
swipeStart
または swipeEnd
イベントは、ユーザーが埋め込みレポートでスワイプの移動を開始または終了したときに発生します。
interface ISwipeEvent {
currentPosition: IPosition
startPosition: IPosition
}
interface IPosition {
x: number
y: number
}
ダッシュボード イベント
ダッシュボード イベントは、ダッシュボードが読み込まれ、ユーザーがダッシュボード内のタイルをクリックしたときに生成されます。
ロード
loaded
イベントは、ダッシュボードの初期化時に発生します。
tileClicked
tileClicked
イベントは、エンド ユーザーがタイルをクリックしたときに発生します。 ピン留めされたライブ ページでは発生しません。
tileId: string
navigationUrl: string
pageName: string
reportEmbedUrl: string
Q&A イベント
質問と回答 (Q&A) イベントは、質問の入力後にビジュアルがレンダリングされるときに発生します。
visualRendered (Q&A)
visualRendered
イベントは、質問が入力され、回答が表示された後にビジュアルがレンダリングされるときに発生します。
question: string
normalizedQuestion: string
タイル イベント
タイル イベントは、ユーザーがタイルをクリックしたときに発生します。
tileClicked (タイル イベント)
tileClicked
イベントは、エンド ユーザーがタイルをクリックしたときに発生します。 ピン留めされたライブ ページでは発生しません。
tileId: string
navigationUrl: string
pageName: string
reportEmbedUrl: string
tileLoaded
タイルが初期化されると、tileLoaded
イベントが発生します。 Power BI ロゴが消えると、読み込みが完了します。
関連コンテンツ
- レポート設定の構成
- レポート ビジュアル のメニュー コマンドを変更する
- ページ ナビゲーション
- 埋め込みレポート を作成、編集、保存する