Microsoft Fabric のリアルタイム ダッシュボードの概要

Microsoft Fabric のリアルタイム ダッシュボードを使用すると、Kusto 照会言語 (KQL) を使用してストリーミング データを視覚化し探索できます。 この演習では、リアルタイム データ ソースに基づいてリアルタイム ダッシュボードを作成して使用する方法について説明します。

このラボの所要時間は約 25 分です。

: この演習を完了するには、Microsoft Fabric テナントが必要です。

ワークスペースの作成

Fabric でデータを操作する前に、Fabric 容量を有効にしてワークスペースを作成する必要があります。

  1. https://app.fabric.microsoft.com/home?experience=fabricMicrosoft Fabric ホーム ページで、[リアルタイム インテリジェンス] を選択します。
  2. 左側のメニュー バーで、 [ワークスペース] を選択します (アイコンは 🗇 に似ています)。
  3. 任意の名前で新しいワークスペースを作成し、Fabric 容量を含むライセンス モード (“試用版”、Premium、または Fabric) を選択します。**
  4. 開いた新しいワークスペースは空のはずです。

    Fabric の空のワークスペースを示すスクリーンショット。

イベントハウスを作成する

ワークスペースが作成されたので、リアルタイム インテリジェンス ソリューションに必要な Fabric 項目の作成を開始できます。 まず、イベントハウスを作成します。

  1. 左側のメニュー バーで [ホーム] を選択し、リアルタイム インテリジェンス ホーム ページで新しい Eventhouse を作成し、任意の一意の名前を付けます。
  2. 新しい空のイベントハウスが表示されるまで、表示されているヒントまたはプロンプトを閉じます。

    新しいイベントハウスのスクリーンショット

  3. 左側のペインで、イベントハウスに Eventhouse と同じ名前の KQL データベースが含まれていることに注意してください。
  4. KQL データベースを選択して表示します。

イベントストリームを作成する

現段階では、データベースにテーブルはありません。 Eventstream を使用して、リアルタイム ソースからテーブルにデータを読み込みます。

  1. KQL データベースのメイン ページで、 [データの取得] を選択します。
  2. データ ソースで、[Eventstream > 新しい Eventstream] を選択します。 Eventstream Bicycle-data に名前を付けます。

    新しい Eventstream のスクリーンショット。

    ワークスペース内での新しいイベント ストリームの作成はすぐに完了します。 確立されると、Eventstream のデータ ソースを選択するように自動的にリダイレクトされます。

  3. [サンプル データの使用] を選択します。
  4. ソース名に Bicycles と名前を付け、[Bicycles] サンプル データを選択します。

    ストリームがマップされ、Eeventstream キャンバスに自動的に表示されます。

    Eventstream キャンバスの確認

  5. 変換先を追加する ドロップダウン リストで、[Eventhouse] を選択します。
  6. Eventhouse ペインで、次のセットアップ オプションを構成します。
    • データ インジェスト モード: インジェスト前イベント処理
    • 変換先の名前:bikes-table
    • *ワークスペース: **この演習の開始時に作成したワークスペースを選択します*
    • Eventhouse: イベントハウスを選択します
    • *KQL データベース: **KQL データベースを選択します*
    • 変換先テーブル: bikes という名前の新しいテーブルを作成します
    • 入力データ形式: JSON

    Eventstream の宛先データ

  7. Eventhouse ペインで、[保存] を選択します。
  8. Bicycles-data ノードの出力を bikes-table ノードに接続し、[発行] を選択します。
  9. データ変換先がアクティブになるまで 1 分ほど待ちます。 次に、デザイン キャンバスで bikes-table ノードを選択し、下の データのプレビュー ペインを表示して、取り込まれた最新のデータを表示します。

    Eventstream 内の宛先テーブルのスクリーンショット。

  10. 数分待ってから、[更新] ボタンを使用して データのプレビュー ペインを更新します。 ストリームは永続的に実行されているため、新しいデータがテーブルに追加されている可能性があります。

リアルタイム ダッシュ ボードの作成

