1

データソースとしてAzure SQLを使用して直接クエリを使用してWebアプリケーションに埋め込まれたPower BIを実装しました。Power BI埋め込みダイレクトクエリ、リフレッシュしない

Azure SQLデータベースがwebjobsによって更新されていて、Power BI組み込みWebアプリケーションを開いたままにしておくと、タブを変更したりスライサーでフィルタリングなどのクエリを起動しない限り、新しいデータでビジュアルがリフレッシュされません。

は「可視化でユーザー操作がない場合は、ダッシュボードのように、データは15分ごとについて、自動的に更新される。」:私は、次のを発見したdocumentation

私のケースで開いているビジュアルがユーザーの介入なしにリフレッシュする必要があることを正しく理解していますか?

自動的に更新されない理由を指摘できますか?また、「15分ごとに...」よりも正確にユーザーの操作を必要とせずに、直接クエリでリフレッシュの時間を制御する方法を知っていますか?

Power BIデスクトップの接続プロパティを調べるとそれが「ダイレクトクエリ」を示していることを確認しました。

答えて

1

私の理解では、埋め込みレポートは自動的にリフレッシュされません。ただし、Workspace Collectionからレポートを埋め込むためにPower BI JSフレームワーク(https://github.com/Microsoft/PowerBI-JavaScript)を使用している場合は、レポートがDirect Queryを使用している場合は、レポートオブジェクトに対してrefresh()メソッドを手動で最新のデータを取得できます。

このメソッドは、フレームワークのバージョン2.2.0にのみ存在し、最新のバージョン(現在は2.2.1)で削除され、請求処理に関するさらなるテストが実行されます(https://github.com/Microsoft/PowerBI-JavaScript/commit/5230b2f96b10a1104efecdffe78255b9788526b8参照)。

しかし、私のテストでは、セッション数はリフレッシュ方法の影響を受けていないことがわかりました。 15秒間隔でリフレッシュすることができます(サーバーによって設定された制限)。 2.2.1でメソッドが削除されていれば、これは変更されるかもしれませんが、2.2.0を使用しているのは現在動作しているようです。ここで

は、割り当てられたセッション内で毎分レポートを更新します迅速かつ汚い例だ。その後、新しいJWTを要求する必要がありますセッションが(現在は1時間後に)有効期限が切れた場合

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

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

とレポートに新しいトークンを再ロードする必要があります。

割り当てられたセッション時間を超えてレポートを開いたままにする予定がある場合は、セッションの終了時にいくつかのチェックを実装することができます。

+1

ダッシュボードを埋め込んだ場合は、refresh()メソッドを呼び出す必要はありません(リアルタイムのデータセットでも更新されます)。 cmyersが言ったように、1時間後にJWTトークンをリフレッシュする必要があります。 – guiferviz

関連する問題