Applies to: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
入力テーブルから指定した数までのランダム行を返します。
Note
-
sample
は、値の均等な分布よりもスピードを重視しています。 具体的には、異なるサイズの 2 つのデータセット (union
演算子やjoin
演算子など) を結合する演算子の後に使用した場合、"fair" の結果が生成されないことを意味します。 テーブルの参照とフィルターの直後にsample
を使用することをお勧めします。 -
sample
は非決定論的演算子であり、クエリ中に評価されるたびに異なる結果セットを返します。 たとえば、次のクエリを使用すると、(同じ行が 2 回返される場合でも) 2 つの異なる行が生成されます。
Syntax
T| sample
NumberOfRows
Learn more about syntax conventions.
Parameters
Name | タイプ | Required | Description |
---|---|---|---|
T | string |
✔️ | 表形式の入力式。 |
NumberOfRows | int、long、または real | ✔️ | 返す行数。 任意の数値式を指定できます。 |
Examples
このセクションの例では、構文を使用して作業を開始する方法を示します。
The examples in this article use publicly available tables in the help cluster, such as the
StormEvents
table in the Samples database.
The examples in this article use publicly available tables, such as the
Weather
table in the Weather analytics sample gallery. ワークスペース内のテーブルと一致するように、クエリ例のテーブル名を変更する必要がある場合があります。
サンプルを生成する
このクエリでは、数値の範囲を作成し、1 つの値をサンプリングしてから、そのサンプルを複製します。
let _data = range x from 1 to 100 step 1;
let _sample = _data | sample 1;
union (_sample), (_sample)
Output
x |
---|
74 |
63 |
To ensure that in example above _sample
is calculated once, one can use materialize() function:
let _data = range x from 1 to 100 step 1;
let _sample = materialize(_data | sample 1);
union (_sample), (_sample)
Output
x |
---|
24 |
24 |
特定の割合のデータのサンプルを生成する
(指定された行数ではなく) データの特定の割合をサンプリングするには、次を使用できます
StormEvents | where rand() < 0.1
Output
このテーブルには、出力の最初の数行が含まれています。 クエリを実行して、完全な結果を表示します。
StartTime | EndTime | EpisodeId | EventId | State | EventType |
---|---|---|---|---|---|
2007-01-01T00:00:00Z | 2007-01-20T10:24:00Z | 2403 | 11914 | INDIANA | Flood |
2007-01-01T00:00:00Z | 2007-01-24T18:47:00Z | 2408 | 11930 | INDIANA | Flood |
2007-01-01T00:00:00Z | 2007-01-01T12:00:00Z | 1979 | 12631 | DELAWARE | Heavy Rain |
2007-01-01T00:00:00Z | 2007-01-01T00:00:00Z | 2592 | 13208 | NORTH CAROLINA | Thunderstorm Wind |
2007-01-01T00:00:00Z | 2007-01-31T23:59:00Z | 1492 | 7069 | MINNESOTA | Drought |
2007-01-01T00:00:00Z | 2007-01-31T23:59:00Z | 2240 | 10858 | TEXAS | Drought |
... | ... | ... | ... | ... | ... |
キーのサンプルを生成する
行ではなくキーをサンプリングする (たとえば、10 個の ID をサンプリングし、これらの ID のすべての行を取得する) には、sample-distinct
演算子と組み合わせて in
を使用できます。
let sampleEpisodes = StormEvents | sample-distinct 10 of EpisodeId;
StormEvents
| where EpisodeId in (sampleEpisodes)
Output
このテーブルには、出力の最初の数行が含まれています。 クエリを実行して、完全な結果を表示します。
StartTime | EndTime | EpisodeId | EventId | State | EventType |
---|---|---|---|---|---|
2007-09-18T20:00:00Z | 2007-09-19T18:00:00Z | 11074 | 60904 | FLORIDA | Heavy Rain |
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 SOUTH | Waterspout |
2007-12-07T14:00:00Z | 2007-12-08T04:00:00Z | 13183 | 73241 | AMERICAN SAMOA | Flash Flood |
2007-12-11T21:45:00Z | 2007-12-12T16:45:00Z | 12826 | 70787 | KANSAS | Flood |
2007-12-13T09:02:00Z | 2007-12-13T10:30:00Z | 11780 | 64725 | KENTUCKY | Flood |
... | ... | ... | ... | ... | ... |