イベントハウスのテーブルにリアルタイム データのストリームが読み込まれたので、リアルタイム ダッシュボードを使用して視覚化できます。

  1. 左側のメニュー バーで、ホーム ハブを選択します。 次に、ホーム ページで、bikes-dashboard という名前の新しい リアルタイム ダッシュボード を作成します。

    新しい空のダッシュボードが作成されます。

    新しいダッシュボードのスクリーンショット。

  2. ツール バーの [新しいデータ ソース] を選択し、新しい OneLake データ ハブ データ ソースを追加します。 次に、イベントハウスを選択し、次の設定で新しいデータ ソースを作成します。
    • 表示名: Bike Rental Data
    • データベース: イベントハウス内の既定のデータベース
    • パススルー ID: Selected
  3. [データ ソース] ペインを閉じ、ダッシュボード デザイン キャンバスで [タイトルを追加] を選択します。
  4. クエリ エディターで、自転車レンタル データ ソースが選択されていることを確認し、次の KQL コードを入力します。

     bikes
         | where ingestion_time() between (ago(30min) .. now())
         | summarize latest_observation = arg_max(ingestion_time(), *) by Neighbourhood
         | project Neighbourhood, latest_observation, No_Bikes, No_Empty_Docks
         | order by Neighbourhood asc
    
  5. クエリを実行すると、過去 30 分間に各近隣で観察された自転車の数と空の自転車ドックの数が表示されます。
  6. 変更を適用して、ダッシュボードのタイルのテーブルに表示されるデータを表示します。

    テーブルを含むタイルを使用したダッシュボードのスクリーンショット。

  7. タイルで、編集アイコン (鉛筆マーク) を選択します。 次に、ビジュアルの書式設定ペインで、次のプロパティを設定します。
    • タイル名: 自転車とドック
    • 視覚化タイプ: 横棒グラフ
    • 表示形式: 積み上げ横棒グラフ
    • Y 列: No_Bikes、No-Empty_Docks
    • X 列: 近隣
    • 系列の列: 推論
    • 凡例の場所: 下

    ご利用の編集時間は、次のようになります。

    棒グラフを含めるように編集されたタイルのスクリーンショット。

  8. 変更を適用し、タイルのサイズを変更して、ダッシュボードの左側の高さを最大限に高くします。

  9. ツール バーの [新しいタイル] を選択します。
  10. クエリ エディターで、自転車レンタル データ ソースが選択されていることを確認し、次の KQL コードを入力します。

     bikes
         | where ingestion_time() between (ago(30min) .. now())
         | summarize latest_observation = arg_max(ingestion_time(), *) by Neighbourhood
         | project Neighbourhood, latest_observation, Latitude, Longitude, No_Bikes
         | order by Neighbourhood asc
    
  11. クエリを実行します。このクエリは、過去 30 分間に各近隣で観察された自転車の場所と数を示します。
  12. 変更を適用して、ダッシュボードのタイルのテーブルに表示されるデータを表示します。
  13. タイルで、編集アイコン (鉛筆マーク) を選択します。 次に、ビジュアルの書式設定ペインで、次のプロパティを設定します。
    • タイル名: 自転車の場所
    • 視覚化タイプ: マップ
    • 緯度と経度 で場所を定義します
    • 緯度列: 緯度
    • 経度列: 経度
    • ラベル列: 近隣
    • サイズ: 表示
    • サイズ列: No_Bikes
  14. 変更を適用し、ダッシュボードの使用可能なスペースの右側を埋めるようにマップ タイルのサイズを変更します。

    グラフとマップを含むダッシュボードのスクリーンショット。

基本的なクエリの作成

