Share via


이벤트를 처리하는 방법

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 링크를 클릭하면 이벤트가 발생하고 하이퍼링크의 동작이 또는 RaiseEventNavigateAndRaiseEvent 설정됩니다.

 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 시각적 개체가 렌더링될 때 발생합니다(설정 개체에서 를 true로 설정 visualRenderedEvents 해야 함).

참고

시각적 개체는 사용자 상호 작용으로 인해 렌더링될 수 있으므로 필요한 경우에만 이 이벤트를 켜는 것이 좋습니다.

 name: string

자세한 내용은 보고서 설정 구성을 참조하세요.

Embed Mobile 이벤트 보고

보고서 포함 모바일 이벤트는 살짝 밀기의 시작 또는 끝과 같은 모바일 레이아웃의 포함된 보고서와의 상호 작용을 위해 내보내집니다.

swipeStart 및 swipeEnd 이벤트

swipeStart 또는 swipeEnd 이벤트는 사용자가 포함된 보고서에서 살짝 밀기 이동을 시작하거나 종료할 때 발생합니다.

interface ISwipeEvent {
    currentPosition: IPosition
    startPosition: IPosition
}

interface IPosition {
    x: number
    y: number
}

대시보드 이벤트

dashboard 로드되고 사용자가 dashboard 타일을 클릭하면 dashboard 이벤트가 내보내집니다.

loaded

dashboard 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 로고가 사라지면 로드가 완료됩니다.

다음 단계