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.
Gäller för: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Avrundar värden nedåt till en heltalsmultipel av en viss lagerplatsstorlek.
Används ofta i kombination med summarize by ....
Om du har en punktspridd uppsättning värden grupperas de i en mindre uppsättning specifika värden.
Funktionerna
bin()ochfloor()är likvärdiga
Syntax
bin(
värde,roundTo)
Läs mer om syntaxkonventioner.
Parameterar
| Namn | Typ | Krävs | Beskrivning |
|---|---|---|---|
| värde | int, long, real, timespan eller datetime | ✔️ | Värdet som ska avrundas nedåt. |
| roundTo | int, long, real eller timespan | ✔️ | Den "lagerplatsstorlek" som delar upp värdet. |
Retur
Den närmaste multipeln av roundTo under värdet. Null-värden, en null-bin-storlek eller en negativ bin-storlek resulterar i null.
Exempel
I följande exempel visas funktionen bin() med numeriska data.
print bin(4.5, 1)
Resultat
| print_0 |
|---|
| 4 |
I följande exempel visas funktionen bin() med tidsintervalldata.
print bin(time(16d), 7d)
Resultat
| print_0 |
|---|
| 14:00:00:00 |
I följande exempel visas funktionen bin() med datetime-data.
print bin(datetime(1970-05-11 13:45:07), 1d)
Resultat
| print_0 |
|---|
| 1970-05-11T00:00:00Z |
När det finns rader för lagerplatser utan motsvarande rad i tabellen rekommenderar vi att du fyller tabellen med dessa lagerplatser. Följande fråga tittar på starka stormhändelser i Kalifornien under en vecka i april. Det finns dock inga händelser på vissa dagar.
let Start = datetime('2007-04-07');
let End = Start + 7d;
StormEvents
| where StartTime between (Start .. End)
| where State == "CALIFORNIA" and EventType == "Strong Wind"
| summarize PropertyDamage=sum(DamageProperty) by bin(StartTime, 1d)
Resultat
| Starttid | PropertyDamage |
|---|---|
| 2007-04-08T00:00:00Z | 3000 |
| 2007-04-11T00:00:00Z | 1 000 |
| 2007-04-12T00:00:00Z | 105000 |
För att representera hela veckan fyller följande fråga resultattabellen med null-värden för de dagar som saknas. Här är en stegvis förklaring av processen:
- Använd operatorn
unionför att lägga till fler rader i tabellen. - Operatorn
rangeskapar en tabell som har en enda rad och kolumn. - Operatorn
mv-expandöverrangefunktionen skapar så många rader som det finns lagerplatser mellanStartTimeochEndTime. - Använd en
PropertyDamageav0. - Operatorn
summarizegrupperar lagerplatser från den ursprungliga tabellen till tabellen som skapas avunionuttrycket. Den här processen säkerställer att utdata har en rad per lagerplats vars värde antingen är noll eller det ursprungliga antalet.
let Start = datetime('2007-04-07');
let End = Start + 7d;
StormEvents
| where StartTime between (Start .. End)
| where State == "CALIFORNIA" and EventType == "Strong Wind"
| union (
range x from 1 to 1 step 1
| mv-expand StartTime=range(Start, End, 1d) to typeof(datetime)
| extend PropertyDamage=0
)
| summarize PropertyDamage=sum(DamageProperty) by bin(StartTime, 1d)
Resultat
| Starttid | PropertyDamage |
|---|---|
| 2007-04-07T00:00:00Z | 0 |
| 2007-04-08T00:00:00Z | 3000 |
| 2007-04-09T00:00:00Z | 0 |
| 2007-04-10T00:00:00Z | 0 |
| 2007-04-11T00:00:00Z | 1 000 |
| 2007-04-12T00:00:00Z | 105000 |
| 2007-04-13T00:00:00Z | 0 |
| 2007-04-14T00:00:00Z | 0 |