Generatore di gemelli digitali (anteprima) nell'esercitazione Real-Time Intelligence parte 5: Eseguire query e visualizzare i dati

Ora che i dati del generatore di gemelli digitali (anteprima) vengono proiettati in una eventhouse, è possibile esaminarli con una query KQL e visualizzarli con un Real-Time Dashboard. In questa parte dell'esercitazione configuri un set di query KQL (Kusto Query Language) con query di esempio per estrarre approfondimenti dai dati, poi visualizza questi approfondimenti con un Dashboard Real-Time.

Importante

Questa funzionalità si trova in Anteprima.

Effettuare una query sui dati utilizzando KQL

Inizia da dove è stata interrotta la parte precedente dell'esercitazione, nella scheda Tutorial_queryset per il database dell'esercitazione KQL.

Usando il + sopra il riquadro delle query, creare le seguenti nuove query. Per altre informazioni sulla creazione di query KQL, vedere Eseguire query sui dati in un set di query KQL.

Screenshot di una nuova query KQL.

Lo stato del ritardo

Questa query calcola il ritardo di ogni viaggio del bus confrontando l'ora attuale e il tempo fino alla prossima fermata con l'orario di arrivo pianificato.

//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

Eseguire la query e visualizzare i risultati.

Screenshot dei risultati della query Stato di ritardo.

Ritardi per fermata

Questa query calcola le informazioni sui ritardi dal punto di vista di una fermata dell'autobus, incluso il tempo medio di ritardo alla fermata e la frequenza con cui i viaggi verso la fermata sono in ritardo.

// 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

Eseguire la query e visualizzare i risultati.

Screenshot dei risultati della query Delay by Stop.

Ritardi in autobus e itinerari

Questa query calcola le informazioni sui ritardi dal punto di vista delle linee degli autobus, calcolando un ritardo medio per ogni combinazione di linea e codice della fermata.

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

Eseguire la query e visualizzare i risultati.

Screenshot dei risultati della query Ritardi per Linea di Autobus.

Ritardo stimato

Questa query consente di stimare se un autobus sarà in ritardo alla prossima fermata, in base all'ora corrente e all'ora della stazione successiva.

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

Eseguire la query e visualizzare i risultati.

Screenshot dei risultati della query sul ritardo stimato.

Visualizzare i dati in un dashboard di Real-Time

Ora che sono disponibili alcune query KQL per estrarre informazioni dettagliate dai dati del generatore di gemelli digitali (anteprima), è possibile visualizzare i risultati di tali query in un dashboard di Real-Time.

In questa sezione si usa un file modello per popolare un dashboard di Real-Time con i dati delle query create nella sezione precedente, insieme ad alcune query aggiuntive.

Ecco l'aspetto del dashboard (si notino le query della sezione precedente: Stato ritardo, Ritardi per fermata, Ritardi per autobus e itinerario e Ritardo stimato):

Screenshot del dashboard Real-Time.

Crea un nuovo dashboard

Per iniziare, creare il Dashboard vuoto Real-Time nel tuo spazio di lavoro Fabric.

Il Dashboard in tempo reale è presente nel contesto di un'area di lavoro. Un nuovo dashboard in tempo reale è sempre associato all'area di lavoro in uso durante la creazione.

  1. Passare all'area di lavoro desiderata.

  2. Selezionare + Nuovo elemento.

  3. Nella finestra Nuovo elemento selezionare Real-Time Dashboard. Cercare usando la casella di testo, se necessario.

    Screenshot della Pagina del nuovo elemento con Real-Time Dashboard selezionato.

  4. Nella finestra popup Nuovo Real-Time Dashboard immettere un nome e un percorso dell'area di lavoro per il dashboard e selezionare Crea.

    Screenshot della pagina della Nuova Dashboard Real-Time con un nome per la dashboard.

  5. Nell'area di lavoro viene creato un nuovo dashboard.

    Screenshot del cruscotto in tempo reale appena creato nell'Intelligence in tempo reale in Microsoft Fabric.

  1. Non è possibile accedere alle opzioni del dashboard finché il dashboard non è connesso a un'origine dati. Aggiungere un'origine dati iniziale selezionando il database KQL Tutorial dove è visibile nel canvas.

    Screenshot dell'aggiunta di un'origine del database KQL.

    Il database viene aperto con l'opzione per immettere una query per un nuovo riquadro. Poiché si importano riquadri nel passaggio successivo, non è necessario creare un riquadro ora. Selezionare Elimina modifiche per tornare al dashboard che ora funziona con una connessione all'origine dati.

    Screenshot dell'eliminazione delle modifiche ai riquadri.

Caricare il modello e connettere l'origine dati

Successivamente, usare un file modello per popolare il dashboard con riquadri basati sulle query KQL precedenti.

  1. Scaricare il modello di dashboard DTB+RTI_dashboard.json dalla cartella di esempio in GitHub: digital-twin-builder/bus-scenario.

  2. Nel dashboard in tempo reale, passare alla scheda Gestisci. Selezionare Sostituisci con file dalla barra multifunzione.

  3. Aprire il file del modello di dashboard scaricato. Continuare con gli avvisi di migrazione che contrassegnano i valori segnaposto del modello per il database e l'ID dell'area di lavoro.

  4. Il file modello popola il dashboard con più riquadri, sebbene i riquadri non ottengano dati fino a quando non si riconnette la fonte dati.

    Screenshot del dashboard Real-Time con errori.

  5. Nella scheda Gestisci selezionare Origini dati. Questa azione apre il riquadro Origini dati con un'origine di esempio per i dati. Seleziona l'icona di modifica per l'origine dati Tutorial.

    Screenshot della gestione delle origini dati nel dashboard Real-Time.

  6. In Database selezionare la freccia a discesa e il database KQL. Selezionare il database KQL tutorial e selezionare Connetti. Lasciare le altre impostazioni predefinite, selezionare Applica e chiudere il riquadro Origini dati .

Dopo alcuni secondi, i visualizzatori si riempiono di dati dal tuo database.

Suggerimento

Il dashboard mantiene l'ora corrente in formato UTC, quindi il selettore dell'intervallo di tempo potrebbe non corrispondere all'ora locale. Se i dati non vengono visualizzati nei riquadri, espandere l'intervallo di tempo.

Esplorare il dashboard. È possibile usare le icone Modifica ed Esplora dati in ogni riquadro per visualizzare le query sottostanti, provare a modificare i filtri dell'intervallo di tempo e altre opzioni del riquadro e provare ad aggiungere nuove query e riquadri.

Screenshot delle opzioni di esplorazione nel dashboard di Real-Time.

Con questa visualizzazione, l'esercitazione completa per l'utilizzo del costruttore di gemelli digitali (anteprima) con Real-Time Intelligence è terminata. Hai utilizzato il costruttore di gemelli digitali per contestualizzare i dati del bus di esempio trasmessi da Real-Time Intelligence, quindi hai proiettato i tuoi dati di ontologia in Eventhouse per consentire ulteriori approfondimenti tramite query KQL e una dashboard Real-Time.

Altre informazioni sugli operatori KQL usati in questa esercitazione:

Passo successivo