Freigeben über


sample-Operator

Gilt für: ✅Microsoft Fabric

Gibt bis zur angegebenen Anzahl zufälliger Zeilen aus der Eingabetabelle zurück.

Hinweis

  • sample ist auf Geschwindigkeit und nicht gleichmäßige Verteilung von Werten ausgerichtet. Insbesondere bedeutet dies, dass es keine "fairen" Ergebnisse erzeugt, wenn sie nach Operatoren verwendet werden, die 2 Datasets unterschiedlicher Größe (z. B. eines union oder join Operatoren) union 2-Datasets aufweisen. Es wird empfohlen, direkt nach dem Tabellenverweis und den Filtern zu verwenden sample .
  • sample ist ein nicht deterministischer Operator und gibt jedes Mal, wenn es während der Abfrage ausgewertet wird, ein anderes Resultset zurück. Die folgende Abfrage z. B. liefert zwei verschiedene Zeilen (auch wenn eine davon ausgehen würde, dass dieselbe Zeile zweimal zurückgegeben wird).

Syntax

T| sampleNumberOfRows

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Type Erforderlich Beschreibung
T string ✔️ Der Tabellarische Eingabeausdruck.
NumberOfRows int, long oder real ✔️ Die Anzahl der zurückzugebenden Zeilen. Sie können einen beliebigen numerischen Ausdruck angeben.

Beispiele

Das Beispiel in diesem Abschnitt zeigt, wie Sie die Syntax verwenden, um Ihnen bei den ersten Schritten zu helfen.

In den Beispielen in diesem Artikel werden öffentlich verfügbare Tabellen in der Hilfecluster-verwendet, z. B. die tabelle StormEvents in der datenbank Beispiele.

In den Beispielen in diesem Artikel werden öffentlich verfügbare Tabellen verwendet, z. B. die Tabelle StormEvents in der Wetteranalyse Beispieldaten.

Generieren eines Beispiels

Diese Abfrage erstellt einen Bereich von Zahlen, beispielt einen Wert und dupliziert dann das Beispiel.

let _data = range x from 1 to 100 step 1;
let _sample = _data | sample 1;
union (_sample), (_sample)

Ausgabe

x
74
63

Um sicherzustellen, dass in Beispiel oben _sample einmal berechnet wird, kann eine Materialize()-Funktion verwenden:

let _data = range x from 1 to 100 step 1;
let _sample = materialize(_data | sample 1);
union (_sample), (_sample)

Ausgabe

x
24
24

Generieren eines Beispiels für einen bestimmten Prozentsatz von Daten

Zum Beispiel für einen bestimmten Prozentsatz Ihrer Daten (anstelle einer angegebenen Anzahl von Zeilen) können Sie verwenden

StormEvents | where rand() < 0.1

Ausgabe

Die Tabelle enthält die ersten Zeilen der Ausgabe. Führen Sie die Abfrage aus, um das vollständige Ergebnis anzuzeigen.

StartTime EndTime EpisodeId EventId Zustand EventType
2007-01-01T00:00:00Z 2007-01-20T10:24:00Z 2403 11914 INDIANA Flut
2007-01-01T00:00:00Z 2007-01-24T18:47:00Z 2408 11930 INDIANA Flut
2007-01-01T00:00:00Z 2007-01-01T12:00:00Z 1979 12631 DELAWARE Regenguss
2007-01-01T00:00:00Z 2007-01-01T00:00:00Z 2592 13208 NORTH CAROLINA Gewitterwind
2007-01-01T00:00:00Z 2007-01-31T23:59:00Z 1492 7069 MINNESOTA Dürre
2007-01-01T00:00:00Z 2007-01-31T23:59:00Z 2240 10858 TEXAS Dürre
... ... ... ... ... ...

Generieren eines Beispiels für Schlüssel

Um Beispielschlüssel anstelle von Zeilen (z. B. Beispiel 10 IDs und abrufen aller Zeilen für diese IDs) können Sie sample-distinct in Kombination mit dem operator in verwenden.

let sampleEpisodes = StormEvents | sample-distinct 10 of EpisodeId;
StormEvents
| where EpisodeId in (sampleEpisodes)

Ausgabe

Die Tabelle enthält die ersten Zeilen der Ausgabe. Führen Sie die Abfrage aus, um das vollständige Ergebnis anzuzeigen.

StartTime EndTime EpisodeId EventId Zustand EventType
2007-09-18T20:00:00Z 2007-09-19T18:00:00Z 11074 60904 FLORIDA Regenguss
2007-09-20T21:57:00Z 2007-09-20T22:05:00Z 11078 60913 FLORIDA Tornado
2007-09-29T08:11:00Z 2007-09-29T08:11:00Z 11091 61032 ATLANTIK SÜD Wasserhose
2007-12-07T14:00:00Z 2007-12-08T04:00:00Z 13183 73241 AMERIKANISCH-SAMOA Sturzflut
2007-12-11T21:45:00Z 2007-12-12T16:45:00Z 12826 70787 KANSAS Flut
2007-12-13T09:02:00Z 2007-12-13T10:30:00Z 11780 64725 KENTUCKY Flut
... ... ... ... ... ...