Del via


Digital twin builder (forhåndsvisning) i Real-Time Intelligence-opplæring del 5: Spørre og visualisere data

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.)

Skjermbilde av en ny KQL-spørring.

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.

Skjermbilde av spørringsresultatene for forsinkelsesstatus.

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.

Skjermbilde av resultatene for Forsinkelser etter stopp-spørring.

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.

Skjermbilde av spørringsresultatene Forsinkelser etter bussrute.

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.

Skjermbilde av spørringsresultatene for beregnet ventetid.

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):

Skjermbilde av instrumentbordet Real-Time.

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.

  1. Bla til ønsket arbeidsområde.

  2. Velg + Nytt element.

  3. Velg Real-Time Instrumentbord i vinduet Nytt element. Søk ved hjelp av tekstboksen om nødvendig.

    Skjermbilde av Siden Nytt element med Real-Time instrumentbord valgt.

  4. Skriv inn et navn på instrumentbordet på hurtigmenyen Nytt Real-Time instrumentbord , og velg Opprett.

    Skjermbilde av siden Nytt Real-Time instrumentbord med et navn på instrumentbordet.

  5. Et nytt instrumentbord opprettes i arbeidsområdet.

    Skjermbilde av nyopprettede instrumentbord i sanntid i Sanntidsintelligens i Microsoft Fabric.

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.

  1. Last ned DTB+RTI_dashboard.json instrumentbordmal fra eksempelmappen i GitHub: digital-twin-builder/bus-scenario.

  2. Velg Behandle-fanen i Real-Time instrumentbordet, og erstatt med filen.

  3. Åpne malfilen for instrumentbordet som du lastet ned. Fortsett gjennom overføringsadvarsler som flagger malens plassholderverdier for databasen og arbeidsområde-ID-en.

  4. Malfilen fyller ut instrumentbordet med flere fliser, selv om flisene ikke kan hente data fordi det ikke finnes noen tilkoblet datakilde ennå.

    Skjermbilde av instrumentbordet Real-Time med feil.

  5. Velg DatakilderBehandle-fanen. Denne handlingen åpner datakilderuten med en eksempelkilde for dataene. Velg redigeringsikonet for opplæringsdatakilden .

    Skjermbilde av administrasjon av datakilder på instrumentbordet Real-Time.

  6. 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.

Skjermbilde av utforskingsalternativer på instrumentbordet Real-Time.

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.

Lær mer om KQL-operatorene som brukes i denne opplæringen:

Neste trinn