Share via


bin_at()

Avrundar värdena nedåt till en lagerplats med fast storlek, med kontroll över lagerplatsens startpunkt.

Syntax

bin_at(Värde,, bin_sizefixed_point)

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Obligatorisk Beskrivning
värde int, long, real, timespan eller datetime ✔️ Värdet som ska rundas av.
bin_size int, long, real eller timespan ✔️ Storleken på varje lagerplats.
fixed_point int, long, real, timespan eller datetime ✔️ En konstant av samma typ som värdet som anger ett värde, vilket är en fast punkt där bin_at(fixed_point, bin_size, fixed_point) == fixed_point.

Anteckning

Om värdet är ett tidsintervall eller en datetime måste bin_size vara ett tidsintervall.

Returer

Den närmaste multipeln av bin_size under värdet, flyttas så att fixed_point översätts till sig själv.

Exempel

Uttryck Resultat Kommentarer
bin_at(6.5, 2.5, 7) 4.5
bin_at(time(1h), 1d, 12h) -12h
bin_at(datetime(2017-05-15 10:20:00.0), 1d, datetime(1970-01-01 12:00:00.0)) datetime(2017-05-14 12:00:00.0) Alla intervall kommer att vara kl. 12.00
bin_at(datetime(2017-05-17 10:20:00.0), 7d, datetime(2017-06-04 00:00:00.0)) datetime(2017-05-14 00:00:00.0) Alla intervall kommer att vara på söndagar

I följande exempel ser du att "fixed point" arg returneras som en av intervallen och att de andra intervallen är justerade mot den baserat på bin_size. Observera också att varje datetime-lagerplats representerar starttiden för det intervallet:

datatable(Date:datetime, Num:int)[
datetime(2018-02-24T15:14),3,
datetime(2018-02-23T16:14),4,
datetime(2018-02-26T15:14),5]
| summarize sum(Num) by bin_at(Date, 1d, datetime(2018-02-24 15:14:00.0000000)) 

Resultat

Date sum_Num
2018-02-23 15:14:00.0000000 4
2018-02-24 15:14:00.0000000 3
2018-02-26 15:14:00.0000000 5