Aracılığıyla paylaş


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 columnNamefrombaşlamaktodurmakstepadı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 StormEventsiç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