exempeloperator
Gäller för: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Returnerar upp till det angivna antalet slumpmässiga rader från indatatabellen.
Not
-
sample
är inriktad på hastighet snarare än ens fördelning av värden. Mer specifikt innebär det att det inte ger "rättvisa" resultat om det används efter operatörer som union 2 datauppsättningar av olika storlekar (till exempel enunion
ellerjoin
operatörer). Vi rekommenderar att du användersample
direkt efter tabellreferensen och filter. -
sample
är en icke-deterministisk operator och returnerar en annan resultatuppsättning varje gång den utvärderas under frågan. Följande fråga ger till exempel två olika rader (även om man förväntar sig att returnera samma rad två gånger).
Syntax
T| sample
NumberOfRows
Läs mer om syntaxkonventioner.
Parametrar
Namn | Typ | Krävs | Beskrivning |
---|---|---|---|
T | string |
✔️ | Indatafliksuttrycket. |
NumberOfRows | int, long eller real | ✔️ | Antalet rader som ska returneras. Du kan ange valfritt numeriskt uttryck. |
Exempel
Exemplet i det här avsnittet visar hur du använder syntaxen för att komma igång.
Exemplen i den här artikeln använder offentligt tillgängliga tabeller i hjälpkluster, till exempel tabellen
StormEvents
i databasen Samples.
Exemplen i den här artikeln använder offentligt tillgängliga tabeller, till exempel tabellen
StormEvents
i Väderanalys exempeldata.
Generera ett exempel
Den här frågan skapar ett intervall med tal, tar ett exempel på ett värde och duplicerar sedan exemplet.
let _data = range x from 1 to 100 step 1;
let _sample = _data | sample 1;
union (_sample), (_sample)
utdata
x |
---|
74 |
63 |
För att säkerställa att i exemplet ovan _sample
beräknas en gång kan man använda materialize() funktion:
let _data = range x from 1 to 100 step 1;
let _sample = materialize(_data | sample 1);
union (_sample), (_sample)
utdata
x |
---|
24 |
24 |
Generera ett exempel på en viss procentandel data
Om du vill prova en viss procentandel av dina data (i stället för ett angivet antal rader) kan du använda
StormEvents | where rand() < 0.1
utdata
Tabellen innehåller de första raderna i utdata. Kör frågan för att visa det fullständiga resultatet.
StartTime | EndTime | EpisodeId | EventId | Stat | EventType |
---|---|---|---|---|---|
2007-01-01T00:00:00Z | 2007-01-20T10:24:00Z | 2403 | 11914 | INDIANA | Översvämning |
2007-01-01T00:00:00Z | 2007-01-24T18:47:00Z | 2408 | 11930 | INDIANA | Översvämning |
2007-01-01T00:00:00Z | 2007-01-01T12:00:00Z | 1979 | 12631 | DELAWARE | Kraftigt regn |
2007-01-01T00:00:00Z | 2007-01-01T00:00:00Z | 2592 | 13208 | NORTH CAROLINA | Åskväder |
2007-01-01T00:00:00Z | 2007-01-31T23:59:00Z | 1492 | 7069 | MINNESOTA | Torka |
2007-01-01T00:00:00Z | 2007-01-31T23:59:00Z | 2240 | 10858 | TEXAS | Torka |
... | ... | ... | ... | ... | ... |
Generera ett exempel på nycklar
Om du vill använda exempelnycklar i stället för rader (till exempel exempel 10 ID:n och hämta alla rader för dessa ID:n) kan du använda sample-distinct
i kombination med operatorn in
.
let sampleEpisodes = StormEvents | sample-distinct 10 of EpisodeId;
StormEvents
| where EpisodeId in (sampleEpisodes)
utdata
Tabellen innehåller de första raderna i utdata. Kör frågan för att visa det fullständiga resultatet.
StartTime | EndTime | EpisodeId | EventId | Stat | EventType |
---|---|---|---|---|---|
2007-09-18T20:00:00Z | 2007-09-19T18:00:00Z | 11074 | 60904 | FLORIDA | Kraftigt regn |
2007-09-20T21:57:00Z | 2007-09-20T22:05:00Z | 11078 | 60913 | FLORIDA | Tromb |
2007-09-29T08:11:00Z | 2007-09-29T08:11:00Z | 11091 | 61032 | ATLANTEN, SÖDRA | Vattenspout |
2007-12-07T14:00:00Z | 2007-12-08T04:00:00Z | 13183 | 73241 | AMERIKANSKA SAMOA | Flash Flood |
2007-12-11T21:45:00Z | 2007-12-12T16:45:00Z | 12826 | 70787 | KANSAS | Översvämning |
2007-12-13T09:02:00Z | 2007-12-13T10:30:00Z | 11780 | 64725 | KENTUCKY | Översvämning |
... | ... | ... | ... | ... | ... |