Azure Time Series Insights 2. Nesil Zaman Serisi İfadesi söz dizimi

Genel Bakış

Time Series Expression (TSX), güçlü yazma özelliğine sahip dize tabanlı bir ifade dilidir. TSX, bir Zaman Serisi Sorgusunda aşağıdaki varlıkları temsil etmek için kullanılır.

  • Filtre
  • Değer
  • Toplama

İfadeleri filtreleme

Filtre ifadeleri boole yan tümcelerini temsil etmek için kullanılır. Aşağıdaki tabloda filtre örnekleri listelenir:

TSX Description
$event.PointValue.Double = 3.14 true çift PointValue değerine eşit olan olaylar için 3.14
$event.PointValue > 3.14 AND $event.Status.String = 'Good' truePointValue değerinden 3.14 büyük ve dize durumuna sahip olaylar içinGood
$event.$ts > dt'2018-11-01T02:03:45Z' true daha büyük bir zaman damgasına sahip olaylar için 2018-11-01T02:03:45Z
$event.PointEval.Bool = true truePointValue değerine eşit olaylar içintrue

Değer ifadeleri

Değer ifadeleri , sayısal ve kategorik değişkenlerin değerini tanımlamak için kullanılır. Değer ifadesi , Çift veya Uzun türünde bir özellik başvuru ifadesi olabilir.

Örnek:

