# MutualInfo - fonction de graphique

MutualInfo calcule les informations mutuelles (MI) entre deux champs ou entre des valeurs agrégées dans Aggr().

MutualInfo active différents types d'analyse MI :

* MI au niveau des paires : Calcule la valeur MI entre un champ pilote et un champ cible.

* Répartition des pilotes par valeur : La valeur MI est calculée entre les valeurs de champ individuelles des champs pilote et cible.

* Sélection de fonctions : Utilisez MutualInfo dans une bulle pour créer une matrice dans laquelle tous les champs sont comparés les uns aux autres en fonction de la valeur MI.

MutualInfo renvoie les informations mutuelles agrégées pour deux ensembles de données. Informations mutuelles est une mesure de la relation établie entre les ensembles de données ; elle est agrégée pour les paires de valeurs (x,y) itérées sur les dimensions du graphique. La mesure Informations mutuelles est effectuée entre 0 et 1. MutualInfo est défini par la sélection ou l'expression d'ensemble.

Lors du calcul des informations mutuelles, les associations affectent la correspondance entre les valeurs des champs provenant de différentes tables et la fréquence de ces valeurs.

Les valeurs renvoyées pour la même cible et le même pilote peuvent légèrement varier. Cela est dû au fait que chaque appel MutualInfo agit sur un échantillon sélectionné de manière aléatoire et à la nature aléatoire de l'algorithme MutualInfo.

MutualInfo peut être appliqué à la fonction Aggr().

Syntaxe :

MutualInfo({SetExpression}] [DISTINCT] [TOTAL] target, driver , datatype [, breakdownbyvalue [, samplesize ]])

Type de données renvoyé : numérique

Arguments :

Arguments

| Argument | Description |
| --- | --- |
| target, driver | Expressions ou champs contenant les deux ensembles d'échantillons pour lesquels les informations mutuelles doivent être mesurées. |
| datatype | Types de données contenus dans la cible et le pilote,<br><br>1 ou 'dd' pour discret:discret<br><br>2 ou 'cc' pour continu:continu<br><br>3 ou 'cd' pour continu:discret<br><br>4 ou 'dc' pour discret:continu<br><br>Les types de données ne sont pas sensibles à la casse. |
| breakdownbyvalue | Valeur statique correspondant à une valeur du pilote. Si elle est fournie, le calcule calcule la contribution MI pour cette valeur. Vous pouvez utiliser ValueList() ou ValueLoop(). Si Null() est ajouté, le calcul calcule la valeur MI globale de toutes les valeurs du pilote.<br><br>La répartition par valeur nécessite que le pilote contienne des données discrètes. |
| samplesize | Nombre de valeurs à échantillonner de la cible et du pilote. L'échantillonnage est aléatoire. MutualInfo requiert une taille d'échantillon minimale de 80. Par défaut, MutualInfo échantillonne uniquement un maximum de 10 000 paires de données. MutualInfo peut consommer beaucoup de ressources. Vous pouvez spécifier des nombres supérieurs de paires de données dans la taille d'échantillon. En cas d'expiration du délai de MutualInfo, réduisez la taille d'échantillon. |
| SetExpression | Par défaut, la fonction d'agrégation couvre l'ensemble des enregistrements possibles définis par la sélection. Il est possible de définir un ensemble d'enregistrements alternatif à l'aide d'une expression d'analyse d'ensembles. |
| DISTINCT | Si le terme DISTINCT précède les arguments de la fonction, les doublons résultant de l'évaluation des arguments de la fonction sont ignorés. |
| TOTAL | Si le terme TOTAL précède les arguments de la fonction, le calcul est effectué à partir de toutes les valeurs possibles au vu des sélections actives, et pas seulement à partir de celles qui sont associées à la valeur dimensionnelle active. Autrement dit, les dimensions du graphique ne sont pas prises en compte. Le qualificateur TOTAL peut être suivi d'une liste d'un ou de plusieurs noms de champ placés entre crochets angulaires &lt;fld&gt;. Ces noms de champ doivent constituer un sous-ensemble des variables de dimension du graphique.<br><br>[Définition de l'étendue d'une agrégation](https://help.qlik.com/fr-FR/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/define-aggregation-scope.htm) |

Limitations :

Les valeurs textuelles, les valeurs NULL et les valeurs manquantes dans une ou les deux paires de données sont ignorées.

Exemples et résultats :

Ajoutez l'exemple de script à votre application et exécutez-le. Ensuite, ajoutez les champs répertoriés dans la colonne des résultats à une feuille de votre application afin de visualiser le résultat.

Exemples de fonctions

| Exemple | Résultat |
| --- | --- |
| `mutualinfo(Age, Salary, 1)` | Pour une table dotée de la dimension `Employee name` et la mesure `mutualinfo(Age, Salary, 1)`, le résultat est égal à 0.99820986. Le résultat s'affiche uniquement pour la cellule des totaux. |
| `mutualinfo(TOTAL Age, Salary, 1, null(), 81)` | Si vous créez un volet de filtre avec la dimension Gender et si vous y effectuez des sélections, vous voyez apparaître le résultat 0.99805677 lorsque Female es sélectionné et le résultat 0.99847373 si Male est sélectionné. Cela est dû au fait que la sélection exclut tous les résultats qui n'appartiennent pas à l'autre valeur de Gender. |
| `mutualinfo(TOTAL Age, Gender, 1, ValueLoop(25,35))` | 0.68196996. La sélection de toute valeur de Gender remplacera cela par 0. |
| `mutualinfo({1} TOTAL Age, Salary, 1, null())` | 0.99820986. Cela est indépendant des sélections. L'expression d'ensemble {1} ignore l'ensemble des sélections et dimensions. |

Données utilisées dans les exemples :

`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 '|');`