opérateur d’échantillon
S’applique à : ✅Microsoft Fabric✅✅
Retourne jusqu’au nombre spécifié de lignes aléatoires de la table d’entrée.
Remarque
-
sample
est destiné à la vitesse plutôt qu’à la distribution des valeurs. Plus précisément, cela signifie qu’il ne produira pas de résultats « équitables » s’il est utilisé après les opérateurs qui union 2 jeux de données de tailles différentes (par exemple, ununion
oujoin
des opérateurs). Il est recommandé d’utilisersample
juste après la référence de table et les filtres. -
sample
est un opérateur non déterministe et retourne un jeu de résultats différent chaque fois qu’il est évalué pendant la requête. Par exemple, la requête suivante génère deux lignes différentes (même si on s’attend à retourner la même ligne deux fois).
Syntaxe
T| sample
NumberOfRows
En savoir plus sur les conventions de syntaxe.
Paramètres
Nom | Type | Requise | Description |
---|---|---|---|
T | string |
✔️ | Expression tabulaire d’entrée. |
NumberOfRows | int, long ou réel | ✔️ | Nombre de lignes à retourner. Vous pouvez spécifier n’importe quelle expression numérique. |
Exemples
L’exemple de cette section montre comment utiliser la syntaxe pour vous aider à commencer.
Les exemples de cet article utilisent des tables disponibles publiquement dans le cluster d’aide, comme la table
StormEvents
dans la base de données Exemples.
Les exemples de cet article utilisent des tables disponibles publiquement, telles que la table
StormEvents
dans l’analyse météo exemples de données.
Générer un exemple
Cette requête crée une plage de nombres, échantillonne une valeur, puis doublons cet exemple.
let _data = range x from 1 to 100 step 1;
let _sample = _data | sample 1;
union (_sample), (_sample)
Sortie
x |
---|
74 |
63 |
Pour vous assurer que dans l’exemple ci-dessus _sample
est calculé une seule fois, vous pouvez utiliser la fonction matérialiser() :
let _data = range x from 1 to 100 step 1;
let _sample = materialize(_data | sample 1);
union (_sample), (_sample)
Sortie
x |
---|
24 |
24 |
Générer un échantillon d’un certain pourcentage de données
Pour échantillonner un certain pourcentage de vos données (plutôt qu’un nombre spécifié de lignes), vous pouvez utiliser
StormEvents | where rand() < 0.1
Sortie
Le tableau contient les premières lignes de la sortie. Exécutez la requête pour afficher le résultat complet.
StartTime | EndTime | EpisodeId | EventId | État | EventType |
---|---|---|---|---|---|
2007-01-01T00:00:00Z | 2007-01-20T10:24:00Z | 2403 | 11914 | INDIANA | Inondation |
2007-01-01T00:00:00Z | 2007-01-24T18:47:00Z | 2408 | 11930 | INDIANA | Inondation |
2007-01-01T00:00:00Z | 2007-01-01T12:00:00Z | 1979 | 12631 | DELAWARE | Pluie lourde |
2007-01-01T00:00:00Z | 2007-01-01T00:00:00Z | 2592 | 13208 | CAROLINE DU NORD | Vent orageux |
2007-01-01T00:00:00Z | 2007-01-31T23:59:00Z | 1492 | 7069 | MINNESOTA | Sécheresse |
2007-01-01T00:00:00Z | 2007-01-31T23:59:00Z | 2240 | 10858 | TEXAS | Sécheresse |
... | ... | ... | ... | ... | ... |
Générer un exemple de clés
Pour échantillonner des clés plutôt que des lignes (par exemple , exemple 10 ID et obtenir toutes les lignes de ces ID), vous pouvez utiliser sample-distinct
en combinaison avec l’opérateur in
.
let sampleEpisodes = StormEvents | sample-distinct 10 of EpisodeId;
StormEvents
| where EpisodeId in (sampleEpisodes)
Sortie
Le tableau contient les premières lignes de la sortie. Exécutez la requête pour afficher le résultat complet.
StartTime | EndTime | EpisodeId | EventId | État | EventType |
---|---|---|---|---|---|
2007-09-18T20:00:00Z | 2007-09-19T18:00:00Z | 11074 | 60904 | FLORIDE | Pluie lourde |
2007-09-20T21:57:00Z | 2007-09-20T22:05:00Z | 11078 | 60913 | FLORIDE | Tornade |
2007-09-29T08:11:00Z | 2007-09-29T08:11:00Z | 11091 | 61032 | ATLANTIQUE SUD | Trombe |
2007-12-07T14:00:00Z | 2007-12-08T04:00:00Z | 13183 | 73241 | SAMOA AMÉRICAINES | Inondation soudaine |
2007-12-11T21:45:00Z | 2007-12-12T16:45:00Z | 12826 | 70787 | KANSAS | Inondation |
2007-12-13T09:02:00Z | 2007-12-13T10:30:00Z | 11780 | 64725 | KENTUCKY | Inondation |
... | ... | ... | ... | ... | ... |