Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Arredonda os valores até um número inteiro múltiplo de um determinado tamanho do compartimento.
Usada frequentemente em combinação com summarize by ....
Se você tiver um conjunto disperso de valores, eles serão agrupados em um conjunto menor de valores específicos.
As
bin()funções efloor()são equivalentes
Sintaxe
bin(
valor,roundTo)
Saiba mais sobre as convenções de sintaxe.
Parâmetros
| Nome | Digitar | Obrigatória | Descrição |
|---|---|---|---|
| valor | int, long, real, timespan ou datetime | ✔️ | O valor a ser arredondado para baixo. |
| roundTo | int, long, real ou timespan | ✔️ | O "tamanho do compartimento" que divide o valor. |
Devoluções
O múltiplo mais próximo de roundTo abaixo de value. Valores nulos, um tamanho de compartimento nulo ou um tamanho de compartimento negativo resultarão em nulo.
Exemplos
O exemplo a seguir demonstra a bin() função com dados numéricos.
print bin(4.5, 1)
Saída
| print_0 |
|---|
| 4 |
O exemplo a seguir demonstra a bin() função com dados de tempo limite.
print bin(time(16d), 7d)
Saída
| print_0 |
|---|
| 14:00:00:00 |
O exemplo a seguir demonstra a bin() função com dados de datetime.
print bin(datetime(1970-05-11 13:45:07), 1d)
Saída
| print_0 |
|---|
| 1970-05-11T00:00:00Z |
Quando houver linhas para compartimentos sem nenhuma linha correspondente na tabela, recomendamos preencher a tabela com esses compartimentos. A consulta a seguir analisa eventos de tempestades de vento fortes na Califórnia por uma semana em abril. No entanto, não há eventos em alguns dos dias.
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)
Saída
| HoraDeInício | Danosà propriedade |
|---|---|
| 2007-04-08T00:00:00Z | 3000 |
| 2007-04-11T00:00:00Z | 1000 |
| 2007-04-12T00:00:00Z | 105000 |
Para representar a semana inteira, a consulta a seguir preenche a tabela de resultados com valores nulos para os dias ausentes. Aqui está uma explicação passo a passo do processo:
- Use o
unionoperador para adicionar mais linhas à tabela. - O operador
rangeproduzirá uma tabela com somente uma linha e coluna. - O
mv-expandoperador sobre arangefunção cria tantas linhas quantas forem as caixas entreStartTimeeEndTime. - Use uma
PropertyDamagede0. - O
summarizeoperador agrupa compartimentos da tabela original para a tabela produzida pelaunionexpressão. Esse processo garantirá que a saída tenha uma linha por compartimento cujo valor será zero ou a contagem original.
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)
Saída
| HoraDeInício | Danosà propriedade |
|---|---|
| 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 | 1000 |
| 2007-04-12T00:00:00Z | 105000 |
| 2007-04-13T00:00:00Z | 0 |
| 2007-04-14T00:00:00Z | 0 |