ダッシュボードには、同様のクエリに基づく 2 つのビジュアルが含まれています。 重複を回避し、ダッシュボードの保守性を高めるために、共通データを 1 つのベース クエリに統合できます。

  1. ダッシュボード のツール バーで、[ベース クエリ] を選択します。 次に、 [+追加] を選択します。
  2. ベース クエリ エディターで、[変数名]base_bike_data に設定し、[自転車レンタル データ] ソースが選択されていることを確認します。 次のクエリを入力します。

    ```kql bikes | where ingestion_time() between (ago(30min) .. now()) | summarize latest_observation = arg_max(ingestion_time(), *) by Neighbourhood

  3. Run the query and verify that it returns all of the columns needed for both visuals in the dashboard (and some others).

    A screenshot of a base query.

  4. Select Done and then close the Base queries pane.
  5. Edit the Bikes and Docks bar chart visual, and change the query to the following code:

     base_bike_data
     | project Neighbourhood, latest_observation, No_Bikes, No_Empty_Docks
     | order by Neighbourhood asc
    
  6. 変更を適用し、横棒グラフにすべての近隣のデータが表示されていることを確認します。

  7. [自転車の場所] マップ ビジュアルを編集し、クエリを次のコードに変更します。

     base_bike_data
     | project Neighbourhood, latest_observation, No_Bikes, Latitude, Longitude
     | order by Neighbourhood asc
    
  8. 変更を適用し、マップにすべての近隣のデータが表示されていることを確認します。

パラメーターを追加する

ダッシュボードには現在、すべての地域の最新の自転車、ドック、場所データが表示されています。 次に、特定の地域を選択できるようにパラメーターを追加します。

  1. ダッシュボード ツール バーの [管理] タブで、[パラメーター] を選択します。
  2. 自動的に作成された既存のパラメーター (たとえば、時間の範囲パラメーター) に注意してください。 次にこれらを削除します。
  3. [+ 追加] を選択します。
  4. 次の設定でパラメーターを追加します。
    • ラベル: Neighbourhood
    • パラメーターの種類: 複数選択
    • 説明: Choose neighbourhoods
    • 変数名: selected_neighbourhoods
    • データ型: 文字列
    • ページに表示: すべて選択
    • ソース:クエリー
    • データ ソース: 自転車レンタル データ
    • クエリを編集します:

        bikes
        | distinct Neighbourhood
        | order by Neighbourhood asc
      
    • 値列: 近隣
    • ラベル列: 一致する値の選択
    • [すべて選択] の値を追加します: 選択済み
    • [すべて選択] は空の文字列を送信します: 選択済み
    • 既定値への自動リセット: 選択済み
    • 既定値: すべて選択
  5. [完了] を選択してパラメーターを作成します。

    パラメーターを追加したので、基本クエリを変更して、選択した近隣に基づいてデータをフィルター処理する必要があります。

  6. ツール バーで、[基本クエリ] を選択します。 次に、次のコードに示すように、base_bike_data クエリを選択し、それを編集して and 条件を where 句に追加し、選択したパラメーター値に基づいてフィルター処理します。

     bikes
         | where ingestion_time() between (ago(30min) .. now())
           and (isempty(['selected_neighbourhoods']) or Neighbourhood  in (['selected_neighbourhoods']))
         | summarize latest_observation = arg_max(ingestion_time(), *) by Neighbourhood
    
  7. [完了] を選択して基本クエリを保存します。

  8. ダッシュボードで、近隣パラメーターを使用して、選択した近隣に基づいてデータをフィルター処理します。

    パラメーターが選択されているダッシュボードのスクリーンショット。

  9. [リセット] を選択して、選択したパラメーター フィルターを削除します。

ページを追加

ダッシュボードは現在、1 つのページで構成されています。 さらにページを追加して、より多くのデータを提供できます。

  1. ダッシュボードの左側にある [ページ] ウィンドウを展開し、[ + ページの追加] を選択します。
  2. 新しいページに Page 2 という名前を付けます。 そしてこれを選択します。
  3. 新しいページで、[+ タイルの追加] を選択します
  4. 新しいタイルのクエリ エディターで、次のクエリを入力します。

     base_bike_data
     | project Neighbourhood, latest_observation
     | order by latest_observation desc
    
  5. 変更を適用します。 次に、ダッシュボードの高さに合わせてタイルのサイズを変更します。

    2 つのページを含むダッシュボードのスクリーンショット。

自動更新を構成する

ユーザーはダッシュボードを手動で更新できますが、設定された間隔でデータを自動的に更新すると便利な場合があります。

  1. ダッシュボードのツール バーの [管理] テーブルで、[自動更新] 選択します。
  2. [自動更新] ウィンドウで、次の設定を構成します。
    • 有効: 選択済み
    • 最小時間間隔: すべての更新間隔を許可する
    • 既定のリフレッシュ レート: 30 分
  3. 自動更新設定を適用します。

ダッシュボードを保存して共有する

これで便利なダッシュボードが作成され、保存して他のユーザーと共有できます。

  1. ダッシュボード ツール バーの [保存] を選択します。
  2. ダッシュボードが保存されたら、[共有] を選択します。
  3. [共有] ダイアログ ボックスで、[リンクをコピー] を選択し、ダッシュボードへのリンクをクリップボードにコピーします。
  4. 新しいブラウザー タブを開き、コピーしたリンクを貼り付けて共有ダッシュボードに移動します。 プロンプトが表示されたら、Fabric の資格情報で再度サインインします。
  5. ダッシュボードを使用して、市内の自転車と空の自転車ドックに関する最新情報を確認します。

リソースをクリーンアップする

ダッシュボードの探索が完了したら、この演習用に作成したワークスペースを削除できます。

  1. 左側のバーで、ワークスペースのアイコンを選択します。
  2. ツール バーで、[ワークスペース設定] を選択します。
  3. [全般] セクションで、[このワークスペースの削除] を選択します。