Plug-in dcount_intersect
Calcola l'intersezione tra i set N in base ai hll
valori (N nell'intervallo di [2..16]) e restituisce valori N dcount
. Il plug-in viene richiamato con l'operatore evaluate
.
Sintassi
T| evaluate
dcount_intersect(
hll_1, hll_2, [,
hll_3,
...])
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Tipo | Obbligatoria | Descrizione |
---|---|---|---|
T | string |
✔️ | Espressione tabulare di input. |
hll_i | I valori di set Si calcolati con la hll() funzione. |
Restituisce
Restituisce una tabella con valori N dcount
(per colonna, che rappresenta intersezioni impostate).
I nomi di colonna sono s0, s1, ... (fino a n-1).
Dato imposta S1, S2, .. I valori restituiti di Sn rappresentano i conteggi distinti di:
S1,
S1 ∩ S2,
S1 ∩ S2 ∩ S3,
... ,
S1 ∩ S2 ∩ ... ∩ Sn
Esempio
// Generate numbers from 1 to 100
range x from 1 to 100 step 1
| extend isEven = (x % 2 == 0), isMod3 = (x % 3 == 0), isMod5 = (x % 5 == 0)
// Calculate conditional HLL values (note that '0' is included in each of them as additional value, so we will subtract it later)
| summarize hll_even = hll(iif(isEven, x, 0), 2),
hll_mod3 = hll(iif(isMod3, x, 0), 2),
hll_mod5 = hll(iif(isMod5, x, 0), 2)
// Invoke the plugin that calculates dcount intersections
| evaluate dcount_intersect(hll_even, hll_mod3, hll_mod5)
| project evenNumbers = s0 - 1, // 100 / 2 = 50
even_and_mod3 = s1 - 1, // gcd(2,3) = 6, therefor: 100 / 6 = 16
even_and_mod3_and_mod5 = s2 - 1 // gcd(2,3,5) is 30, therefore: 100 / 30 = 3
Output
evenNumbers | even_and_mod3 | even_and_mod3_and_mod5 |
---|---|---|
50 | 16 | 3 |
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per