Azure Time Series Insights Gen2 Idősor kifejezés szintaxisa
Áttekintés
A Time Series Expression (TSX) egy erős gépelésű sztringalapú kifejezésnyelv. A TSX a következő entitások ábrázolására szolgál egy idősoros lekérdezésben.
- Szűrő
- Érték
- Összesítés
Kifejezések szűrése
A szűrőkifejezések logikai záradékokat jelölnek. Az alábbi táblázat példákat sorol fel a szűrőkre:
TSX | Description |
---|---|
$event.PointValue.Double = 3.14 |
true olyan eseményekhez, amikor a PointValue értéke megegyezik a következővel: 3.14 |
$event.PointValue > 3.14 AND $event.Status.String = 'Good' |
true a PointValue-nál3.14 nagyobb értékű és sztringállapotú eseményekhez Good |
$event.$ts > dt'2018-11-01T02:03:45Z' |
true olyan események esetén, amelynek időbélyege nagyobb, mint 2018-11-01T02:03:45Z |
$event.PointEval.Bool = true |
true olyan eseményekhez, amikor a PointValue értéke true |
Értékkifejezések
Az értékkifejezések numerikus és kategorikus változók értékének ábrázolására szolgálnak. Az értékkifejezés lehet dupla vagy hosszú típusú tulajdonsághivatkozási kifejezés.
Például:
TSX | Jegyzetek |
---|---|
$event.Temperature.Double |
Bármely értékkifejezés utolsó tokenje (ebben az esetben Double ) a tulajdonság típusaként lesz beolvasva. |
$event.Temperature |
A típust a rendszer dupla értékűnek feltételezi egy egyetlen jogkivonattal elért tulajdonság esetében. |
$event['Temperature-Celsius'] |
Speciális karakterekkel rendelkező jogkivonatok meneküléséhez használja [ a és ] a parancsot. A \ szögletes zárójelek között a következő karaktereket is feloldhatja: \ és ' . |
$event.Temperature.Celsius.Double |
Beágyazott tulajdonságok elérésére használható . . Beágyazott tulajdonságok elérésekor a típus megadása kötelező. |
$event.Temperature['Celsius-C'].Double |
A és ] a függvény [ speciális karakterekkel rendelkező jogkivonatok beágyazási tulajdonságainak elérésekor használható. A \ szögletes zárójelek között a következő karaktereket is feloldhatja: \ és ' . Beágyazott tulajdonságok elérésekor a típus megadása kötelező. |
$event['Temperature']['Celsius'].Double |
[ A és ] a használata a tokenek meneküléséhez bármely jogkivonaton engedélyezett. |
Numerikus változó típusa
Az értékkifejezés eredményének dupla vagy hosszú típusúnak kell lennie.
Aggregátumváltozó típusa
Az értékkifejezés eredménye bármilyen támogatott típus lehet.
Kategorikus változó típusa
Az értékkifejezés eredménye csak Sztring vagy Hosszú típus lehet.
Összesítő kifejezések
Az összesítő kifejezések a lekérdezésben használni kívánt összesítési műveletet ábrázolják. Az aggregátumkifejezések minden intervallumhoz egyetlen értéket adnak. Az aggregátumkifejezések numerikus és összesítő változókra is alkalmazhatók.
Aggregációs kifejezések – numerikus változó típusa
A numerikus változóknak a következőre kell hivatkoznia: $value
.
Íme a támogatott összesítő függvények.
Összesítő függvény | Példa | Leírás |
---|---|---|
min |
min($value) |
Kiszámítja az intervallumonkénti $value minimális értéket. Elkerüli az null értékeket. Interpolációval nem használható. |
max |
max($value) |
Kiszámítja az intervallumonkénti $value maximális értéket. Elkerüli az null értékeket. Interpolációval nem használható. |
sum |
sum($value) |
Kiszámítja az összes esemény összegét $value az intervallumban. Elkerüli az null értékeket. Interpolációval nem használható. |
avg |
avg($value) |
Az intervallum összes eseményének átlagát $value számítja ki. Elkerüli az null értékeket. Interpolációval nem használható. |
first |
first($value) |
$value Az első előforduló esemény visszaadása az intervallumban eseményidőbélyeggel. Nem kerüli el null az értékeket. Interpolációval nem használható. |
last |
last($value) |
$value Az utolsó esemény értékét adja vissza az intervallumban az esemény időbélyege szerint. Nem kerüli el null az értékeket. Interpolációval nem használható. |
median |
median($value) |
$value A középső esemény értékét adja vissza az intervallumban az esemény időbélyege szerint. Nem kerüli el null az értékeket. Interpolációval nem használható. |
stdev |
stdev($value) |
$value Az események szórását adja vissza az intervallumban. Elkerüli az null értékeket. Interpolációval nem használható. |
twsum |
twsum($value) |
$value Az események idő súlyozott összegét adja vissza az intervallumban. Interpolációt igényel. |
twavg |
twavg($value) |
$value Az események súlyozott átlagának időértékét adja vissza az intervallumban. Interpolációt igényel. |
left |
left($value) |
$value A megadott intervallum bal szélén lévő értéket adja vissza. Interpolációt igényel. |
right |
right($value) |
$value A megadott intervallum jobb szélén lévő értéket adja vissza. Interpolációt igényel. |
Aggregációs kifejezések – aggregátumváltozó típusa
Az összesített változóknak egy tulajdonságra kell hivatkoznia az esemény hasznos adataiban.
Íme a támogatott összesítő függvények.
Aggregátumfüggvény | Példa | Leírás |
---|---|---|
count |
count() |
Az események intervallumonkénti számát adja vissza. |
min |
min($event.Temperature.Double) |
Kiszámítja az intervallumonkénti Hőmérséklet tulajdonság minimális értékét. Elkerüli az null értékeket. |
max |
max($event.Temperature.Long) |
Kiszámítja az intervallumonkénti Hőmérséklet tulajdonság maximumát. Elkerüli az null értékeket. |
sum |
sum($event.Temperature.Double) |
Kiszámítja a Temperature tulajdonság összegét az intervallum összes eseményéhez képest. Elkerüli az null értékeket. |
avg |
avg($event.Temperature.Long) |
Kiszámítja a Hőmérséklet tulajdonság átlagát az intervallum összes eseményére. Elkerüli az null értékeket. |
first |
first($event.Temperature.String) |
A Temperature tulajdonság első (eseményidőbélyeggel történő) értékét adja vissza az intervallum összes eseményéből. Nem kerüli el null az értékeket. |
last |
last($event.Temperature.String) |
A Temperature tulajdonság utolsó (eseményidőbélyeggel történő) értékét adja vissza az intervallum összes eseményéből. Nem kerüli el null az értékeket. |
median |
median($event.Temperature.String) |
A Hőmérséklet tulajdonság középértékét adja vissza (eseményidőbélyeggel) az intervallum összes eseményéből. Nem kerüli el null az értékeket. |
stdev |
stdev($event.Temperature.String) |
Kiszámítja a Hőmérséklet intervallumonként tulajdonság szórását. Elkerüli az null értékeket. |
Aggregátumváltozók esetében ezek a függvények kombinálhatók az összesítő kifejezésben. Példa: max($event.Temperature.Long) - min($event.Temperature.Long)
.
Syntax
Ez a szakasz a kifejezésekkel összefűzött alapvető szintaxisfogalmakat és lekérdezési operátorokat ismerteti.
Támogatott literálok
Megjegyzés
Az alábbi literálok kifejezéseket alkotnak. Az adattípusok teljes listáját a Támogatott adattípusok című cikkben találja.
Primitív típus | Literálok |
---|---|
Bool | TRUE , FALSE |
Dátum/idő | dt'2016-10-08T03:22:55.3031599Z' |
Dupla | 1.23 , 1.0 |
Hosszú | 1 , 6 |
Sztring | 'abc' |
Időtartomány | ts'P1Y2M3DT4M5.67S' |
Null | NULL |
Támogatott operandustípusok
Művelet | Támogatott típusok | Jegyzetek |
---|---|---|
<, >, <=, >= | Double, Long, DateTime, TimeSpan | |
=, !=, <> | Double, Long, String, Bool, DateTime, TimeSpan, NULL | <>egyenértékű a != értékkel |
+, -, *, / | Double, Long, DateTime, TimeSpan |
Összehasonlító kifejezések (<, , ><=, >=, =, !=) esetén az operandusok NULL értékűek vagy azonos típusúak lehetnek. Minden predikátumkifejezésben a rendszer ellenőrzi, hogy a bal oldali (LHS) és a jobb oldali (RHS) operandusok típusai egyeznek-e. Hibák akkor fordulnak elő, ha az LHS és az RHS típusai nem egyeznek meg, vagy egy művelet nem engedélyezett bizonyos típusok esetében.
Megjegyzés
A meleg tárolóban a sztringtípus nem null értékű:
- A Sztringés az üres karakterlánc (') összehasonlítása ugyanúgy viselkedik: egyenértékű a következővel
$event.p1.String = ''
:$event.p1.String = NULL
. - Az API null értékeket adhat vissza akkor is, ha az eredeti események üres sztringeket tartalmaztak.
A jövőben ugyanez a viselkedés lesz a Cold Store-ban is.
Ne függjenek a NULL értékekről a Sztringoszlopokban , és ugyanúgy kezeljék őket, mint az üres sztringeket.
- A rendszer típusellenőrzést alkalmaz:
- Bármilyen tulajdonságtípust elfogad a konstans
NULL
. - Az LHS és az RHS típusának egyeznie kell.
- Bármilyen tulajdonságtípust elfogad a konstans
Íme néhány példa a Sztring típusú p1 és p2 tulajdonságokra, a Dupla típusú p3 tulajdonságra, valamint a Double típusú p4.p5 fájlként tárolt beágyazott tulajdonságra:
Szűrő | Érvényes? | Jegyzetek |
---|---|---|
$event.p1.String = 'abc' |
Igen | |
$event.p1.String = $event.p2.String |
Igen | |
$event.p1.String = NULL |
Yes | NULL bármely bal oldali típusra illeszkedik. |
$event.p3.Double = 'abc' |
No | Típuseltérés. |
$event.p3.Double = $event.p1.String |
No | Típuseltérés. |
$event.p1 = 'abc' |
No | Típuseltérés. |
$event.p1 = 1 |
No | Típuseltérés. |
$event.p1 = true |
No | Típuseltérés. |
$event.p1 = NULL |
Yes | p1 az egyetlen használt jogkivonat. Értelmezve: $event.p1.Double = NULL |
$event['p1'] != NULL |
Yes | ['p1'] az egyetlen használt jogkivonat. Értelmezve: $event['p1'].Double != NULL |
$event.p4.p5 = 0.0 |
No | Érvénytelen tulajdonsághivatkozási szintaxis. Az összehasonlítás LHS-ében meg kell adni egy típust. |
$event.p4.p5.Double = 0.0 |
Yes |
Támogatott skaláris függvények
Alább a skaláris függvények kategóriánkénti listája látható:
Konverziós függvények
Függvény neve | Aláírás | Példa | Megjegyzések |
---|---|---|---|
toDouble |
Double toDouble (value: String, Double, Long) |
toDouble($event.value.Long) |
Az argumentumokat Dupla értékké alakítja. |
toLong |
Long toLong (value: String, Double, Long) |
toLong($event.value.Double + 1.0) |
Az argumentumokat Hosszú értékké alakítja. |
toString |
String toString (value: String, Double, Long) |
toString($event.value.Double) |
Az argumentumokat sztringgé alakítja. |
Matematikai függvények
Függvény neve | Aláírás | Példa | Megjegyzések |
---|---|---|---|
round |
Double round(value:Double) |
round($event.value.Double) |
Dupla pontosságú lebegő számot kerekített a legközelebbi integrálra. |
ceiling |
Double ceiling(value:Double) |
ceiling($event.value.Double) |
A legkisebb integrálértéket adja vissza, amely nagyobb vagy egyenlő a dupla pontosságú lebegőpontos számmal. |
floor |
Double floor(value:Double) |
floor($event.value.Double) |
A legnagyobb integrálértéket adja vissza, amely kisebb vagy egyenlő a dupla pontosságú lebegőpontos számmal. |
Trigonometrikus függvények
Függvény neve | Aláírás | Példa | Megjegyzések |
---|---|---|---|
cos |
Double cos(value:Double) |
cos($event.value.Double) |
A megadott szög koszinuszát adja vissza radiánban. |
sin |
Double sin(value:Double) |
sin($event.value.Double) |
A megadott szög szinuszát adja vissza radiánban. |
tan |
Double tan(value:Double) |
tan($event.value.Double) |
A megadott szög tangensét adja vissza radiánban. |
acos |
Double acos(value:Double) |
acos($event.value.Double) |
A radiánban megadott szöget adja vissza, amelynek koszinusza a megadott szám. |
asin |
Double asin(value:Double) |
asin($event.value.Double) |
A radiánban megadott szöget adja vissza, amelynek szinusza a megadott szám. |
atan |
Double atan(value:Double) |
atan($event.value.Double) |
A radiánban megadott szöget adja vissza, amelynek Tangens értéke a megadott szám. |
atan2 |
Double atan2(value1:Double, value2:Double) |
atan2($event.value1.Double, $event.value2.Double) |
A radiánban megadott szöget adja vissza, amelynek Tangense két megadott szám hányadosa. |
Logaritmikus függvények
Függvény neve | Aláírás | Példa | Megjegyzések |
---|---|---|---|
log |
Double log(value:Double) |
log($event.value.Double) |
Egy megadott szám természetes logaritmusát adja eredményül. |
log2 |
Double log2(value:Double) |
log2($event.value.Double) |
Egy megadott szám 2. alap logaritmusát adja eredményül. |
log10 |
Double log10(value:Double) |
log10($event.value.Double) |
Egy megadott szám 10-es alapú logaritmusát adja eredményül. |
DateTime függvények
Függvény neve | Aláírás | Példa | Megjegyzések |
---|---|---|---|
monthOfYear |
Long monthOfYear(value:DateTime) |
monthOfYear($event.$ts) |
Az év hónapját adja eredményül számként a megadott DateTime értékhez. |
dayOfMonth |
Long dayOfMonth(value:DateTime) |
dayOfMonth($event.$ts) |
A megadott DateTime számként adja vissza a hónap napját. |
hourOfDay |
Long hourOfDay(value:DateTime) |
hourOfDay($event.$ts) |
A megadott DateTime számként adja vissza a nap óráját. |
utcNow |
DateTime utcNow() |
utcNow() |
Az aktuális időt UTC formátumban adja vissza. |
Sztringfüggvények
Függvény neve | Aláírás | Példa | Megjegyzések |
---|---|---|---|
toUpper |
String toUpper(value:String) |
toUpper($event.value.String) |
Nagybetűssé konvertált bemeneti sztringet ad vissza. |
toLower |
String toLower(value:String) |
toLower($event.value.String) |
Kisbetűssé konvertált bemeneti sztringet ad vissza. |
strLen |
Long strLen(value:String) |
strLen($event.value.String) |
A karakterlánc argumentumban szereplő karakterek számát adja eredményül. |
strCat |
Long strCat(value1:String, value2:String) |
strCat($event.value1.String, $event.value2.String) |
Összefűz két megadott bemeneti sztringet. |
subString |
String subString(value:String, startIndex:Double, length:Double) |
subString($event.value.String, 2.0, 4.0) |
Lekéri az alsztringet ebből a példányból. |
trim |
String trim(value:String) |
trim($event.value.String) |
Új sztringet ad vissza úgy, hogy eltávolítja az összes kezdő és záró szóköz karaktert a bemeneti sztringből. |
indexOf |
Long indexOf(value:String, subString:String) |
indexOf($event.value.String, 'abc') |
A megadott sztring első előfordulását adja vissza az eredeti sztringben, nulla indexelés alapján. |
replace |
String replace(value:String, searchString:String, replaceString:String) |
replace($event.value.String, 'abc', 'xyz') |
Egy sztringet ad vissza, amelyben a keresési sztring összes előfordulását lecseréli a helyettesítő sztringre. |
Egyéb függvények
Függvény neve | Aláírás | Példa | Megjegyzések |
---|---|---|---|
coalesce |
String, Long, Double, Bool coalesce (value: String, Long, Double, Bool) |
coalesce(toLong($event.value.Double), $event.value.Long) |
Az argumentumlista első nem null értékű értékét adja eredményül. Legalább 2 és legfeljebb 64 argumentumot fogad el, de mindegyiknek azonos adattípusúnak kell lennie. |
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') |
A második vagy a harmadik argumentumot adja vissza attól függően, hogy a predikátum igaz (második argumentumot ad vissza) vagy hamis (a harmadik argumentumot adja vissza). A predikátumnak logikai kifejezésnek kell lennie, a második és a harmadik argumentumnak pedig azonos típusúnak kell lennie. |
Lásd még
További információ az alkalmazásregisztrációról és az Azure Active Directory programozási modellről: Azure Active Directory fejlesztőknek.
A kérelem- és hitelesítési paraméterekkel kapcsolatos további információkért olvassa el a Hitelesítés és engedélyezés című témakört.
A HTTP-kérések és -válaszok tesztelését segítő eszközök a következők:
Fiddler. Ez az ingyenes webes hibakeresési proxy elfoghatja a REST-kéréseket, így diagnosztizálhatja a HTTP-kéréseket és a válaszüzeneteket.
JWT.io. Ezzel az eszközzel gyorsan lerakhatja a jogcímeket a tulajdonosi jogkivonatban, majd ellenőrizheti azok tartalmát.
Postás. Ez egy ingyenes HTTP-kérés- és választesztelési eszköz a REST API-k hibakereséséhez.
A Gen2 dokumentációjának áttekintésével további információt Azure Time Series Insights Gen2-ről.