Udostępnij za pośrednictwem


dcount() (funkcja agregacji)

Dotyczy: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft 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:

Wykres przedstawiający rozkład błędów hll.