Dela via


exempeloperator

Gäller för: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft 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 en union eller join operatörer). Vi rekommenderar att du använder sample 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| sampleNumberOfRows

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