Udostępnij za pośrednictwem


count_distinctif() (funkcja agregacji) — (wersja zapoznawcza)

Warunkowo zlicza unikatowe wartości określone przez wyrażenie skalarne na grupę podsumowania lub łączną liczbę unikatowych wartości, jeśli grupa podsumowania zostanie pominięta. Zliczane są tylko rekordytrue, dla których predykat ocenia wartość .

Uwaga

Ta funkcja jest używana w połączeniu z operatorem podsumowania.

Jeśli potrzebujesz tylko oszacowania liczby unikatowych wartości, zalecamy użycie funkcji agregacji mniejszej ilości zasobów.

Uwaga

  • Ta funkcja jest ograniczona do 100 mln unikatowych wartości. Próba zastosowania funkcji w wyrażeniu zwracającym zbyt wiele wartości spowoduje wystąpienie błędu środowiska uruchomieniowego (HRESULT: 0x80DA0012).
  • Wydajność funkcji może być obniżona w przypadku działania na wielu źródłach danych z różnych klastrów.

Składnia

count_distinctif(predykat expr, )

Dowiedz się więcej na temat konwencji składni.

Parametry

Nazwisko Type Wymagania opis
wyrażenie skalar ✔️ Wyrażenie, którego unikatowe wartości mają być zliczane.
predykat string ✔️ Wyrażenie używane do filtrowania rekordów do agregowania.

Zwraca

Wartość całkowita wskazująca liczbę unikatowych wartości wyrażenia na grupę podsumowania dla wszystkich rekordów, dla których predykat daje wartość true.

Przykład

W tym przykładzie pokazano, ile typów zdarzeń burzy powoduje śmierć w każdym stanie. Tylko zdarzenia burze z niezerową liczbą zgonów będą liczone.

StormEvents
| summarize UniqueFatalEvents=count_distinctif(EventType,(DeathsDirect + DeathsIndirect)>0) by State
| where UniqueFatalEvents > 0
| top 5 by UniqueFatalEvents

Wyjście

Stan UniqueFatalEvents
TEKSAS 12
KALIFORNIA 12
OKLAHOMA 10
NEW YORK 9
KANSAS 9