이벤트를 처리하는 방법
팁
Power BI Embedded Analytics Playground개발자 샌드박스 섹션에서 사용자 고유의 보고서 또는 샘플 보고서를 사용하여 API를 실시간으로 실험합니다.
이벤트는 Power BI 구성 요소(예: 보고서)와 웹 애플리케이션 코드 간에 통신하는 데 사용됩니다.
포함된 구성 요소는 구성 요소 내에서 작업이 실행된 후 이벤트를 내보냅니다. 이러한 작업은 구성 요소 내에서 사용자 상호 작용 또는 자동화된 작업(예: 렌더링되는 시각적 개체)일 수 있습니다.
예를 들어 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
자세한 내용은 보고서 설정 구성
Embed Mobile 이벤트 보고
보고서 포함 모바일 이벤트는 살짝 밀기의 시작 또는 끝과 같은 모바일 레이아웃에서 포함된 보고서와의 상호 작용을 위해 내보내집니다.
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 로고가 사라지면 로드가 완료됩니다.