Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Översikt
Time Series Expression (TSX) är ett strängbaserat uttrycksspråk med stark typning. TSX används för att representera följande entiteter i en Time Series-fråga.
- Filtrera
- Värde
- Aggregering
Filteruttryck
Filteruttryck används för att representera booleska satser. I följande tabell visas exempel på filter:
| TSX | Description | 
|---|---|
| $event.PointValue.Double = 3.14 | trueför händelser med dubbla PointValue lika med3.14 | 
| $event.PointValue > 3.14 AND $event.Status.String = 'Good' | trueför händelser med PointValue som är större än3.14och strängstatusGood | 
| $event.$ts > dt'2018-11-01T02:03:45Z' | trueför händelser med en tidsstämpel som är större än2018-11-01T02:03:45Z | 
| $event.PointEval.Bool = true | trueför händelser med PointValue lika medtrue | 
Värdeuttryck
Värdeuttryck används för att illustrera värdet för numeriska och kategoriska variabler. Ett värdeuttryck kan vara ett egenskapsreferensuttryck av typen Double eller Long.
Exempel:
| TSX | Kommentarer | 
|---|---|
| $event.Temperature.Double | Den sista token i ett värdeuttryck (i det här fallet Double) läss som egenskapens typ. | 
| $event.Temperature | Typen antas vara Double för en egenskap som nås av en enda token. | 
| $event['Temperature-Celsius'] | Använd [och]för undantagstoken som har specialtecken. Använd dessutom\inom hakparenteserna för att undvika följande tecken:\och'. | 
| $event.Temperature.Celsius.Double | Använd .för att komma åt kapslade egenskaper. Vid åtkomst till kapslade egenskaper krävs typen . | 
| $event.Temperature['Celsius-C'].Double | Använd [och]för undantagstoken som har specialtecken vid åtkomst till kapslade egenskaper. Använd dessutom\inom hakparenteserna för att undvika följande tecken:\och'. Vid åtkomst till kapslade egenskaper krävs typen . | 
| $event['Temperature']['Celsius'].Double | Användning av [och]för undantagstoken tillåts på valfri token. | 
Numerisk variabeltyp
Resultatet av värdeuttrycket ska vara av typen Double eller Long .
Mängdvariabeltyp
Resultatet av värdeuttrycket kan vara av valfri typ som stöds.
Kategorisk variabeltyp
Resultatet av värdeuttrycket får bara vara av typen String eller Long .
Sammansättningsuttryck
Mängduttryck används för att illustrera aggregeringsåtgärden som ska användas i frågan. Ett aggregeringsuttryck resulterar i ett enda värde för varje intervall. Mängduttryck kan tillämpas på numeriska variabler och aggregeringsvariabler.
Sammansättningsuttryck – numerisk variabeltyp
Numeriska variabler bör referera till $value.
Här är de mängdfunktioner som stöds.
| Mängdfunktion | Exempel | Description | 
|---|---|---|
| min | min($value) | Beräknar minimivärdet för $valueper intervall. Undvikernullvärden. Kan inte användas med interpolering. | 
| max | max($value) | Beräknar maxvärdet för $valueper intervall. Undvikernullvärden. Kan inte användas med interpolering. | 
| sum | sum($value) | Beräknar summan av $valueför alla händelser i intervallet. Undvikernullvärden. Kan inte användas med interpolering. | 
| avg | avg($value) | Beräknar medelvärdet av $valueför alla händelser i intervallet. Undvikernullvärden. Kan inte användas med interpolering. | 
| first | first($value) | Returnerar $valueden första händelsen i intervallet efter händelsetidsstämpel. Undviker intenullvärden. Kan inte användas med interpolering. | 
| last | last($value) | Returnerar $valueden senast inträffade händelsen i intervallet efter tidsstämpel för händelsen. Undviker intenullvärden. Kan inte användas med interpolering. | 
| median | median($value) | Returnerar $valueden mellersta händelsen i intervallet efter tidsstämpel för händelsen. Undviker intenullvärden. Kan inte användas med interpolering. | 
| stdev | stdev($value) | Returnerar $valuestandardavvikelsen för händelserna i intervallet. Undvikernullvärden. Kan inte användas med interpolering. | 
| twsum | twsum($value) | Returnerar $valueden tidsviktade summan av händelserna i intervallet. Kräver interpolering. | 
| twavg | twavg($value) | Returnerar $valuedet tidsviktade medelvärdet för händelserna i intervallet. Kräver interpolering. | 
| left | left($value) | $valueReturnerar vid vänsterkanten för det angivna intervallet. Kräver interpolering. | 
| right | right($value) | $valueReturnerar vid den högra kanten av det angivna intervallet. Kräver interpolering. | 
Sammansättningsuttryck – mängdvariabeltyp
Mängdvariabler ska referera till en egenskap i händelsenyttolasten.
Här är de mängdfunktioner som stöds.
| Mängdfunktion | Exempel | Description | 
|---|---|---|
| count | count() | Returnerar antalet händelser per intervall. | 
| min | min($event.Temperature.Double) | Beräknar minimivärdet för egenskapen Temperatur per intervall. Undviker nullvärden. | 
| max | max($event.Temperature.Long) | Beräknar maxvärdet för egenskapen Temperatur per intervall. Undviker nullvärden. | 
| sum | sum($event.Temperature.Double) | Beräknar summan av egenskapen Temperature ( Temperatur ) för alla händelser i intervallet. Undviker nullvärden. | 
| avg | avg($event.Temperature.Long) | Beräknar medelvärdet av egenskapen Temperature (Temperatur ) för alla händelser i intervallet. Undviker nullvärden. | 
| first | first($event.Temperature.String) | Returnerar det första värdet (efter händelsetidsstämpel) för egenskapen Temperatur från alla händelser i intervallet. Undviker inte nullvärden. | 
| last | last($event.Temperature.String) | Returnerar värdet för senast förekommande (efter händelsetidsstämpel) för egenskapen Temperatur från alla händelser i intervallet. Undviker inte nullvärden. | 
| median | median($event.Temperature.String) | Returnerar värdet för mellanrummet (efter händelsetidsstämpel) för egenskapen Temperatur från alla händelser i intervallet. Undviker inte nullvärden. | 
| stdev | stdev($event.Temperature.String) | Beräknar standardavvikelsen för egenskapen Temperatur per intervall. Undviker nullvärden. | 
För en mängdvariabeltyp kan dessa funktioner kombineras i mängduttrycket. Exempel: max($event.Temperature.Long) - min($event.Temperature.Long).
Syntax
I det här avsnittet beskrivs grundläggande syntaxbegrepp och frågeoperatorer som sammanfogas till formuläruttryck.
Literaler som stöds
Anteckning
Literalerna nedan används för att skapa uttryck. I artikeln Datatyper som stöds finns en fullständig lista över datatyper.
| Primitiv typ | Literaler | 
|---|---|
| Bool | TRUE,FALSE | 
| DateTime | dt'2016-10-08T03:22:55.3031599Z' | 
| Dubbel | 1.23,1.0 | 
| Lång | 1,6 | 
| Sträng | 'abc' | 
| Gått | ts'P1Y2M3DT4M5.67S' | 
| Null | NULL | 
Operandtyper som stöds
| Åtgärd | Typer som stöds | Kommentarer | 
|---|---|---|
| <, >, <=, >= | Double, Long, DateTime, TimeSpan | |
| =, !=, <> | Double, Long, String, Bool, DateTime, TimeSpan, NULL | <> motsvarar != | 
| +, -, *, / | Double, Long, DateTime, TimeSpan | 
För jämförelseuttryck (<, >, <=, >=, =, !=) kan operanderna vara NULL eller ha samma typ. I varje predikatuttryck valideras typer av LHS-operander (vänster sida) och rhs-operander (höger sida) för att matcha. Fel uppstår när typer av LHS och RHS inte accepterar, eller om en åtgärd inte tillåts för vissa typer.
Anteckning
Strängtypen kan inte ha värdet null i det varma arkivet:
- Jämförelse av Sträng mot NULL och tom sträng ('') fungerar på samma sätt: $event.p1.String = NULLmotsvarar$event.p1.String = ''.
- API kan returnera NULL-värden även om ursprungliga händelser innehåller tomma strängar.
I framtiden kommer samma beteende att finnas på Cold Store.
Var inte beroende av NULL-värden i strängkolumner och behandla dem på samma sätt som tomma strängar.
- En typkontroll tillämpas:- Alla egenskapstyper accepteras mot en NULLliteral.
- Typer av LHS och RHS bör matcha.
 
