Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Szacuje liczbę unikatowych wartości wyrażenia dla wierszy, w których predykat oblicza wartość true
.
Wartości null są ignorowane i nie są uwzględniane w obliczeniach.
Uwaga
Ta funkcja jest używana w połączeniu z operatorem podsumowania.
Składnia
dcountif
(
wyrażenie, predykat, [,
dokładność])
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Typ | Wymagania | opis |
---|---|---|---|
wyrażenie | string |
✔️ | Wyrażenie używane do obliczania agregacji. |
predykat | string |
✔️ | Wyrażenie używane do filtrowania wierszy. |
dokładność | int |
Kontrola między szybkością a dokładnością. Jeśli nie określono, wartość domyślna to 1 . Zobacz Dokładność szacowania obsługiwanych wartości. |
Zwraca
Zwraca oszacowanie liczby unikatowych wartości wyrażenia dla wierszy, w których predykat daje wartość true
.
Napiwek
dcountif()
może zwrócić błąd w przypadkach, w których wszystkie wiersze lub żadna z wierszy nie przekazuje wyrażenia Predicate
.
Przykłady
W poniższym przykładzie pokazano, ile typów zdarzeń krytycznych burzy wystąpiło w każdym stanie.
StormEvents
| summarize DifferentFatalEvents=dcountif(EventType,(DeathsDirect + DeathsIndirect)>0) by State
| where DifferentFatalEvents > 0
| order by DifferentFatalEvents
Wyświetlona tabela wyników zawiera tylko pierwsze 10 wierszy.
Stan | RóżnefatalEvents |
---|---|
KALIFORNIA | 12 |
TEKSAS | 12 |
OKLAHOMA | 10 |
ILLINOIS | 9 |
KANSAS | 9 |
NOWY JORK | 9 |
NEW JERSEY | 7 |
WASZYNGTON | 7 |
MICHIGAN | 7 |
MISSOURI | 7 |
...\ | ...\ |
Dokładność szacowania
Ta funkcja używa wariantu algorytmu HyperLogLog (HLL), który wykonuje stochastyczne oszacowanie kardynalności zestawu. Algorytm udostępnia "pokrętło", które może służyć do równoważenia dokładności i czasu wykonywania na rozmiar pamięci:
Dokładność | Błąd (%) | Liczba pozycji |
---|---|---|
0 | 1.6 | 212 |
1 | 0,8 | 214 |
2 | 0,4 | 216 |
3 | 0,28 | 217 |
100 | 0,2 | 218 |
Uwaga
Kolumna "liczba wpisów" jest liczbą liczników 1 bajtów w implementacji HLL.
Algorytm zawiera pewne przepisy dotyczące wykonywania doskonałej liczby (błąd zerowy), jeśli kardynalność zestawu jest wystarczająco mała:
- Gdy poziom dokładności to
1
, zwracane są wartości 1000 - Gdy poziom dokładności to
2
, zwracane są wartości 8000
Granica błędu jest probabilistyczna, a nie teoretyczna granica. Wartość jest odchyleniem standardowym rozkładu błędów (sigma), a 99,7% oszacowań będzie miało względny błąd poniżej 3 x sigma.
Na poniższej ilustracji przedstawiono funkcję rozkładu prawdopodobieństwa błędu szacowania względnego w procentach dla wszystkich obsługiwanych ustawień dokładności:
Powiązana zawartość
- typy funkcji agregacji na pierwszy rzut oka
- dcount() (funkcja agregacji)
- countif() (funkcja agregacji)
- count_distinctif() (funkcja agregacji)