1

Azure SQL을 데이터 소스로 사용하는 직접 쿼리를 사용하여 웹 응용 프로그램에 Power BI를 임베드했습니다.Power BI 임베디드, 직접 쿼리, 리프레시가 없음

Azure SQL 데이터베이스가 webjobs에 의해 업데이트되고 Power BI 내장 웹 응용 프로그램을 열어두면 예를 들어 탭을 변경하거나 슬라이서로 필터링하지 않는 한 새 데이터로 화면이 새로 고침되지 않습니다. .

"대시 보드에서 같은 시각화의 사용자 상호 작용이 존재하지 않는 경우, 데이터가 자동으로 새로 고쳐 약 15 분마다."다음 documentation에서 나는 다음과 같은 발견

내 경우 열린 시각 자료가 사용자 상호 작용없이 새로 고침되어야한다는 점을 올바르게 알고 있습니까?

자동으로 업데이트되지 않는 이유를 지적 할 수 있습니까? 또한 사용자 상호 작용없이 "... 약 15 분마다 ..."보다 정확히 직접 쿼리를 통해 새로 고침 시간을 제어하는 ​​방법을 알고 있습니까?

Power BI 데스크톱의 연결 속성을 검사 할 때 "직접 쿼리"를 표시했는지 확인했습니다.

답변

1

임베디드 보고서가 자동으로 새로 고침되지 않습니다. 그러나 Power BI JS 프레임 워크 (https://github.com/Microsoft/PowerBI-JavaScript)를 사용하여 작업 영역 컬렉션에서 보고서를 포함하는 경우 보고서가 직접 쿼리를 사용하는 경우 보고서 개체에 refresh() 메서드를 사용하여 수동으로 최신 데이터를 가져올 수 있습니다.

이 방법은 프레임 워크 2.2.0 버전에만 존재하며 이후 최신 버전 (현재 2.2.1)에서 제거되었으며 요금 청구에 대한 추가 테스트가 수행됩니다 (https://github.com/Microsoft/PowerBI-JavaScript/commit/5230b2f96b10a1104efecdffe78255b9788526b8 참조).

그러나 테스트에서 세션 수는 새로 고침 방법의 영향을받지 않는 것으로 나타났습니다. 최대 15 초 간격으로 새로 고칠 수 있습니다 (서버가 설정 한 한계). 그러나이 방법은 2.2.1에서 제거되었지만 2.2.0을 사용하면 현재 작동하는 것처럼 보입니다.

여기 보고서에게 할당 된 세션 내에서 매 분마다 새로 고침하는 신속하고 더러운 예입니다 : 세션이 만료

powerbi.embed(reportContainer, embedConfig); 
report = powerbi.get(reportContainer); 

window.setInterval(function() { 
    report.refresh(); 
}, 60 * 1000); 

경우를 (1 시간 후 현재) 다음 새 JWT가 요청 될 필요합니다 새 토큰으로 보고서를 다시로드해야합니다.

할당 된 세션 시간을 초과하여 보고서를 열어 두려면 세션 만료와 관련된 몇 가지 검사를 구현해야 할 수 있습니다.

+1

대시 보드를 임베드 한 경우 실시간 데이터 세트가 새로 고쳐지더라도 refresh() 메소드 호출이 필요하지 않습니다. cmyers가 말했듯이, 1 시간 후에 JWT 토큰을 새로 고침해야합니다. – guiferviz

관련 문제