Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.
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.
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.
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.
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.
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):
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.
Passare all'area di lavoro desiderata.
Selezionare + Nuovo elemento.
Nella finestra Nuovo elemento selezionare Real-Time Dashboard. Cercare usando la casella di testo, se necessario.
Nella finestra popup Nuovo Real-Time Dashboard immettere un nome e un percorso dell'area di lavoro per il dashboard e selezionare Crea.
Nell'area di lavoro viene creato un nuovo dashboard.
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.
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.
Caricare il modello e connettere l'origine dati
Successivamente, usare un file modello per popolare il dashboard con riquadri basati sulle query KQL precedenti.
Scaricare il modello di dashboard DTB+RTI_dashboard.json dalla cartella di esempio in GitHub: digital-twin-builder/bus-scenario.
Nel dashboard in tempo reale, passare alla scheda Gestisci. Selezionare Sostituisci con file dalla barra multifunzione.
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.
Il file modello popola il dashboard con più riquadri, sebbene i riquadri non ottengano dati fino a quando non si riconnette la fonte dati.
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.
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.
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.
Contenuti correlati
Altre informazioni sugli operatori KQL usati in questa esercitazione:
- operatore di estensione
- operatore join
- Operatore del progetto
- Operatore di ordinamento
- operatore riassumi