提示
在 Power BI Embedded Analytics 遊樂場的 開發人員沙箱 區段中,使用您自己的報表或我們的範例報表,實時實驗 API。
事件可用來在Power BI元件(例如報表)與Web應用程式程式代碼之間進行通訊。
內嵌元件會在元件內執行動作之後發出事件。 這些可以是用戶互動或元件內的自動化動作(例如正在轉譯的視覺效果)。
例如,當使用者按兩下報表中的按鈕時,Power BI 報表會發出 buttonClicked 事件。 您可以使用 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
當 useCustomSaveAsDialog: true時,當使用者在UI中按兩下 [另存新檔] 時,就會引發 saveAsTriggered 事件。 這可讓您為 另存新檔 動作建立自己的對話方塊。
保存
saved 事件會在UI或 API 中使用 API 的 save 或 saveAs 動作觸發儲存時引發。
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 物件中將 visualRenderedEvents 設定為 true)。
注意
由於視覺效果可能會因為用戶互動而轉譯,因此建議只有在需要時才開啟此事件。
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
磚事件
當使用者按兩下磚時,就會引發 Tile 事件。
tileClicked (磚事件)
當使用者按兩下磚時,就會引發 tileClicked 事件。 未針對釘選的即時頁面引發。
tileId: string
navigationUrl: string
pageName: string
reportEmbedUrl: string
tileLoaded
當磚初始化時,會引發 tileLoaded 事件。 當 Power BI 標誌消失時,載入就會完成。