TSX Notlar
$event.Temperature.Double Herhangi bir değer ifadesindeki son belirteç (bu örnekte Double) özelliğin Türü olarak okunur.
$event.Temperature Türün, tek bir belirteç tarafından erişilen bir özellik için Double olduğu varsayılır.
$event['Temperature-Celsius'] Özel karakterler içeren kaçış belirteçleri için ve ] kullanın[. Ayrıca, köşeli ayraçların içinde aşağıdaki karakterlerden kaçmak için kullanın \ : \ ve '.
$event.Temperature.Celsius.Double İç içe özelliklere erişmek için kullanın . . İç içe özelliklere erişirken Tür gereklidir.
$event.Temperature['Celsius-C'].Double İç içe özelliklere erişirken özel karakterler içeren belirteçlerden kaçış için ve ] kullanın[. Ayrıca, köşeli ayraçların içinde aşağıdaki karakterlerden kaçmak için kullanın \ : \ ve '. İç içe özelliklere erişirken Tür gereklidir.
$event['Temperature']['Celsius'].Double Herhangi bir belirteçte [ kaçış belirteçleri için ve ] kullanımına izin verilir.

Sayısal değişken türü

Değer ifadesinin sonucu Çift veya Uzun türünde olmalıdır.

Değişken türünü toplama

Değer ifadesinin sonucu desteklenen herhangi bir türde olabilir.

Kategorik değişken türü

Değer ifadesinin sonucu yalnızca Dize veya Uzun türünde olabilir.

Toplama ifadeleri

Toplama ifadeleri , sorguda kullanılacak toplama işleminin gösterimi için kullanılır. Toplama ifadesi her aralık için tek bir değer elde edilir. Toplama ifadeleri sayısal ve toplama değişkenlerine uygulanabilir.

Toplama ifadeleri - sayısal değişken türü

Sayısal değişkenler öğesine $valuebaşvurmalıdır.

Desteklenen toplama işlevleri aşağıdadır.

Toplama İşlevi Örnek Description
min min($value) Aralık başına minimum değeri $value hesaplar. Değerlerden null kaçınıyor. İlişkilendirme ile kullanılamaz.
max max($value) Aralık başına maksimum değeri $value hesaplar. Değerlerden null kaçınıyor. İlişkilendirme ile kullanılamaz.
sum sum($value) Aralıktaki tüm olayların toplamını $value hesaplar. Değerlerden null kaçınıyor. İlişkilendirme ile kullanılamaz.
avg avg($value) Aralıktaki tüm olayların ortalamasını $value hesaplar. Değerlerden null kaçınıyor. İlişkilendirme ile kullanılamaz.
first first($value) Olay zaman damgasına göre aralıktaki ilk gerçekleşen olayın döndürür $value . Değerlerden kaçınmaznull. İlişkilendirme ile kullanılamaz.
last last($value) Olay zaman damgasına göre aralıktaki son gerçekleşen olayın döndürür $value . Değerlerden kaçınmaznull. İlişkilendirme ile kullanılamaz.
median median($value) Olay zaman damgasına göre aralıktaki ortadaki olayın döndürür $value . Değerlerden kaçınmaznull. İlişkilendirme ile kullanılamaz.
stdev stdev($value) Aralıktaki olayların standart sapması döndürür $value . Değerlerden null kaçınıyor. İlişkilendirme ile kullanılamaz.
twsum twsum($value) Aralıktaki olayların zaman ağırlıklı toplamını döndürür $value . İlişkilendirme gerektirir.
twavg twavg($value) Aralıktaki olayların zaman ağırlıklı ortalamasını verir $value . İlişkilendirme gerektirir.
left left($value) $value Verilen aralığın sol kenarındaki değerini döndürür. İlişkilendirme gerektirir.
right right($value) $value Verilen aralığın sağ kenarındaki değerini döndürür. İlişkilendirme gerektirir.

Toplama ifadeleri - toplama değişkeni türü

Toplama değişkenleri , olay yükündeki bir Özelliğe başvurmalıdır.

Desteklenen toplama işlevleri aşağıdadır.

Toplama işlevi Örnek Description
count count() Aralık başına olay sayısını döndürür.
min min($event.Temperature.Double) Aralık başına sıcaklık özelliğinin minimumunu hesaplar. Değerlerden null kaçınıyor.
max max($event.Temperature.Long) Aralık başına en fazla Temperature özelliğini hesaplar. Değerlerden null kaçınıyor.
sum sum($event.Temperature.Double) Aralıktaki tüm olaylar için Temperature özelliğinin toplamını hesaplar. Değerlerden null kaçınıyor.
avg avg($event.Temperature.Long) Aralıktaki tüm olaylar için Temperature özelliğinin ortalamasını hesaplar. Değerlerden null kaçınıyor.
first first($event.Temperature.String) Aralıktaki tüm olaylardan Temperature özelliğinin ilk oluşan (olay zaman damgasına göre) değerini döndürür. Değerlerden kaçınmaznull.
last last($event.Temperature.String) Aralıktaki tüm olaylardan Temperature özelliğinin son oluşan (olay zaman damgasına göre) değerini döndürür. Değerlerden kaçınmaznull.
median median($event.Temperature.String) Aralıktaki tüm olaylardan Temperature özelliğinin ortaya çıkan (olay zaman damgasına göre) değerini döndürür. Değerlerden kaçınmaznull.
stdev stdev($event.Temperature.String) Aralık başına Sıcaklık özelliğinin standart sapması hesaplanır. null Değerleri önler.

Toplama değişkeni türü için bu işlevler toplama ifadesinde birleştirilebilir. Örneğin: max($event.Temperature.Long) - min($event.Temperature.Long).

Syntax

Bu bölümde, form ifadeleriyle birleştirilmiş temel söz dizimi kavramları ve sorgu işleçleri açıklanmaktadır.

Desteklenen değişmez değerler

Not

Aşağıdaki değişmez değerler ifadeleri oluşturmak için kullanılır. Veri türlerinin tam listesi için Desteklenen veri türleri makalesine bakın.

Temel tür Değişmez Değerler
Bool TRUE, FALSE
Tarih Saat dt'2016-10-08T03:22:55.3031599Z'
Çift 1.23, 1.0
Uzun 1, 6
Dize 'abc'
TimeSpan ts'P1Y2M3DT4M5.67S'
Null NULL

Desteklenen işlenen türleri

İşlem Desteklenen türler Notlar
<, >, <=, >= Double, Long, DateTime, TimeSpan
=, !=, <> Double, Long, String, Bool, DateTime, TimeSpan, NULL <>!= ile eşdeğerdir
+, -, *, / Double, Long, DateTime, TimeSpan

Karşılaştırma ifadeleri için (<, >, <=, >=, =, !=), işlenenler NULL veya aynı türde olabilir. Her koşul ifadesinde, sol taraftaki (LHS) ve sağ taraftaki (RHS) işlenenlerin türleri eşleşecek şekilde doğrulanır. LHS ve RHS türleri kabul edilmediğinde veya belirli türlerde işleme izin verilmediğinde hatalar oluşur.

Not

Warm Store'da dize türü null atanamaz:

  • Dize ile NULL ve boş dize ('') karşılaştırması aynı şekilde davranır: $event.p1.String = NULL ile $event.p1.String = ''eşdeğerdir.
  • Özgün olaylar boş dizeler içerse bile API NULL değerler döndürebilir.

Gelecekte aynı davranış Cold Store'da da olacaktır.

Dize sütunlarında NULL değerlere bağımlılık almayın ve bunları boş dizelerle aynı şekilde ele almayın.

  • Bir tür denetimi uygulanır:
    • Herhangi bir özellik türü değişmez NULL değere karşı kabul edilir.
    • LHS ve RHS türleri eşleşmelidir.

Dize türündep1 ve p2 özellikleri, Double türünde p3 özelliği ve Double türünde p4.p5 olarak depolanan iç içe özellik örnekleri aşağıda verilmiştir:

Filtre Geçerli mi? Notlar
$event.p1.String = 'abc' Yes
$event.p1.String = $event.p2.String Yes
$event.p1.String = NULL Yes NULL herhangi bir sol taraftaki türle eşleşir.
$event.p3.Double = 'abc' No Tür uyuşmazlığı.
$event.p3.Double = $event.p1.String No Tür uyuşmazlığı.
$event.p1 = 'abc' No Tür uyuşmazlığı.
$event.p1 = 1 No Tür uyuşmazlığı.
$event.p1 = true No Tür uyuşmazlığı.
$event.p1 = NULL Yes p1 kullanılan tek belirteçtir. Olarak yorumlanır $event.p1.Double = NULL
$event['p1'] != NULL Yes ['p1'] kullanılan tek belirteçtir. Olarak yorumlanır $event['p1'].Double != NULL
$event.p4.p5 = 0.0 No Geçersiz özellik başvurusu söz dizimi. Karşılaştırma LHS'sinde bir tür belirtilmelidir.
$event.p4.p5.Double = 0.0 Yes

Desteklenen skaler işlevler

Kategorilere göre skaler işlevlerin listesi aşağıdadır:

Dönüşüm işlevleri

İşlev adı İmza Örnek Notlar
toDouble Double toDouble (value: String, Double, Long) toDouble($event.value.Long) Bağımsız değişkenleri Double'a dönüştürür.
toLong Long toLong (value: String, Double, Long) toLong($event.value.Double + 1.0) Bağımsız değişkenleri Long'a dönüştürür.
toString String toString (value: String, Double, Long) toString($event.value.Double) Bağımsız değişkenleri Dizeye dönüştürür.

Matematik işlevleri

İşlev adı İmza Örnek Notlar
round Double round(value:Double) round($event.value.Double) Çift duyarlıklı kayan bir sayıyı en yakın tam sayıya yuvarlar.
ceiling Double ceiling(value:Double) ceiling($event.value.Double) Çift duyarlıklı kayan nokta sayısından büyük veya buna eşit en küçük tamsayı değerini döndürür.
floor Double floor(value:Double) floor($event.value.Double) Çift duyarlıklı kayan nokta sayısından küçük veya buna eşit olan en büyük tam sayı değerini döndürür.

Trigonometrik işlevler

İşlev adı İmza Örnek Notlar
cos Double cos(value:Double) cos($event.value.Double) Radyan cinsinden belirtilen açının Kosinüsünü döndürür.
sin Double sin(value:Double) sin($event.value.Double) Radyan cinsinden belirtilen açının Sinüsünü döndürür.
tan Double tan(value:Double) tan($event.value.Double) Radyan cinsinden belirtilen açının Tanjant değerini döndürür.
acos Double acos(value:Double) acos($event.value.Double) Kosinüsü belirtilen sayı olan radyan cinsinden açıyı döndürür.
asin Double asin(value:Double) asin($event.value.Double) Sinüsü belirtilen sayı olan radyan cinsinden açıyı döndürür.
atan Double atan(value:Double) atan($event.value.Double) Tanjant değeri belirtilen sayı olan radyan cinsinden açıyı döndürür.
atan2 Double atan2(value1:Double, value2:Double) atan2($event.value1.Double, $event.value2.Double) Tanjant değeri belirtilen iki sayının çekirdeği olan radyan cinsinden açıyı döndürür.

Logaritmik işlevler

İşlev adı İmza Örnek Notlar
log Double log(value:Double) log($event.value.Double) Belirtilen sayının doğal logaritması döndürür.
log2 Double log2(value:Double) log2($event.value.Double) Belirtilen sayının 2 tabanındaki logaritması döndürür.
log10 Double log10(value:Double) log10($event.value.Double) Belirtilen sayının 10 tabanındaki logaritması döndürür.

DateTime İşlevleri

İşlev adı İmza Örnek Notlar
monthOfYear Long monthOfYear(value:DateTime) monthOfYear($event.$ts) Sağlanan DateTime için yılın ayını sayısal olarak döndürür.
dayOfMonth Long dayOfMonth(value:DateTime) dayOfMonth($event.$ts) Sağlanan DateTime için ayın gününü sayısal olarak döndürür.
hourOfDay Long hourOfDay(value:DateTime) hourOfDay($event.$ts) Sağlanan DateTime için günün saatini sayısal olarak döndürür.
utcNow DateTime utcNow() utcNow() Geçerli saati UTC biçiminde döndürür.

Dize işlevleri

İşlev adı İmza Örnek Notlar
toUpper String toUpper(value:String) toUpper($event.value.String) Büyük harfe dönüştürülmüş giriş dizesini döndürür.
toLower String toLower(value:String) toLower($event.value.String) Küçük harfe dönüştürülmüş giriş dizesini döndürür.
strLen Long strLen(value:String) strLen($event.value.String) Dize bağımsız değişkenindeki karakterlerin sayısını döndürür.
strCat Long strCat(value1:String, value2:String) strCat($event.value1.String, $event.value2.String) Belirtilen iki giriş dizesini birleştirir.
subString String subString(value:String, startIndex:Double, length:Double) subString($event.value.String, 2.0, 4.0) Bu örnekten bir alt dize alır.
trim String trim(value:String) trim($event.value.String) Giriş dizesinden baştaki ve sondaki tüm boşluk karakterlerini kaldırarak yeni bir dize döndürür.
indexOf Long indexOf(value:String, subString:String) indexOf($event.value.String, 'abc') Belirtilen dizenin özgün dize içinde sıfır dizine dayalı ilk oluşumunu döndürür.
replace String replace(value:String, searchString:String, replaceString:String) replace($event.value.String, 'abc', 'xyz') Arama dizesinin tüm oluşumlarının değiştirme dizesiyle değiştirildiği bir dize döndürür.

Diğer İşlevler

İşlev adı İmza Örnek Notlar
coalesce String, Long, Double, Bool coalesce (value: String, Long, Double, Bool) coalesce(toLong($event.value.Double), $event.value.Long) Bağımsız değişken listesindeki ilk null olmayan değeri döndürür. En az 2 ve en fazla 64 bağımsız değişken kabul eder, ancak bunların tümü aynı veri türünde olmalıdır.
iff String, Long, Double, Bool iff (predicate: bool, ifTrue: String, Long, Double, Bool, ifFalse: String, Long, Double, Bool) iff ($event.value.Double > 100, 'Good', 'Bad') Koşulun true (ikinci bağımsız değişken döndürür) veya false (üçüncü bağımsız değişken döndürür) olarak çözümlenip çözümlenmediğine bağlı olarak ikinci veya üçüncü bağımsız değişkeni döndürür. Koşul bir Boole ifadesi olmalı ve ikinci ve üçüncü bağımsız değişkenler aynı türde olmalıdır.

Ayrıca bkz.

  • Uygulama kaydı ve Azure Active Directory programlama modeli hakkında daha fazla bilgi için bkz. Geliştiriciler için Azure Active Directory.

  • İstek ve kimlik doğrulama parametreleri hakkında bilgi edinmek için Kimlik doğrulaması ve yetkilendirme'yi okuyun.

  • HTTP isteklerini ve yanıtlarını test etme konusunda yardımcı olan araçlar şunlardır:

  • Fiddler. Bu ücretsiz web hata ayıklama proxy'si REST isteklerinizi kesebilir, böylece HTTP isteğini ve yanıt iletilerini tanılayabilirsiniz.

  • JWT.io. Bu aracı kullanarak talepleri taşıyıcı belirtecinize hızla atabilir ve ardından içeriklerini doğrulayabilirsiniz.

  • Postacı. Bu, REST API'lerinde hata ayıklamaya yönelik ücretsiz bir HTTP isteği ve yanıt testi aracıdır.

  • 2. Nesil belgelerini gözden geçirerek Azure Time Series Insights 2. Nesil hakkında daha fazla bilgi edinin.