operator sample
Berlaku untuk: ✅Microsoft Fabric✅✅
Menampilkan ke jumlah baris acak yang ditentukan dari tabel input.
Catatan
-
sample
dioptimalkan untuk kecepatan, bukan distribusi nilai yang merata. Secara khusus, itu berarti bahwa itu tidak akan menghasilkan hasil 'adil' jika digunakan setelah operator yang menyanggah 2 himpunan data dengan ukuran yangunion
berbeda (seperti operator ataujoin
). Sebaiknya gunakansample
tepat setelah filter dan referensi tabel. -
sample
adalah operator non-deterministik, dan mengembalikan tataan hasil yang berbeda setiap kali dievaluasi selama kueri. Misalnya, kueri berikut menangguhkan dua baris yang berbeda (bahkan jika salah satu kueri akan menampilkan baris yang sama dua kali).
Sintaks
T| sample
NumberOfRows
Pelajari selengkapnya tentang konvensi sintaksis.
Parameter
Nama | Tipe | Wajib | Deskripsi |
---|---|---|---|
T | string |
✔️ | Ekspresi tabular input. |
NumberOfRows | int, long, atau real | ✔️ | Jumlah baris yang akan dikembalikan. Anda dapat menentukan ekspresi numerik apa pun. |
Contoh
Contoh di bagian ini memperlihatkan cara menggunakan sintaks untuk membantu Anda memulai.
Contoh dalam artikel ini menggunakan tabel yang tersedia untuk umum di membantu kluster, seperti tabel
StormEvents
di database Sampel.
Contoh dalam artikel ini menggunakan tabel yang tersedia untuk umum, seperti tabel
StormEvents
di analitik Cuaca data sampel.
Membuat sampel
Kueri ini membuat rentang angka, sampel satu nilai, lalu menduplikasi sampel tersebut.
let _data = range x from 1 to 100 step 1;
let _sample = _data | sample 1;
union (_sample), (_sample)
Hasil
x |
---|
74 |
63 |
Untuk memastikan bahwa dalam contoh di atas _sample
dihitung sekali, salah satu ekspresi dapat menggunakan fungsi materialize():
let _data = range x from 1 to 100 step 1;
let _sample = materialize(_data | sample 1);
union (_sample), (_sample)
Hasil
x |
---|
24 |
24 |
Membuat sampel persentase data tertentu
Untuk mengambil sampel persentase tertentu dari data Anda (bukan jumlah baris tertentu), Anda dapat menggunakan
StormEvents | where rand() < 0.1
Hasil
Tabel berisi beberapa baris pertama output. Jalankan kueri untuk menampilkan hasil lengkapnya.
StartTime | EndTime | EpisodeId | EventId | Negara | EventType |
---|---|---|---|---|---|
2007-01-01T00:00:00Z | 2007-01-20T10:24:00Z | 2403 | 11914 | INDIANA | Banjir |
2007-01-01T00:00:00Z | 2007-01-24T18:47:00Z | 2408 | 11930 | INDIANA | Banjir |
2007-01-01T00:00:00Z | 2007-01-01T12:00:00Z | 1979 | 12631 | DELAWARE | Hujan Lebat |
2007-01-01T00:00:00Z | 2007-01-01T00:00:00Z | 2592 | 13208 | CAROLINA UTARA | Angin Badai Petirweather forether forE |
2007-01-01T00:00:00Z | 2007-01-31T23:59:00Z | 1492 | 7069 | MINNESOTA | Kekeringan |
2007-01-01T00:00:00Z | 2007-01-31T23:59:00Z | 2240 | 10858 | TEXAS | Kekeringan |
... | ... | ... | ... | ... | ... |
Membuat sampel kunci
Untuk mengambil sampel kunci daripada baris (misalnya - sampel 10 Id dan mendapatkan semua baris untuk Id ini), Anda dapat menggunakan sample-distinct
dalam kombinasi dengan operator in
.
let sampleEpisodes = StormEvents | sample-distinct 10 of EpisodeId;
StormEvents
| where EpisodeId in (sampleEpisodes)
Hasil
Tabel berisi beberapa baris pertama output. Jalankan kueri untuk menampilkan hasil lengkapnya.
StartTime | EndTime | EpisodeId | EventId | Negara | EventType |
---|---|---|---|---|---|
2007-09-18T20:00:00Z | 2007-09-19T18:00:00Z | 11074 | 60904 | FLORIDA | Hujan Lebat |
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 | ATLANTIC SELATAN | Waterspout |
2007-12-07T14:00:00Z | 2007-12-08T04:00:00Z | 13183 | 73241 | SAMOA AMERIKA | Banjir Bandang |
2007-12-11T21:45:00Z | 2007-12-12T16:45:00Z | 12826 | 70787 | KANSAS | Banjir |
2007-12-13T09:02:00Z | 2007-12-13T10:30:00Z | 11780 | 64725 | KENTUCKY | Banjir |
... | ... | ... | ... | ... | ... |