- Alla egenskapstyper accepteras mot en 
Här följer exempel på egenskaperna p1 och p2 av typen String, egenskapen p3 av typen Double och en kapslad egenskap som lagras som p4.p5 av typen Double:
| Filtrera | Är giltig? | Kommentarer | 
|---|---|---|
| $event.p1.String = 'abc' | Ja | |
| $event.p1.String = $event.p2.String | Ja | |
| $event.p1.String = NULL | Yes | NULLmatchar valfri typ av vänster sida. | 
| $event.p3.Double = 'abc' | No | Typmatchningsfel. | 
| $event.p3.Double = $event.p1.String | No | Typmatchningsfel. | 
| $event.p1 = 'abc' | No | Typmatchningsfel. | 
| $event.p1 = 1 | No | Typmatchningsfel. | 
| $event.p1 = true | No | Typmatchningsfel. | 
| $event.p1 = NULL | Yes | p1är den enda token som används. Tolkas som$event.p1.Double = NULL | 
| $event['p1'] != NULL | Yes | ['p1']är den enda token som används. Tolkas som$event['p1'].Double != NULL | 
| $event.p4.p5 = 0.0 | No | Ogiltig egenskapsreferenssyntax. En typ måste anges på LHS för jämförelse. | 
| $event.p4.p5.Double = 0.0 | Yes | 
Skalära funktioner som stöds
Nedan visas listan över skalärfunktioner efter kategorier:
Konverteringsfunktioner
| Funktionsnamn | Signatur | Exempel | Anteckningar | 
|---|---|---|---|
| toDouble | Double toDouble (value: String, Double, Long) | toDouble($event.value.Long) | Konverterar argumenten till Double. | 
| toLong | Long toLong (value: String, Double, Long) | toLong($event.value.Double + 1.0) | Konverterar argumenten till Long. | 
| toString | String toString (value: String, Double, Long) | toString($event.value.Double) | Konverterar argument till Sträng. | 
Matematiska funktioner
| Funktionsnamn | Signatur | Exempel | Anteckningar | 
|---|---|---|---|
| round | Double round(value:Double) | round($event.value.Double) | Avrundar ett flytande tal med dubbel precision till närmaste integral. | 
| ceiling | Double ceiling(value:Double) | ceiling($event.value.Double) | Returnerar det minsta integralvärdet som är större än eller lika med flyttal med dubbel precision. | 
| floor | Double floor(value:Double) | floor($event.value.Double) | Returnerar det största integralvärdet som är mindre än eller lika med flyttal med dubbel precision. | 
Trigonometriska funktioner
| Funktionsnamn | Signatur | Exempel | Anteckningar | 
|---|---|---|---|
| cos | Double cos(value:Double) | cos($event.value.Double) | Returnerar Cosinin för den angivna vinkeln i radianer. | 
| sin | Double sin(value:Double) | sin($event.value.Double) | Returnerar sinus för den angivna vinkeln i radianer. | 
| tan | Double tan(value:Double) | tan($event.value.Double) | Returnerar tangens för den angivna vinkeln i radianer. | 
| acos | Double acos(value:Double) | acos($event.value.Double) | Returnerar vinkeln i radianer vars Cosiné är det angivna talet. | 
| asin | Double asin(value:Double) | asin($event.value.Double) | Returnerar vinkeln i radianer vars sinus är det angivna talet. | 
| atan | Double atan(value:Double) | atan($event.value.Double) | Returnerar vinkeln i radianer vars Tang är det angivna talet. | 
| atan2 | Double atan2(value1:Double, value2:Double) | atan2($event.value1.Double, $event.value2.Double) | Returnerar vinkeln i radianer vars Tangent är kvoten för två angivna tal. | 
Logaritmiska funktioner
| Funktionsnamn | Signatur | Exempel | Anteckningar | 
|---|---|---|---|
| log | Double log(value:Double) | log($event.value.Double) | Returnerar den naturliga logaritmen för ett angivet tal. | 
| log2 | Double log2(value:Double) | log2($event.value.Double) | Returnerar bas 2-logaritmen för ett angivet tal. | 
| log10 | Double log10(value:Double) | log10($event.value.Double) | Returnerar bas 10 logaritmen för ett angivet tal. | 
DateTime Functions
| Funktionsnamn | Signatur | Exempel | Anteckningar | 
|---|---|---|---|
| monthOfYear | Long monthOfYear(value:DateTime) | monthOfYear($event.$ts) | Returnerar månaden på året som ett numeriskt värde för den angivna DateTime. | 
| dayOfMonth | Long dayOfMonth(value:DateTime) | dayOfMonth($event.$ts) | Returnerar dagen i månaden som ett numeriskt värde för den angivna DateTime. | 
| hourOfDay | Long hourOfDay(value:DateTime) | hourOfDay($event.$ts) | Returnerar timmen på dagen som ett numeriskt värde för den angivna DateTime. | 
| utcNow | DateTime utcNow() | utcNow() | Returnerar aktuell tid i UTC-format. | 
Strängfunktioner
| Funktionsnamn | Signatur | Exempel | Anteckningar | 
|---|---|---|---|
| toUpper | String toUpper(value:String) | toUpper($event.value.String) | Returnerar indatasträng som konverterats till versaler. | 
| toLower | String toLower(value:String) | toLower($event.value.String) | Returnerar indatasträng som konverterats till gemener. | 
| strLen | Long strLen(value:String) | strLen($event.value.String) | Returnerar antalet tecken i strängargumentet. | 
| strCat | Long strCat(value1:String, value2:String) | strCat($event.value1.String, $event.value2.String) | Sammanfogar två angivna indatasträngar. | 
| subString | String subString(value:String, startIndex:Double, length:Double) | subString($event.value.String, 2.0, 4.0) | Hämtar en delsträng från den här instansen. | 
| trim | String trim(value:String) | trim($event.value.String) | Returnerar en ny sträng genom att ta bort alla inledande och avslutande blankstegstecken från indatasträngen. | 
| indexOf | Long indexOf(value:String, subString:String) | indexOf($event.value.String, 'abc') | Returnerar den första förekomsten av den angivna strängen i den ursprungliga strängen, baserat på nollindexering. | 
| replace | String replace(value:String, searchString:String, replaceString:String) | replace($event.value.String, 'abc', 'xyz') | Returnerar en sträng där alla förekomster av söksträngen ersätts med ersättningssträngen. | 
Andra funktioner
| Funktionsnamn | Signatur | Exempel | Anteckningar | 
|---|---|---|---|
| coalesce | String, Long, Double, Bool coalesce (value: String, Long, Double, Bool) | coalesce(toLong($event.value.Double), $event.value.Long) | Returnerar det första värdet som inte är null i argumentlistan. Accepterar minst 2 och högst 64 argument, men alla måste ha samma datatyp. | 
| 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') | Returnerar det andra eller tredje argumentet beroende på om predikatet har matchats till sant (returnerar andra argumentet) eller falskt (returnerar tredje argumentet). Predikatet måste vara ett booleskt uttryck och det andra och tredje argumentet måste ha samma typ. | 
Se även
- Mer information om programregistrering och Azure Active Directory-programmeringsmodellen finns i Azure Active Directory för utvecklare. 
- Mer information om parametrar för begäran och autentisering finns i Autentisering och auktorisering. 
- Verktyg som hjälper dig att testa HTTP-begäranden och svar är: 
- Fiddler. Den här kostnadsfria webbfelsökningsproxyn kan fånga upp dina REST-begäranden så att du kan diagnostisera HTTP-begäran och svarsmeddelanden. 
- JWT.io. Du kan använda det här verktyget för att snabbt dumpa anspråken i ägartoken och sedan verifiera innehållet. 
- Postman. Det här är ett kostnadsfritt testverktyg för HTTP-begäran och svar för felsökning av REST-API:er. 
- Läs mer om Azure Time Series Insights Gen2 genom att läsa Gen2-dokumentationen.