Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Arredonda valores para baixo para um múltiplo inteiro de um determinado tamanho de compartimento.
Usado 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 funções
bin()efloor()são equivalentes
Sintaxe
bin(
valor,roundTo)
Saiba mais sobre convenções de sintaxe.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| valor | int, long, real, timespan ou datetime | ✔️ | O valor a arredondar para baixo. |
| roundTo | int, longo, real ou período de tempo | ✔️ | O "tamanho do caixote" que divide o valor. |
Devoluções
O múltiplo mais próximo de roundTo abaixo do valor. 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)
Realização
| print_0 |
|---|
| 4 |
O exemplo a seguir demonstra a bin() função com dados de período de tempo.
print bin(time(16d), 7d)
Realização
| print_0 |
|---|
| 14:00:00:00 |
O exemplo a seguir demonstra a bin() função com dados datetime.
print bin(datetime(1970-05-11 13:45:07), 1d)
Realização
| print_0 |
|---|
| 1970-05-11T00:00:00Z |
Quando houver linhas para compartimentos sem linha correspondente na tabela, recomendamos preencher a tabela com esses compartimentos. A consulta a seguir analisa eventos de tempestade de vento forte 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)
Realização
| 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 completa, 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
rangeoperador produz uma tabela que tem uma única linha e coluna. - O
mv-expandoperador sobre arangefunção cria tantas linhas quanto há compartimentos entreStartTimeeEndTime. - Use um
PropertyDamagede0. - O
summarizeoperador agrupa compartimentos da tabela original para a tabela produzida pelaunionexpressão. Esse processo garante que a saída tenha uma linha por compartimento cujo valor seja 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)
Realização
| 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 |