Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Nå som de digitale twin builder -dataene (forhåndsvisningsdataene) projiseres til et hendelseshus, kan du undersøke dem med et KQL-spørringssett og visualisere dem med et Real-Time instrumentbord. I denne delen av opplæringen konfigurerer du et KQL-spørringssett (Kusto-spørringsspråk) med eksempelspørringer for å trekke ut innsikter fra dataene, og deretter visualiserer du denne innsikten med et Real-Time instrumentbord.
Viktig!
Denne funksjonen er i forhåndsversjon.
Spør dataene ved hjelp av KQL
Begynn i Tutorial_queryset fra forrige del av opplæringen.
+ Opprett følgende nye spørringer ved hjelp av spørringsruten ovenfor. (Hvis du vil ha mer informasjon om hvordan du oppretter KQL-spørringer, kan du se Spørringsdata i et KQL-spørringssett.)
Forsinkelsesstatus
Denne spørringen beregner forsinkelsen for hver busstur ved å sammenligne gjeldende tid og klokkeslettet med neste stasjon med den planlagte ankomsttiden.
//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
Kjør spørringen, og se resultatene.
Forsinkelser ved stopp
Denne spørringen beregner informasjon om forsinkelser fra et busstoppperspektiv, inkludert gjennomsnittlig forsinkelsestid på stoppet, og hvor ofte turer til stoppet er sent.
// 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
Kjør spørringen, og se resultatene.
Forsinkelser med buss og rute
Denne spørringen beregner informasjon om forsinkelser fra et bussruteperspektiv, og beregner en gjennomsnittlig forsinkelse for hver kombinasjon av busslinje og stoppkode.
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
Kjør spørringen, og se resultatene.
Beregnet ventetid
Denne spørringen spår om en buss kommer for sent ved neste stopp, basert på gjeldende tidspunkt og klokkeslettet til neste stasjon.
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
Kjør spørringen, og se resultatene.
Visualiser dataene i et Real-Time instrumentbord
Nå som du har noen KQL-spørringer for å trekke ut innsikter fra de digitale tvillingverktøydataene (forhåndsvisningsdataene), kan du visualisere resultatene av disse spørringene i et Real-Time instrumentbord.
I denne delen bruker du en malfil til å fylle ut et Real-Time instrumentbord med data fra spørringene du opprettet i forrige del, sammen med noen ekstra spørringer.
Slik ser instrumentbordet ut (legg merke til spørringene fra forrige del: Forsinkelsesstatus, Forsinkelser etter stopp, Forsinkelser med buss og rute og Beregnet ventetid):
Opprett et nytt instrumentbord
Begynn med å opprette et tomt Real-Time instrumentbord i Fabric-arbeidsområdet.
Instrumentbordet i sanntid finnes i konteksten til et arbeidsområde. Et nytt instrumentbord i sanntid er alltid knyttet til arbeidsområdet du bruker når du oppretter det.
Bla til ønsket arbeidsområde.
Velg + Nytt element.
Velg Real-Time Instrumentbord i vinduet Nytt element. Søk ved hjelp av tekstboksen om nødvendig.
Skriv inn et navn på instrumentbordet på hurtigmenyen Nytt Real-Time instrumentbord , og velg Opprett.
Et nytt instrumentbord opprettes i arbeidsområdet.
Last opp mal og koble til datakilde
Deretter bruker du en malfil til å fylle ut instrumentbordet med fliser basert på KQL-spørringer fra tidligere.
Last ned DTB+RTI_dashboard.json instrumentbordmal fra eksempelmappen i GitHub: digital-twin-builder/bus-scenario.
Velg Behandle-fanen i Real-Time instrumentbordet, og erstatt med filen.
Åpne malfilen for instrumentbordet som du lastet ned. Fortsett gjennom overføringsadvarsler som flagger malens plassholderverdier for databasen og arbeidsområde-ID-en.
Malfilen fyller ut instrumentbordet med flere fliser, selv om flisene ikke kan hente data fordi det ikke finnes noen tilkoblet datakilde ennå.
Velg Datakilder på Behandle-fanen. Denne handlingen åpner datakilderuten med en eksempelkilde for dataene. Velg redigeringsikonet for opplæringsdatakilden .
Under Database velger du rullegardinpilen og KQL-databasen. Velg KQL-databasen for opplæring, og velg Koble til. La de andre standardinnstillingene stå, velg Bruk, og lukk Datakilder-ruten .
Etter noen sekunder fylles visualobjektene ut med data fra databasen.
Tips
Instrumentbordet beholder gjeldende tid i UTC, slik at tidsintervallvelgeren kanskje ikke samsvarer med lokal tid. Hvis du ikke ser data i flisene, utvider du tidsområdet.
Utforsk instrumentbordet. Du kan bruke ikonene Rediger og utforsk data på hver flis til å vise de underliggende spørringene, eksperimentere med å endre tidsområdefiltrene og andre flisalternativer, og prøve å legge til dine egne nye spørringer og fliser.
Med denne visualiseringen er ende-til-ende-opplæringen for bruk av digital twin builder (forhåndsvisning) med Real-Time Intelligence fullført. Du brukte digital twin builder til å kontekstualisere eksempelbussdata som strømmes fra Real-Time Intelligence, og deretter projiserte du ontologidataene til Eventhouse for å gi ytterligere innsikt gjennom KQL-spørringer og et Real-Time instrumentbord.
Relatert innhold
Lær mer om KQL-operatorene som brukes i denne opplæringen: