# MutualInfo - funzione per grafici

MutualInfo calcola le informazioni reciproche (MI, Mutual Information) tra due campi o tra valori aggregati in Aggr().

MutualInfo restituisce le informazioni reciproche aggregate per due set di dati. Ciò consente un'analisi dei driver chiave tra un campo e un driver potenziale. Le informazioni reciproche misurano il rapporto tra i set di dati e vengono aggregate per i valori di coppia (x,y) ripetuti sulle dimensioni del grafico. Le informazioni reciproche vengono misurate tra 0 e 1 e possono essere formattate come valore percentile. MutualInfo viene definito mediante selezioni o un'espressione set.

MutualInfo consente tipi diversi di analisi MI:

* MI pairwise: calcola il valore MI tra un campo driver e un campo target.

* Scomposizione driver per valore: il valore MI viene calcolato tra i singoli valori di campo nei campi driver e target.

* Selezione funzionalità: utilizzare MutualInfo in un grafico a griglia per creare una matrice in cui tutti i campi vengono confrontati l'uno con l'altro in base alle informazioni reciproche (MI).

MutualInfo non indica necessariamente casualità tra i campi che condividono informazioni reciproche. Due campi possono condividere informazioni reciproche, ma potrebbero non essere driver reciprocamente uguali. Ad esempio, al momento di confrontare le vendite di gelati e la temperatura esterna, MutualInfo mostrerà le informazioni reciproche tra i due. Non indicherà se è la temperatura esterna a spingere le vendite di gelati, che rappresenta una motivazione probabile, o se sono le vendite dei gelati a spingere la temperatura esterna, ovvero una motivazione piuttosto improbabile.

Quando si calcolano le informazioni reciproche, le associazioni influiscono sulla corrispondenza tra e la frequenza dei valori dai campi che provengono da tabelle diverse.

I valori restituiti per gli stessi campi o selezioni possono variare leggermente. Ciò è dovuto al fatto che ciascun richiamo MutualInfo opera in base a un campione selezionato in modo casuale e alla casualità intrinseca dell'algoritmo MutualInfo.

MutualInfo può essere applicato alla funzione Aggr().

Sintassi:

MutualInfo({SetExpression}] [DISTINCT] [TOTAL] field1, field2 , datatype [, breakdownbyvalue [, samplesize ]])

Tipo di dati restituiti: numerico

Argomenti:

Argomenti

