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. einesunion
oderjoin
Operatoren) union 2-Datasets aufweisen. Es wird empfohlen, direkt nach dem Tabellenverweis und den Filtern zu verwendensample
. -
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| sample
NumberOfRows
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 |
... | ... | ... | ... | ... | ... |