共用方式為


Real-Time Intelligence 教學課程的第 5 部分:數位雙胞體建構器(預覽)中的查詢和資料視覺化

現在,您的數位雙胞胎建構器(預覽)資料已投影到 eventhouse,您可以使用 KQL 查詢語句檢查它,並使用 Real-Time 儀表板將其視覺化。 在本教學課程的這個部分中,您會使用範例查詢來設定 KQL(Kusto 查詢語言)查詢集,以從數據擷取深入解析,然後使用 Real-Time 儀錶板將這些深入解析可視化。

這很重要

這項功能目前處於預覽階段。

使用 KQL 查詢數據

從教學課程的上一個部分開始 Tutorial_queryset

請使用查詢窗格上方的+建立下列新查詢。 (如需建立 KQL 查詢的詳細資訊,請參閱 在 KQL 查詢集中查詢數據

新 KQL 查詢的螢幕快照。

延遲狀態

此查詢會比較目前時間和下一個車站與排程抵達時間,以計算每個公交車車程的延遲。

//Start with the function generated by the eventhouse projection to get your time series bus data
Bus_timeseries()
// Parse your travel‑time string into a timespan
| extend TimeToNextStationSpan = totimespan(TimeToNextStation)      
// Compute when the bus will actually arrive
| extend PredictedArrival = PreciseTimestamp + TimeToNextStationSpan  
// Compare that prediction to the schedule
| extend Delay = PredictedArrival - ScheduleTime
| extend DelayRounded        = format_timespan(Delay, 'hh:mm:ss')
// Flag and label a delay of more than 5 minutes
| extend IsDelayed = Delay > 5m  
| extend DelayLabel = iff(IsDelayed, "Delayed", "On‑Time")              
// Select final output columns
| project
    TripId,
    BusLine,
    StopCode,
    DelayLabel,
    DelayRounded,
    PreciseTimestamp,
    TimeToNextStationSpan,
    PredictedArrival,
    ScheduledArrival = ScheduleTime

執行查詢並查看結果。

延遲狀態查詢結果的螢幕快照。

各站延遲

此查詢會從公車站的角度計算延遲的相關信息,包括公車站的平均延遲時間,以及行程晚點的頻率。

// Compute delay for each event
let delays = 
  Bus_timeseries()
  | extend TimeToNextStationSpan = totimespan(TimeToNextStation)
  | extend PredictedArrival = PreciseTimestamp + TimeToNextStationSpan
  | extend Delay = PredictedArrival - todatetime(ScheduleTime);
// Join to Stop metadata
delays
| join kind=inner (
    Stop_property()
    | project Stop_Code, DisplayName, Borough, Suggested_Locality
  ) on $left.StopCode == $right.Stop_Code
// Aggregate
| summarize
    AvgDelayMinutes = avg(Delay)      // average timespan
      / 1m,                           // convert to minutes
    TotalRuns = count(),
    LateRuns = countif(Delay > 5m)
  by Stop_Code, DisplayName, Borough, Locality=Suggested_Locality
| extend PercentLate = round((todouble(LateRuns) / TotalRuns * 100), 2)
| sort by AvgDelayMinutes

執行查詢並查看結果。

[依停止查詢結果延遲] 的螢幕快照。

公車及路線延誤

此查詢會從公交車路線的觀點計算延遲的相關信息,並計算每一個公交車線路和停車代碼組合的平均延遲。

Bus_timeseries()
| extend 
    // inline compute delay minutes without a two‑step PredictedArrival alias
    DelayMinutes = 
      (
        PreciseTimestamp 
        + totimespan(TimeToNextStation)
        - todatetime(ScheduleTime)
      ) / 1m
| summarize 
    AvgDelayMin = round(avg(DelayMinutes), 0)    // round to whole minutes
  by BusLine, StopCode
| sort by AvgDelayMin

執行查詢並查看結果。

[依公車路線延遲情況] 查詢結果的螢幕截圖。

估計延遲

此查詢會根據目前時間和下一站的時間,預測下一站的公交車是否會遲到。

Bus_timeseries()
// Compute when the bus will actually arrive at the next stop
| extend PredictedArrival = PreciseTimestamp + totimespan(TimeToNextStation)
// Classify "will be late" as a boolean
| extend WillBeLate = PredictedArrival > todatetime(ScheduleTime) + 5m
// Select final output columns
| project
    PreciseTimestamp,
    StopCode,
    PredictedArrival,
    WillBeLate

執行查詢並查看結果。

估計延遲查詢結果的螢幕快照。

將 Real-Time 儀錶板中的數據可視化

現在,您已經擁有一些 KQL 查詢,可以從數位雙胞胎生成器的預覽版本數據中擷取深入解析,您可以在 Real-Time 儀錶板中將這些查詢的結果可視化。

在本節中,您會使用範本檔案來填入 Real-Time 儀錶板,其中包含您在上一節中建立的查詢中的數據,以及一些額外的查詢。

以下是儀錶板的外觀(請注意上一節的查詢: 延遲狀態、依 停車延遲公交車和路線延誤,以及 估計延遲時間):

Real-Time 儀錶板的螢幕快照。

建立新的儀表板

首先,在Fabric工作區中建立空白 Real-Time 儀表板。

即時儀錶板存在於工作區的內容中。 新的即時儀錶板一律會與您建立工作區時所使用的工作區相關聯。

  1. 流覽至所需的工作區。

  2. 選取 + 新增項目

  3. 新增項目 視窗中,選取 儀錶板Real-Time。 如有需要,請使用文本框進行搜尋。

    [新增專案] 頁面的螢幕擷取畫面,已選擇 Real-Time 儀錶板。

  4. 在 [ 新增 Real-Time 儀錶板 ] 彈出視窗中,輸入儀錶板的名稱,然後選取 [ 建立]。

    新的 Real-Time 儀錶板頁面的截圖,其中包含儀錶板的名稱。

  5. 工作區中會建立新的儀錶板。

    Microsoft網狀架構中即時智慧中新建立的即時儀錶板螢幕快照。

上傳範本並連線數據源

接下來,使用模板檔案,根據您稍早的 KQL 查詢,將圖塊填入儀錶板。

  1. 從 GitHub 中的範例資料夾下載 DTB+RTI_dashboard.json 儀錶板範本: digital-twin-builder/bus-scenario

  2. 在 Real-Time 儀表板中,選取 管理 索引標籤,然後選擇 取代為檔案

  3. 開啟您下載的儀錶板範本檔案。 繼續處理 遷移警告,這些警告將範本的佔位符值標記為資料庫和工作區 ID。

  4. 範本檔案會以多個磚填入儀錶板,不過磚無法取得數據,因為尚未連線數據源。

    具有錯誤的 Real-Time 儀錶板螢幕快照。

  5. 從 [ 管理] 索引標籤中,選取 [數據源]。 此動作會開啟 [ 數據源 ] 窗格,其中包含您數據的範例來源。 選取 教程數據源 的編輯圖示。

    Real-Time 儀錶板中管理數據源的螢幕快照。

  6. [資料庫] 底下,選取下拉式箭號和 [KQL 資料庫]。 選取 Tutorial KQL 資料庫,然後選取 連線。 保留其他預設設定,選取 [ 套用],然後關閉 [資料來源 ] 窗格。

幾秒鐘之後,圖像會填入資料庫中的資料。

小提示

儀錶板會以 UTC 格式保留目前的時間,因此時間範圍選取器可能不符合您的當地時間。 如果您在磚塊中沒有看到資料,請展開時間範圍。

探索儀表板。 您可以使用每個磚上的 編輯探索數據 圖示來檢視基礎查詢、實驗變更時間範圍篩選和其他磚選項,並嘗試新增您自己的新查詢和磚。

Real-Time 儀錶板中探索選項的螢幕快照。

透過此視覺化,使用數位雙胞胎建構器(預覽)搭配 Real-Time Intelligence 的端對端教學課程已經完成。 您使用數位雙胞胎生成器將從 Real-Time Intelligence 串流來的範例巴士數據內容化,然後將您的本體數據投影到 Eventhouse,以通過 KQL 查詢和 Real-Time 儀錶板啟用進一步的深入分析。

深入瞭解本教學課程中使用的 KQL 運算子:

後續步驟