bin_at()
Si applica a: ✅Microsoft Fabric✅Azure Esplora dati✅ Azure Monitor✅Microsoft Sentinel
Restituisce il valore arrotondato per difetto alla dimensione del contenitore più vicina, allineata a un punto di riferimento fisso.
A differenza della funzione bin(), in cui il punto di allineamento è predefinito, bin_at() consente di definire un punto fisso per l'allineamento. I risultati possono essere allineati prima o dopo il punto fisso.
Sintassi
bin_at
(
valore,
bin_size fixed_point,
)
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Digita | Obbligatorio | Description |
---|---|---|---|
value | int , long , real , timespan o datetime |
✔️ | Il valore da arrotondare. |
bin_size | int , long , real o timespan |
✔️ | Dimensioni di ogni contenitore. |
fixed_point | int , long , real , timespan o datetime |
✔️ | Costante dello stesso tipo di valore, utilizzata come punto di riferimento fisso. |
Nota
Se value è o timespan
datetime
, il bin_size deve essere .timespan
Valori restituiti
Il multiplo più vicino di bin_size sotto il valore specificato allineato al fixed_point specificato.
Esempi
Nell'esempio seguente, il valore viene arrotondato per difetto alla bin_size più vicina allineata al fixed_point.
print bin_at(6.5, 2.5, 7)
Output
print_0 |
---|
4.5 |
Nell'esempio seguente l'intervallo di tempo viene inserito nel bin giornaliero allineato a un punto fisso di 12 ore. Il valore restituito è -12 perché un contenitore giornaliero allineato a 12 ore arrotonda fino a 12 nel giorno precedente.
print bin_at(time(1h), 1d, 12h)
Output
print_0 |
---|
-12:00:00 |
Nell'esempio seguente i contenitori giornalieri sono allineati a mezzogiorno.
print bin_at(datetime(2017-05-15 10:20:00.0), 1d, datetime(1970-01-01 12:00:00.0))
Output
print_0 |
---|
2017-05-14T12:00:00Z |
Nell'esempio seguente i bin sono settimanali e allineati all'inizio di domenica 6 giugno 2017. Nell'esempio viene restituito un contenitore allineato alla domenica.
print bin_at(datetime(2017-05-17 10:20:00.0), 7d, datetime(2017-06-04 00:00:00.0))
Output
print_0 |
---|
2017-05-14T00:00:00Z |
Nell'esempio seguente il numero totale di eventi viene raggruppato in contenitori giornalieri allineati alla data e all'ora di fixed_point . Il valore fixed_point è incluso in uno dei contenitori restituiti.
datatable(Date:datetime, NumOfEvents:int)[
datetime(2018-02-24T15:14),3,
datetime(2018-02-24T15:24),4,
datetime(2018-02-23T16:14),4,
datetime(2018-02-23T17:29),4,
datetime(2018-02-26T15:14),5]
| summarize TotalEvents=sum(NumOfEvents) by bin_at(Date, 1d, datetime(2018-02-24 15:14:00.0000000))
Output
Data | TotalEvents |
---|---|
2018-02-23T15:14:00Z | 8 |
2018-02-24T15:14:00Z | 7 |
2018-02-26T15:14:00Z | 5 |