range işleci
Şunlar için geçerlidir: ✅Microsoft Fabric✅
Tek sütunlu bir değer tablosu oluşturur.
Not
Bu işleç tablosal giriş almaz.
Sözdizimi
range
columnNamefrom
başlamakto
durmakstep
adım
Söz dizimi kuralları hakkında daha fazla bilgi edinin.
Parametreler
Ad | Tür | Zorunlu | Açıklama |
---|---|---|---|
columnName | string |
✔️ | Çıkış tablosundaki tek sütunun adı. |
start | int, long, real, datetime veya timespan | ✔️ | Çıktıdaki en küçük değer. |
durmak | int, long, real, datetime veya timespan | ✔️ | Çıktıda oluşturulan en yüksek değer veya adım bu değerin üzerindeyse en yüksek değere bağlı. |
adım | int, long, real, datetime veya timespan | ✔️ | Ardışık iki değer arasındaki fark. |
Not
Değerler herhangi bir tablonun sütunlarına başvuramaz. Aralığı bir giriş tablosuna göre hesaplamak istiyorsanız, potansiyel olarak mv-expand işleciyle aralık işlevini kullanın.
Döndürülenler
Değerleri , ... olan columnName adlı tek sütunlu bir tablo. kadar ve durana kadar.
Örnekler
Bu bölümdeki örnekte, kullanmaya başlamanıza yardımcı olması için söz diziminin nasıl kullanılacağı gösterilmektedir.
Bu makaledeki örneklerde, Örnekleri veritabanındaki
StormEvents
tablosu gibi yardım kümesiiçindeki genel kullanıma açık tablolar kullanılır.
Bu makaledeki örneklerde, Weather analytics
StormEvents
içindeki tablosu gibi genel kullanıma açık tablolar kullanılır.
Son yedi gün içindeki aralık
Aşağıdaki örnek, geçerli zaman damgasının girdilerinin günde bir kez olmak üzere son yedi gün içinde uzatılmış olduğu bir tablo oluşturur.
range LastWeek from ago(7d) to now() step 1d
Çıktı
LastWeek |
---|
2015-12-05 09:10:04.627 |
2015-12-06 09:10:04.627 |
... |
2015-12-12 09:10:04.627 |
Farklı durdurma sürelerini birleştirme
Aşağıdaki örnekte, union
işlecini kullanarak aralıkları birden çok durdurma süresini kullanacak şekilde genişletme gösterilmektedir.
let Range1 = range Time from datetime(2024-01-01) to datetime(2024-01-05) step 1d;
let Range2 = range Time from datetime(2024-01-06) to datetime(2024-01-10) step 1d;
union Range1, Range2
| order by Time asc
Çıktı
Saat |
---|
2024-01-04 00:00:00.0000000 |
2024-01-05 00:00:00.0000000 |
2024-01-06 00:00:00.0000000 |
2024-01-07 00:00:00.0000000 |
2024-01-08 00:00:00.0000000 |
2024-01-09 00:00:00.0000000 |
2024-01-10 00:00:00.0000000 |
Parametreleri kullanan aralık
Aşağıdaki örnekte, işlecinin range
daha sonra genişletilmiş ve tablo olarak kullanılan parametrelerle nasıl kullanılacağı gösterilmektedir.
let toUnixTime = (dt:datetime)
{
(dt - datetime(1970-01-01)) / 1s
};
let MyMonthStart = startofmonth(now()); //Start of month
let StepBy = 4.534h; //Supported timespans
let nn = 64000; // Row Count parametrized
let MyTimeline = range MyMonthHour from MyMonthStart to now() step StepBy
| extend MyMonthHourinUnixTime = toUnixTime(MyMonthHour), DateOnly = bin(MyMonthHour,1d), TimeOnly = MyMonthHour - bin(MyMonthHour,1d)
; MyTimeline | order by MyMonthHour asc | take nn
Çıktı
MyMonthHour | MyMonthHourinUnixTime | DateOnly | TimeOnly |
---|---|---|---|
2023-02-01 | 00:00:00.0000000 | 1675209600 | 2023-02-01 00:00:00.0000000 |
2023-02-01 | 04:32:02.4000000 | 1675225922.4 | 2023-02-01 00:00:00.0000000 |
2023-02-01 | 09:04:04.8000000 | 1675242244.8 | 2023-02-01 00:00:00.0000000 |
2023-02-01 | 13:36:07.2000000 | 1675258567.2 | 2023-02-01 00:00:00.0000000 |
... | ... | ... | ... |
Artımlı adımlar
Aşağıdaki örnek, türü Steps
olan long
adlı tek bir sütuna sahip bir tablo oluşturur ve bir ila sekiz arasında değerlerin üç artırılarak sonuçlanır.
range Steps from 1 to 8 step 3
Çıktı
Adımlar |
---|
1 |
4 |
7 |
Bir zaman aralığı üzerindeki izlemeler
Aşağıdaki örnekte, range
işlecinin kaynak verilerin hiçbir değeri olmayan sıfırları tanıtmak için kullanılan bir boyut tablosu oluşturmak için nasıl kullanılabileceğini gösterir. Son dört saatin zaman damgalarını alır ve her bir dakikalık aralık için izlemeleri sayar. Belirli bir aralık için izleme olmadığında, sayı sıfır olur.
range TIMESTAMP from ago(4h) to now() step 1m
| join kind=fullouter
(Traces
| where TIMESTAMP > ago(4h)
| summarize Count=count() by bin(TIMESTAMP, 1m)
) on TIMESTAMP
| project Count=iff(isnull(Count), 0, Count), TIMESTAMP
| render timechart