| Argomento | Descrizione |
| --- | --- |
| field1, field2 | Le espressioni o i campi contenenti i due set di campioni per i quali vengono misurate le informazioni mutue. |
| datatype | I tipi di dati contenuti nel target e nel driver,<br><br>1 o 'dd' per discrete:discrete<br><br>2 o 'cc' per continuous:continuous<br><br>3 o 'cd' per continuous:discrete<br><br>4 o 'dc' per discrete:continuous<br><br>I tipi di dati non fanno distinzioni tra maiuscole e minuscole. |
| breakdownbyvalue | Un valore statico corrispondente a un valore nel driver. Se fornito, il calcolo calcolerà il contributo MI per tale valore. È possibile utilizzare ValueList() o ValueLoop(). Se viene aggiunto Null(), il calcolo calcolerà il valore MI complessivo per tutti i valori nel driver.<br><br>La scomposizione per valore richiede che il driver contenga dati discreti. |
| samplesize | Il numero di valori da campionare dal target e dal driver. Il campionamento è casuale. MutualInfo richiede una dimensione di campionamento minima di 80. Per impostazione predefinita, MutualInfo campiona solo fino a 10.000 coppie di dati, dato che MutualInfo può presentare un grosso impatto sulle risorse. È possibile specificare un numero maggiore di coppie dati nelle dimensioni del campione. In caso di esaurimento del tempo a disposizione per MutualInfo, ridurre le dimensioni del campione. |
| SetExpression | Per impostazione predefinita, la funzione di aggregazione aggrega la serie di possibili record definiti dalla selezione. È possibile definire una serie di record alternativa mediante un'espressione Set Analysis. |
| DISTINCT | Se la parola DISTINCT è riportata prima degli argomenti della funzione, i duplicati risultanti dalla valutazione degli argomenti della funzione vengono ignorati. |
| TOTAL | Se la parola TOTAL viene riportata prima degli argomenti della funzione, il calcolo verrà effettuato su tutti i valori possibili dati dalle selezioni correnti e non solo su quelli relativi al valore dimensionale attuale, vale a dire che verranno ignorate le dimensioni del grafico.<br><br>Utilizzando TOTAL [&lt;fld {.fld}&gt;], dove il qualificatore TOTAL è seguito da un elenco di uno o più nomi di campo come sottogruppo delle variabili di dimensione del grafico, si crea un sottogruppo di tutti i valori possibili.<br><br>[Definizione dell'ambito di aggregazione](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Limiti:

Se una o entrambe le parti di una coppia di dati includono valori di testo, valori NULL e valori mancanti, l'intera coppia di dati verrà ignorata.

Esempi e risultati:

Aggiungere lo script di esempio all'app ed eseguirlo. Per visualizzare il risultato, aggiungere i campi elencati nella colonna risultati a un foglio nell'app dell'utente.

Esempi di funzioni

| Esempio | Risultato |
| --- | --- |
| `mutualinfo(Age, Salary, 1)` | Per un tabella che include la dimensione `Employee name` e la misura `mutualinfo(Age, Salary, 1)`, il risultato è 0.99820986. Il risultato viene visualizzato solo per la cella dei totali. |
| `mutualinfo(TOTAL Age, Salary, 1, null(), 81)` | Se si crea una casella di filtro con la dimensione Gender e si eseguono selezioni da questa, si otterrà il risultato 0.99805677 quando viene selezionato il valore Female e 0.99847373 quando viene selezionato il valore Male. Ciò si verifica perché la selezione esclude tutti i risultati che non appartengono all'altro valore di Gender. |
| `mutualinfo(TOTAL Age, Gender, 1, ValueLoop(25,35))` | 0.68196996. La selezione di qualsiasi valore da Gender porterà il risultato a 0. |
| `mutualinfo({1} TOTAL Age, Salary, 1, null())` | 0.99820986. Ciò risulta indipendente dalle selezioni. L'espressione set {1} ignora tutte le selezioni e le dimensioni. |

Dati utilizzati negli esempi:

`Salary:` `LOAD  * inline [` `"Employee name"|Age|Gender|Salary` `Aiden Charles|20|Male|25000` `Ann Lindquist|69|Female|58000` `Anna Johansen|37|Female|36000` `Anna Karlsson|42|Female|23000` `Antonio Garcia|20|Male|61000` `Benjamin Smith|42|Male|27000` `Bill Yang|49|Male|50000` `Binh Protzmann|69|Male|21000` `Bob Park|51|Male|54000` `Brenda Davies|25|Male|32000` `Celine Gagnon|48|Female|38000` `Cezar Sandu|50|Male|46000` `Charles Ingvar Jönsson|27|Male|58000` `Charlotte Edberg|45|Female|56000` `Cindy Lynn|69|Female|28000` `Clark Wayne|63|Male|31000` `Daroush Ferrara|31|Male|29000` `David Cooper|37|Male|64000` `David Leg|58|Male|57000` `Eunice Goldblum|31|Female|32000` `Freddy Halvorsen|25|Male|26000` `Gauri Indu|36|Female|46000` `George van Zaant|59|Male|47000` `Glenn Brown|58|Male|40000` `Harry Jones|38|Male|40000` `Helen Brolin|52|Female|66000` `Hiroshi Ito|24|Male|42000` `Ian Underwood|40|Male|45000` `Ingrid Hendrix|63|Female|27000` `Ira Baumel|39|Female|39000` `Jackie Kingsley|23|Female|28000` `Jennica Williams|36|Female|48000` `Jerry Tessel|31|Male|57000` `Jim Bond|50|Male|58000` `Joan Callins|60|Female|65000` `Joan Cleaves|25|Female|61000` `Joe Cheng|61|Male|41000` `John Doe|36|Male|59000` `John Lemon|43|Male|21000` `Karen Helmkey|54|Female|25000` `Karl Berger|38|Male|68000` `Karl Straubaum|30|Male|40000` `Kaya Alpan|32|Female|60000` `Kenneth Finley|21|Male|25000` `Leif Shine|63|Male|70000` `Lennart Skoglund|63|Male|24000` `Leona Korhonen|46|Female|50000` `Lina André|50|Female|65000` `Louis Presley|29|Male|36000` `Luke Langston|50|Male|63000` `Marcus Salvatori|31|Male|46000` `Marie Simon|57|Female|23000` `Mario Rossi|39|Male|62000` `Markus Danzig|26|Male|48000` `Michael Carlen|21|Male|45000` `Michelle Tyson|44|Female|69000` `Mike Ashkenaz|45|Male|68000` `Miro Ito|40|Male|39000` `Nina Mihn|62|Female|57000` `Olivia Nguyen|35|Female|51000` `Olivier Simenon|44|Male|31000` `Östen Ärlig|68|Male|57000` `Pamala Garcia|69|Female|29000` `Paolo Romano|34|Male|45000` `Pat Taylor|67|Female|69000` `Paul Dupont|34|Male|38000` `Peter Smith|56|Male|53000` `Pierre Clouseau|21|Male|37000` `Preben Jørgensen|35|Male|38000` `Rey Jones|65|Female|20000` `Ricardo Gucci|55|Male|65000` `Richard Ranieri|30|Male|64000` `Rob Carsson|46|Male|54000` `Rolf Wesenlund|25|Male|51000` `Ronaldo Costa|64|Male|39000` `Sabrina Richards|57|Female|40000` `Sato Hiromu|35|Male|21000` `Sehoon Daw|57|Male|24000` `Stefan Lind|67|Male|35000` `Steve Cioazzi|58|Male|23000` `Sunil Gupta|45|Male|40000` `Sven Svensson|45|Male|55000` `Tom Lindwall|46|Male|24000` `Tomas Nilsson|27|Male|22000` `Trinity Rizzo|52|Female|48000` `Vanessa Lambert|54|Female|27000` `] (delimiter is '|');`

APPRENDIMENTO CORRELATO:

* [Come si valutano le relazioni utilizzando le informazioni reciproche?](https://help.qlik.com/lnk/How_evaluate_relationships_using_Mutual_information)

## Ulteriori informazioni

* [Come si valutano le relazioni utilizzando le informazioni reciproche?](https://help.qlik.com/lnk/How_evaluate_relationships_using_Mutual_information)