Digital twin builder (prøveversion) i Real-Time Intelligence-selvstudium, del 5: Forespørg om og visualiser data

Nu, hvor dine digitale twin builder-data (prøveversion) er projekteret til et eventhouse, kan du undersøge dem med et KQL-forespørgselssæt og visualisere dem med et Real-Time dashboard. I denne del af selvstudiet konfigurerer du et KQL-forespørgselssæt (Kusto Query Language) med eksempelforespørgsler for at udtrække indsigt fra dataene og derefter visualisere denne indsigt med et Real-Time dashboard.

Vigtigt

Denne funktion er i prøveversion.

Forespørg dataene ved hjælp af KQL

Begynd hvor den forrige del af tutorialen slap, i fanen Tutorial_queryset for din Tutorial KQL-database.

+ Opret følgende nye forespørgsler ved hjælp af ovenstående forespørgselsrude. Du kan få flere oplysninger om oprettelse af KQL-forespørgsler under Forespørgselsdata i et KQL-forespørgselssæt.

Skærmbillede af en ny KQL-forespørgsel.

Status for forsinkelse

Denne forespørgsel beregner forsinkelsen af hver bustur ved at sammenligne det aktuelle tidspunkt og tiden med den næste station med det planlagte ankomsttidspunkt.

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

Kør forespørgslen, og se resultaterne.

Skærmbillede af forespørgselsresultaterne for forsinkelsesstatus.

Forsinkelser ved stop

Denne forespørgsel beregner oplysninger om forsinkelser fra et busstoppestedsperspektiv, herunder den gennemsnitlige forsinkelsestid ved stop, og hvor ofte ture til stoppestedet er forsinket.

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

Kør forespørgslen, og se resultaterne.

Skærmbillede af resultaterne af en stopforespørgselsforsinkelser.

Forsinkelser med bus og rute

Denne forespørgsel beregner oplysninger om forsinkelser fra et busruteperspektiv og beregner en gennemsnitlig forsinkelse for hver kombination af buslinje- og stopkode.

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

Kør forespørgslen, og se resultaterne.

Skærmbillede af resultaterne af forespørgslen Forsinkelser efter busrute.

Anslået forsinkelse

Denne forespørgsel forudsiger, om en bus vil være forsinket ved næste stop baseret på det aktuelle tidspunkt og tidspunktet til næste station.

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

Kør forespørgslen, og se resultaterne.

Skærmbillede af resultaterne af den estimerede ventetid.

Visualiser dataene i et Real-Time dashboard

Nu, hvor du har nogle KQL-forespørgsler til at udtrække indsigt fra dine data fra digital twin builder (prøveversion), kan du visualisere resultaterne af disse forespørgsler i et Real-Time Dashboard.

I dette afsnit skal du bruge en skabelonfil til at udfylde et Real-Time dashboard med data fra de forespørgsler, du oprettede i forrige afsnit, sammen med nogle få ekstra forespørgsler.

Sådan ser dashboardet ud (bemærk forespørgslerne fra forrige afsnit: Forsinkelsesstatus, Forsinkelser ved stop, Forsinkelser med bus og rute og Anslået ventetid):

Skærmbillede af dashboardet Real-Time.

Opret et nyt dashboard

Start med at oprette et tomt Real-Time dashboard i dit Fabric-arbejdsområde.

Realtidsdashboardet findes i konteksten af et arbejdsområde. Et nyt realtidsdashboard er altid knyttet til det arbejdsområde, du bruger, når du opretter det.

  1. Gå til det ønskede arbejdsområde.

  2. Vælg + Nyt element.

  3. Vælg Real-Time Dashboard i vinduet Nyt element. Søg efter tekstfeltet, hvis det er nødvendigt.

    Skærmbillede af siden Nyt element, hvor Real-Time Dashboard er valgt.

  4. I New Real-Time Dashboard-popupen skal du indtaste et navn og arbejdsområdeplacering for dashboardet, og vælge Opret det.

    Skærmbillede af siden Nyt Real-Time Dashboard med et navn til dashboardet.

  5. Der oprettes et nyt dashboard i dit arbejdsområde.

    Skærmbillede af det nyligt oprettede realtidsdashboard i realtidsintelligens i Microsoft Fabric.

  1. Dashboard-indstillinger kan ikke tilgås, før dashboardet er forbundet til en datakilde. Tilføj en indledende datakilde ved at vælge Tutorial KQL-databasen, hvor den er synlig på lærredet.

    Skærmbillede af tilføjelsen af en KQL-databasekilde.

    Databasen åbner med muligheden for at indtaste en forespørgsel for en ny flise. Da du importerer fliser i næste trin, er der ikke behov for at oprette en flise nu. Vælg Fjern ændringer for at vende tilbage til dashboardet, der nu fungerer med en datakildeforbindelse.

    Skærmbillede af at kassere tile-redigeringer.

Overfør skabelon, og opret forbindelse til datakilde

Brug derefter en skabelonfil til at udfylde dit dashboard med felter, der er baseret på dine KQL-forespørgsler fra tidligere.

  1. Download DTB+RTI_dashboard.json dashboardskabelonen fra eksempelmappen i GitHub: digital-twin-builder/bus-scenario.

  2. I dit Real-Time Dashboard skifter du til fanen Administrér . Vælg Erstat med fil fra menubåndet.

  3. Åbn den dashboardskabelonfil, du har downloadet. Fortsæt gennem migreringsadvarsler , der markerer skabelonens pladsholderværdier for databasen og arbejdsområde-id'et.

  4. Skabelonfilen fylder dashboardet med flere fliser, selvom fliserne ikke kan hente data, før du genopretter din datakilde.

    Skærmbillede af det Real-Time dashboard med fejl.

  5. Vælg Datakilder under fanen Administrer. Denne handling åbner ruden Datakilder med en eksempelkilde til dine data. Vælg redigeringsikonet for datakilden Selvstudium .

    Skærmbillede af administration af datakilder i Real-Time Dashboard.

  6. Under Database skal du vælge rullepilen og KQL-databasen. Vælg KQL-selvstudiet , og vælg Opret forbindelse. Lad de andre standardindstillinger være, vælg Anvend, og luk ruden Datakilder .

Efter et par sekunder udfyldes visualiseringerne med data fra databasen.

Tips

Dashboardet bevarer det aktuelle klokkeslæt i UTC, så tidsintervalvælgeren stemmer muligvis ikke overens med din lokale tid. Hvis du ikke kan se data i felterne, skal du udvide tidsintervallen.

Udforsk dashboardet. Du kan bruge ikonerne Rediger og Udforsk data på hvert felt til at få vist de underliggende forespørgsler, eksperimentere med at ændre tidsintervalfiltrene og andre feltindstillinger og prøve at tilføje dine egne nye forespørgsler og felter.

Skærmbillede af indstillinger for udforskning i Real-Time Dashboard.

Med denne visualisering er det komplette selvstudium om brug af digital twin builder (prøveversion) med Real-Time Intelligence fuldført. Du har brugt Digital Twin Builder til at kontekstualisere eksempelbusdata, der streames fra Real-Time Intelligence, og derefter projekterede du dine ontologidata til Eventhouse for at give yderligere indsigt via KQL-forespørgsler og et Real-Time dashboard.

Få mere at vide om de KQL-operatorer, der bruges i dette selvstudium:

Næste trin