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
union
för att lägga till fler rader i tabellen. - Operatorn
range
skapar en tabell som har en enda rad och kolumn. - Operatorn
mv-expand
överrange
funktionen skapar så många rader som det finns lagerplatser mellanStartTime
ochEndTime
. - Använd en
PropertyDamage
av0
. - Operatorn
summarize
grupperar lagerplatser från den ursprungliga tabellen till tabellen som skapas avunion
uttrycket. 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 |