dcount() (funkcja agregacji)

Oblicza oszacowanie liczby odrębnych wartości, które są pobierane przez wyrażenie skalarne w grupie podsumowania.

Wartości null są ignorowane i nie są uwzględniane w obliczeniu.

Uwaga

Funkcja agregacji jest przydatna dcount() 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(wyrażenie[,dokładność])

Dowiedz się więcej o konwencjach składniowych.

Parametry

Nazwa Typ Wymagane Opis
Expr string ✔️ Dane wejściowe, których unikatowe wartości mają być zliczane.
Dokładność int Wartość definiującą żądaną dokładność szacowania. Wartość domyślna to 1. Zobacz Szacowanie dokładności dla obsługiwanych wartości.

Zwraca

Zwraca oszacowanie liczby odrębnych wartości expr w grupie.

Przykład

W tym przykładzie pokazano, ile typów zdarzeń burzy miało miejsce 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 DifferentEvents
TEXAS 27
KALIFORNII 26
PENNSYLVANIA 25
GRUZJA 24
ILLINOIS 23
MARYLAND 23
KAROLINA PÓŁNOCNA 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 wpisów
0 1.6 212
1 0,8 214
2 0,4 216
3 0,28 217
4 0,2 218

Uwaga

Kolumna "liczba wpisów" to liczba 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

Powiązana z błędem jest probabilistic, 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.