dcount() (funkcja agregacji)
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Oblicza oszacowanie liczby unikatowych wartości, które są pobierane przez wyrażenie skalarne w grupie podsumowania.
Wartości null są ignorowane i nie są uwzględniane w obliczeniach.
Uwaga
Funkcja dcount()
agregacji jest przydatna przede wszystkim do szacowania kardynalności ogromnych zestawów. Wymienia dokładność wydajności i może zwracać wynik, który różni się między wykonaniami. Kolejność danych wejściowych może mieć wpływ na jego dane wyjściowe.
Uwaga
Ta funkcja jest używana w połączeniu z operatorem podsumowania.
Składnia
dcount
(
expr[,
dokładność])
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
wyrażenie | string |
✔️ | Dane wejściowe, których unikatowe wartości mają być zliczane. |
dokładność | int |
Wartość, która definiuje żądaną dokładność szacowania. Domyślna wartość to 1 . Zobacz Dokładność szacowania obsługiwanych wartości. |
Zwraca
Zwraca oszacowanie liczby unikatowych wartości wyrażenie w grupie.
Przykład
W tym przykładzie pokazano, ile typów zdarzeń burzy wystąpiło w każdym stanie.
StormEvents
| summarize DifferentEvents=dcount(EventType) by State
| order by DifferentEvents
Wyświetlona tabela wyników zawiera tylko pierwsze 10 wierszy.
Stan | Różnewymyślacze |
---|---|
TEKSAS | 27 |
KALIFORNIA | 26 |
PENNSYLVANIA | 25 |
GEORGIA | 24 |
ILLINOIS | 23 |
MARYLAND | 23 |
NORTH CAROLINA | 23 |
MICHIGAN | 22 |
FLORIDA | 22 |
OREGON | 21 |
KANSAS | 21 |
... | ... |
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: