beolvasási operátor
A predikátumok alapján beolvassa az adatokat, az egyezéseket és a buildeket.
Az egyező rekordok meghatározása az operátor lépéseiben meghatározott predikátumok alapján történik. A predikátumok az előző lépések által létrehozott állapottól függhetnek. Az egyező rekord kimenetét az operátor lépéseiben meghatározott bemeneti rekord és hozzárendelések határozzák meg.
Syntax
T| scan
[ with_match_id
=
MatchIdColumnName ] [ declare
(
ColumnDeclarations)
] with
(
StepDefinitions)
ColumnDeclarations szintaxis
ColumnName:
ColumnType[=
DefaultValue ] [,
... ]
StepDefinition szintaxis
step
StepName [ output
| | all
last
none
= ] :
Feltétel [ =>
Oszlop-hozzárendelés=
[,
... ] ];
További információ a szintaxis konvenciókról.
Paraméterek
Név | Típus | Kötelező | Leírás |
---|---|---|---|
T | string |
✔️ | A bemeneti táblázatos forrás. |
MatchIdColumnName | string |
A vizsgálat végrehajtásának részeként a kimenethez hozzáfűzött típusú long oszlop neve. A rekord egyezésének 0-alapú indexét jelzi. |
|
ColumnDeclarations | string |
Deklarálja a T sémájának kiterjesztését. Ezek az oszlopok a lépésekben vannak hozzárendelve értékekhez. Ha nincs hozzárendelve, a rendszer a DefaultValue értéket adja vissza. Ha másként nincs megadva, a DefaultValue értéke .null |
|
StepName | string |
✔️ | A feltételek és hozzárendelések vizsgálatának állapotában lévő értékekre való hivatkozásra szolgál. A lépés nevének egyedinek kell lennie. |
Feltétel | string |
✔️ | Olyan kifejezés, amely kiértékeli vagy true false meghatározza, hogy a bemenet mely rekordjai egyeznek meg a lépéssel. Egy rekord megegyezik azzal a lépéssel, amikor a feltétel true a lépés állapotával vagy az előző lépés állapotával van. |
Hozzárendelés | string |
Skaláris kifejezés, amely akkor van hozzárendelve a megfelelő oszlophoz, ha egy rekord megfelel egy lépésnek. | |
output |
string |
A lépés kimeneti logikáját szabályozza az ismétlődő egyezéseken. all a lépésnek megfelelő összes rekordot kimeneteli, last csak a lépéshez tartozó ismétlődő egyezések sorozatának utolsó rekordját adja ki, és none nem a lépésnek megfelelő rekordokat adja ki. A mező alapértelmezett értéke: all . |
Válaszok
Rekord egy rekord minden egyes egyezéséhez a bemenettől a lépésig. A kimenet sémája a záradék oszlopával declare
bővített forrás sémája.
Pásztázó logika
scan
átmegy a szerializált bemeneti adatokon, rekordonként rögzíti, összehasonlítja az egyes rekordokat az egyes lépések feltételével, és figyelembe veszi az egyes lépések aktuális állapotát.
Állapot
Az operátor mögöttes állapota scan
olyan táblázatnak tekinthető, amely minden step
egyes sorhoz tartozik. Minden lépés fenntartja a saját állapotát az oszlopok legújabb értékeivel és az összes előző lépés és az aktuális lépés deklarált változóival. Adott esetben a folyamatban lévő sorozat egyezés-azonosítóját is tartalmazza.
Ha egy vizsgálati operátornak ns_1,s_2, ..., s_n nevű lépése van, akkor a s_k lépés k rekordjai s_1,s_2, ..., s_k. A StepName. A ColumnName formátum egy állapotban lévő értékre való hivatkozásra szolgál. Például s_2.col1
a s_k állapotában lévő s_2 lépéshez tartozó oszlopra col1
hivatkozna. Részletes példát a vizsgálati logika útmutatójában talál.
Az állapot üresen indul, és minden alkalommal frissül, amikor egy beolvasott bemeneti rekord megfelel egy lépésnek. Ha az aktuális lépés állapota nem megfelelő, a lépést aktív sorozatnak nevezzük.
Egyező logika
Minden bemeneti rekord kiértékelése fordított sorrendben történik, az utolsó lépéstől az elsőig. Ha egy rekord r kiértékelése egy s_k lépésen történik, a rendszer a következő logikát alkalmazza:
1. ellenőrzés: Ha az előző lépés (s_k-1) állapota nem megfelelő, és az r megfelel a s_kfeltételének, akkor egyezés történik. Az egyezés a következő műveletekhez vezet:
- A s_k állapota törlődik.
- A s_k-1 állapota a s_k állapotává lesz előléptetve.
- A s_k hozzárendeléseinek kiszámítása és kiterjesztése r.
- A kiterjesztett r hozzá lesz adva a kimenethez és a s_k állapotához.
Megjegyzés
Ha az 1. ellenőrzés egyezést eredményez, a 2. ellenőrzés figyelmen kívül lesz hagyva, és az r tovább lép a s_k-1 alapján történő kiértékelésre.
2. ellenőrzés: Ha a s_k állapota aktív sorozattal rendelkezik, vagy s_k az első lépés, és az r megfelel a s_kfeltételének, akkor egyezés történik. Az egyezés a következő műveletekhez vezet:
- A s_k hozzárendeléseinek kiszámítása és kiterjesztése r.
- A s_k állapotában s_k ábrázoló értékek helyébe a kiterjesztett r érték kerül.
- Ha s_k definiálva
output=all
van, akkor a kiterjesztett r lesz hozzáadva a kimenethez. - Ha s_k az első lépés, egy új sorozat kezdődik, és az egyezés azonosítója a következővel
1
nő: . Ez csak akkor befolyásolja a kimenetet, hawith_match_id
használatban van.
Ha a s_k ellenőrzése befejeződött, az r továbbhalad az s_k-1-hez való kiértékeléshez.
Ennek a logikának a részletes példájáért tekintse meg a vizsgálati logika útmutatóját.
Példák
Összesített összeg
Egy bemeneti oszlop összegének kiszámítása. A példa eredménye egyenértékű a row_cumsum() használatával.
range x from 1 to 5 step 1
| scan declare (cumulative_x:long=0) with
(
step s1: true => cumulative_x = x + s1.cumulative_x;
)
Kimenet
x | cumulative_x |
---|---|
1 | 1 |
2 | 3 |
3 | 6 |
4 | 10 |
5 | 15 |
Összeg összegének összege több oszlopon alaphelyzetbe állítási feltétellel
Számítsa ki a két bemeneti oszlop összesített összegét, állítsa vissza az összeg értékét az aktuális rekordértékre, amikor az összeg elérte a 10-et vagy több értéket.
range x from 1 to 5 step 1
| extend y = 2 * x
| scan declare (cumulative_x:long=0, cumulative_y:long=0) with
(
step s1: true => cumulative_x = iff(s1.cumulative_x >= 10, x, x + s1.cumulative_x),
cumulative_y = iff(s1.cumulative_y >= 10, y, y + s1.cumulative_y);
)
Kimenet
x | é | cumulative_x | cumulative_y |
---|---|---|---|
1 | 2 | 1 | 2 |
2 | 4 | 3 | 6 |
3 | 6 | 6 | 12 |
4 | 8 | 10 | 8 |
5 | 10 | 5 | 18 |
Oszlop kitöltése előre
Sztringoszlop kitöltése. Minden üres értékhez az utolsóként látható nonempty érték lesz hozzárendelve.
let Events = datatable (Ts: timespan, Event: string) [
0m, "A",
1m, "",
2m, "B",
3m, "",
4m, "",
6m, "C",
8m, "",
11m, "D",
12m, ""
]
;
Events
| sort by Ts asc
| scan declare (Event_filled: string="") with
(
step s1: true => Event_filled = iff(isempty(Event), s1.Event_filled, Event);
)
Kimenet
Ts | Esemény | Event_filled |
---|---|---|
00:00:00 | A | A |
00:01:00 | A | |
00:02:00 | B | B |
00:03:00 | B | |
00:04:00 | B | |
00:06:00 | C | C |
00:08:00 | C | |
00:11:00 | T | T |
00:12:00 | T |
Munkamenetek címkézése
Ossza fel a bemenetet munkamenetekre: a munkamenet a munkamenet első eseménye után 30 perccel ér véget, majd egy új munkamenet kezdődik. Figyelje meg a jelölő használatát with_match_id
, amely egyedi értéket rendel a vizsgálat minden egyes különálló egyezéséhez (munkamenetéhez). Vegye figyelembe a példában szereplő két lépés speciális használatát is, amely feltételként szolgáltrue
, inSession
így rögzíti és kimenetként adja ki a bemenet összes rekordját, miközben endSession
rögzíti azokat a sessionStart
rekordokat, amelyek az aktuális egyezés értékétől több mint 30 m-et fordulnak elő. A endSession
lépés azt output=none
jelenti, hogy nem hoz létre kimeneti rekordokat. A endSession
lépés az aktuális egyezés állapotának a-ról inSession
endSession
a-ra való előléptetésére szolgál, így az aktuális rekordtól kezdve új egyezés (munkamenet) kezdődhet.
let Events = datatable (Ts: timespan, Event: string) [
0m, "A",
1m, "A",
2m, "B",
3m, "D",
32m, "B",
36m, "C",
38m, "D",
41m, "E",
75m, "A"
]
;
Events
| sort by Ts asc
| scan with_match_id=session_id declare (sessionStart: timespan) with
(
step inSession: true => sessionStart = iff(isnull(inSession.sessionStart), Ts, inSession.sessionStart);
step endSession output=none: Ts - inSession.sessionStart > 30m;
)
Kimenet
Ts | Esemény | sessionStart | session_id |
---|---|---|---|
00:00:00 | A | 00:00:00 | 0 |
00:01:00 | A | 00:00:00 | 0 |
00:02:00 | B | 00:00:00 | 0 |
00:03:00 | T | 00:00:00 | 0 |
00:32:00 | B | 00:32:00 | 1 |
00:36:00 | C | 00:32:00 | 1 |
00:38:00 | T | 00:32:00 | 1 |
00:41:00 | E | 00:32:00 | 1 |
01:15:00 | A | 01:15:00 | 2 |
Események a Start és a Leállítás között
Keresse meg az esemény Start
és az 5 percen belül bekövetkező eseménysorozatok Stop
mindegyikét. Rendeljen hozzá egyezés-azonosítót az egyes sorozatokhoz.
let Events = datatable (Ts: timespan, Event: string) [
0m, "A",
1m, "Start",
2m, "B",
3m, "D",
4m, "Stop",
6m, "C",
8m, "Start",
11m, "E",
12m, "Stop"
]
;
Events
| sort by Ts asc
| scan with_match_id=m_id with
(
step s1: Event == "Start";
step s2: Event != "Start" and Event != "Stop" and Ts - s1.Ts <= 5m;
step s3: Event == "Stop" and Ts - s1.Ts <= 5m;
)
Kimenet
Ts | Esemény | m_id |
---|---|---|
00:01:00 | Indítás | 0 |
00:02:00 | B | 0 |
00:03:00 | T | 0 |
00:04:00 | Leállítás | 0 |
00:08:00 | Indítás | 1 |
00:11:00 | E | 1 |
00:12:00 | Leállítás | 1 |
Események egyéni tölcsérének kiszámítása
Számítsa ki a sorozat Hail
tölcsérkiegészítését –>Tornado
az>Thunderstorm Wind
State
események közötti időpontokra vonatkozó egyéni küszöbértékekkel (Tornado
belül 1h
és Thunderstorm Wind
belül).2h
Ez a példa hasonló a funnel_sequence_completion beépülő modulhoz, de nagyobb rugalmasságot tesz lehetővé.
StormEvents
| partition hint.strategy=native by State
(
sort by StartTime asc
| scan with
(
step hail: EventType == "Hail";
step tornado: EventType == "Tornado" and StartTime - hail.StartTime <= 1h;
step thunderstormWind: EventType == "Thunderstorm Wind" and StartTime - tornado.StartTime <= 2h;
)
)
| summarize dcount(State) by EventType
Kimenet
EventType | dcount_State |
---|---|
Jégeső | 50 |
Tornádó | 34 |
Zivatar szél | 32 |
Logikai útmutató beolvasása
Ez a szakasz a beolvasási logikát mutatja be a kezdés és a leállítás közötti események részletes útmutatójának használatával:
let Events = datatable (Ts: timespan, Event: string) [
0m, "A",
1m, "Start",
2m, "B",
3m, "D",
4m, "Stop",
6m, "C",
8m, "Start",
11m, "E",
12m, "Stop"
]
;
Events
| sort by Ts asc
| scan with_match_id=m_id with
(
step s1: Event == "Start";
step s2: Event != "Start" and Event != "Stop" and Ts - s1.Ts <= 5m;
step s3: Event == "Stop" and Ts - s1.Ts <= 5m;
)
Az állapot
Az operátor állapotát scan
úgy tekinti, mint egy táblát, amelyben minden lépéshez tartozik egy sor, amelyben minden lépésnek saját állapota van. Ez az állapot az oszlopok és a deklarált változók legújabb értékeit tartalmazza az összes előző lépésből és az aktuális lépésből. További információ: Állapot.
Ebben a példában az állapot a következő táblával ábrázolható:
lépés | m_id | s1. Ts | s1. Esemény | s2. Ts | s2. Esemény | s3. Ts | s3. Esemény |
---|---|---|---|---|---|---|---|
s1 | X | X | X | X | |||
s2 | X | X | |||||
s3 |
Az "X" azt jelzi, hogy egy adott mező irreleváns az adott lépéshez.
Az egyező logika
Ez a szakasz a tábla minden rekordján végigköveti az Events
egyező logikát, amely az állapot és a kimenet minden lépésben történő átalakítását ismerteti.
Megjegyzés
A bemeneti rekordokat a rendszer fordított sorrendben értékeli ki, az utolsó lépéstől (s3
) az első lépésig (s1
).
1. rekord
Ts | Esemény |
---|---|
0m | "A" |
A kiértékelés rögzítése az egyes lépéseknél:
s3
: Az 1. ellenőrzés nem lett átadva, mert az állapotas2
üres, és a 2. ellenőrzés nem lett átadva, merts3
nincs aktív sorozat.s2
: Az 1. ellenőrzés nem lett átadva, mert az állapotas1
üres, és a 2. ellenőrzés nem lett átadva, merts2
nincs aktív sorozat.s1
: Az 1. ellenőrzés irreleváns, mert nincs előző lépés. A 2. ellenőrzés nem lett átadva, mert a rekord nem felel meg a feltételnekEvent == "Start"
. Az 1. rekord elvetése az állapot vagy a kimenet befolyásolása nélkül történik.
Állami:
lépés | m_id | s1. Ts | s1. Esemény | s2. Ts | s2. Esemény | s3. Ts | s3. Esemény |
---|---|---|---|---|---|---|---|
s1 | X | X | X | X | |||
s2 | X | X | |||||
s3 |
2. rekord
Ts | Esemény |
---|---|
1m | "Start" |
A kiértékelés rögzítése az egyes lépéseknél:
s3
: Az 1. ellenőrzés nem lett átadva, mert az állapotas2
üres, és a 2. ellenőrzés nem lett átadva, merts3
nincs aktív sorozat.s2
: Az 1. ellenőrzés nem lett átadva, mert az állapotas1
üres, és a 2. ellenőrzés nem lett átadva, merts2
nincs aktív sorozat.s1
: Az 1. ellenőrzés irreleváns, mert nincs előző lépés. A 2. ellenőrzés azért lett átadva, mert a rekord megfelel a feltételnekEvent == "Start"
. Ez az egyezés elindít egy új sorozatot, és am_id
hozzá van rendelve. A 2. rekord és annakm_id
(0
) hozzáadása az állapothoz és a kimenethez.
Állami:
lépés | m_id | s1. Ts | s1. Esemény | s2. Ts | s2. Esemény | s3. Ts | s3. Esemény |
---|---|---|---|---|---|---|---|
s1 | 0 | 00:01:00 | "Start" | X | X | X | X |
s2 | X | X | |||||
s3 |
3. rekord
Ts | Esemény |
---|---|
2m | "B" |
A kiértékelés rögzítése az egyes lépéseknél:
s3
: Az 1. ellenőrzés nem lett átadva, mert az állapotas2
üres, és a 2. ellenőrzés nem lett átadva, merts3
nincs aktív sorozat.s2
: Az 1-et azért adták át, mert az állapotas1
nem megfelelő, és a rekord megfelel a feltételnekTs - s1.Ts < 5m
. Ez a megfeleltetés miatt az állapots1
törlődik, a sorrend pedigs1
előléptethető a következőres2
: . A 3. rekord és annakm_id
(0
) hozzáadása az állapothoz és a kimenethez.s1
: Az 1. ellenőrzés nem releváns, mert nincs előző lépés, és a 2 . ellenőrzés nem lett átadva, mert a rekord nem felel meg a feltételnekEvent == "Start"
.
Állami:
lépés | m_id | s1. Ts | s1. Esemény | s2. Ts | s2. Esemény | s3. Ts | s3. Esemény |
---|---|---|---|---|---|---|---|
s1 | X | X | X | X | |||
s2 | 0 | 00:01:00 | "Start" | 00:02:00 | "B" | X | X |
s3 |
4. rekord
Ts | Esemény |
---|---|
3m | "D" |
A kiértékelés rögzítése az egyes lépéseknél:
s3
: Az 1. ellenőrzés nem lett átadva, mert a rekord nem felel meg a feltételnekEvent == "Stop"
, és a 2. ellenőrzés nem lett átadva, merts3
nincs aktív sorozat.s2
: Az 1. ellenőrzés nem lett átadva, mert az állapotas1
üres. a 2. ellenőrzést adja át, mert megfelel a feltételnekTs - s1.Ts < 5m
. A 4. rekord és annakm_id
(0
) hozzáadása az állapothoz és a kimenethez. A rekord értékei felülírják a éss2.Event
a korábbi állapotértékeits2.Ts
.s1
: Az 1. ellenőrzés nem releváns, mert nincs előző lépés, és a 2 . ellenőrzés nem lett átadva, mert a rekord nem felel meg a feltételnekEvent == "Start"
.
Állami:
lépés | m_id | s1. Ts | s1. Esemény | s2. Ts | s2. Esemény | s3. Ts | s3. Esemény |
---|---|---|---|---|---|---|---|
s1 | X | X | X | X | |||
s2 | 0 | 00:01:00 | "Start" | 00:03:00 | "D" | X | X |
s3 |
5. rekord
Ts | Esemény |
---|---|
4m | "Leállítás" |
A kiértékelés rögzítése minden lépésnél:
s3
: Ellenőrizze, hogy az 1-e átadva, merts2
nem megfelelő, és megfelel as3
feltételnekEvent == "Stop"
. Ez az egyezés törli az állapotots2
, és a sorrendets2
előlépteti a következőre:s3
. Az 5. rekord és annakm_id
(0
) hozzáadása az állapothoz és a kimenethez.s2
: Az 1. ellenőrzés nem lett átadva, mert az állapotas1
üres, és a 2. ellenőrzés nem lett átadva, merts2
hiányzik az aktív sorozat.s1
: Az 1. ellenőrzés irreleváns, mert nincs előző lépés. Ellenőrizze, hogy a 2 nincs-e átadva, mert a rekord nem felel meg a feltételnekEvent == "Start"
.
Állami:
lépés | m_id | s1. Ts | s1. Esemény | s2. Ts | s2. Esemény | s3. Ts | s3. Esemény |
---|---|---|---|---|---|---|---|
s1 | X | X | X | X | |||
s2 | X | X | |||||
s3 | 0 | 00:01:00 | "Start" | 00:03:00 | "D" | 00:04:00 | "Leállítás" |
6. rekord
Ts | Esemény |
---|---|
6m | "C" |
A kiértékelés rögzítése minden lépésnél:
s3
: Az 1. ellenőrzés nem lett átadva, mert az állapotas2
üres, és a 2. ellenőrzés nem lett átadva, merts3
nem felel meg as3
feltételnek.Event == "Stop"
s2
: Az 1. ellenőrzés nem lett átadva, mert az állapotas1
üres, és a 2. ellenőrzés nem lett átadva, merts2
hiányzik az aktív sorozat.s1
: Az 1 . ellenőrzés nem lett átadva, mert nincs előző lépés, és a 2 . ellenőrzés nincs átadva, mert nem felel meg a feltételnekEvent == "Start"
. A 6. rekord elvetése az állapot vagy a kimenet befolyásolása nélkül történik.
Állami:
lépés | m_id | s1. Ts | s1. Esemény | s2. Ts | s2. Esemény | s3. Ts | s3. Esemény |
---|---|---|---|---|---|---|---|
s1 | X | X | X | X | |||
s2 | X | X | |||||
s3 | 0 | 00:01:00 | "Start" | 00:03:00 | "D" | 00:04:00 | "Leállítás" |
7. rekord
Ts | Esemény |
---|---|
8m | "Start" |
A kiértékelés rögzítése minden lépésnél:
s3
: Az 1. ellenőrzés nem lett átadva, mert az állapotas2
üres, és a 2. ellenőrzés nem lett átadva, mert nem felel meg a feltételnekEvent == "Stop"
.s2
: Az 1. ellenőrzés nem lett átadva, mert az állapotas1
üres, és a 2. ellenőrzés nem lett átadva, merts2
hiányzik az aktív sorozat.s1
: Ellenőrizze, hogy az 1 nincs-e átadva, mert nincs előző lépés. a 2. ellenőrzést adja át, mert megfelel a feltételnekEvent == "Start"
. Ez az egyezés egy új sorozatot kezdeményez egys1
újkalm_id
. A 7. rekord és annakm_id
(1
) hozzáadása az állapothoz és a kimenethez.
Állami:
lépés | m_id | s1. Ts | s1. Esemény | s2. Ts | s2. Esemény | s3. Ts | s3. Esemény |
---|---|---|---|---|---|---|---|
s1 | 1 | 00:08:00 | "Start" | X | X | X | X |
s2 | X | X | |||||
s3 | 0 | 00:01:00 | "Start" | 00:03:00 | "D" | 00:04:00 | "Leállítás" |
Megjegyzés
Most már két aktív sorozat van állapotban.
8. rekord
Ts | Esemény |
---|---|
11 m | "E" |
A kiértékelés rögzítése minden lépésnél:
s3
: Az 1. ellenőrzés nem lett átadva, mert az állapotas2
üres, és a 2. ellenőrzés nem lett átadva, mert nem felel meg as3
feltételnek.Event == "Stop"
s2
: Az 1-et azért adja át a rendszer, mert az állapotas1
nem megfelelő, és a rekord megfelel a feltételnekTs - s1.Ts < 5m
. Ez az egyezés törli az állapotots1
, és a sorrendets1
előlépteti a következőre:s2
. A 8. rekord és annakm_id
(1
) hozzáadása az állapothoz és a kimenethez.s1
: Az 1. ellenőrzés irreleváns, mert nincs előző lépés, és a 2 . ellenőrzés nem lesz átadva, mert a rekord nem felel meg a feltételnekEvent == "Start"
.
Állami:
lépés | m_id | s1. Ts | s1. Esemény | s2. Ts | s2. Esemény | s3. Ts | s3. Esemény |
---|---|---|---|---|---|---|---|
s1 | X | X | X | X | |||
s2 | 1 | 00:08:00 | "Start" | 00:11:00 | "E" | X | X |
s3 | 0 | 00:01:00 | "Start" | 00:03:00 | "D" | 00:04:00 | "Leállítás" |
9. rekord
Ts | Esemény |
---|---|
12 m | "Leállítás" |
A kiértékelés rögzítése minden lépésnél:
s3
: Ellenőrizze, hogy az 1-e átadva, merts2
nem megfelelő, és megfelel as3
feltételnekEvent == "Stop"
. Ez az egyezés törli az állapotots2
, és a sorrendets2
előlépteti a következőre:s3
. A 9. rekord és annakm_id
(1
) hozzáadása az állapothoz és a kimenethez.s2
: Az 1. ellenőrzés nem lett átadva, mert az állapotas1
üres, és a 2. ellenőrzés nem lett átadva, merts2
hiányzik az aktív sorozat.s1
: Ellenőrizze, hogy az 1 nincs-e átadva, mert nincs előző lépés. a 2. ellenőrzést adja át, mert megfelel a feltételnekEvent == "Start"
. Ez az egyezés egy új sorozatot kezdeményez egys1
újkalm_id
.
Állami:
lépés | m_id | s1. Ts | s1. Esemény | s2. Ts | s2. Esemény | s3. Ts | s3. Esemény |
---|---|---|---|---|---|---|---|
s1 | X | X | X | X | |||
s2 | X | X | |||||
s3 | 1 | 00:08:00 | "Start" | 00:11:00 | "E" | 00:12:00 | "Leállítás" |
Végső kimenet
Ts | Esemény | m_id |
---|---|---|
00:01:00 | Indítás | 0 |
00:02:00 | B | 0 |
00:03:00 | T | 0 |
00:04:00 | Leállítás | 0 |
00:08:00 | Indítás | 1 |
00:11:00 | E | 1 |
00:12:00 | Leállítás | 1 |
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: