---
schema_version: "1"
id: 7250ec0bff3c8a56e85642d0e1b249ab4a5e0b006c8f2e129b6ff26bc7c92550
title: Fonctions logiques
collection: tableau
version: next
locale: fr-ca
portal_url: https://docs.salesforce.com/tableau/next/fr-ca/pro/desktop/functions_functions_logical.md
canonical_url: https://help.tableau.com/v0.0/pro/desktop/fr-ca/functions_functions_logical.htm
source_site: help.tableau.com
content_type: documentation
content_hash: dfab7b50ea1d9ee9b1ad0b22c22d020ee58d0f7c30cb0ea8c031aef5176a2ac3
description: Reference for Tableau logical functions such as IF, CASE, and AND.
---
[Passer au contenu principal](#main-content)

# Fonctions logiques

Cet article présente les fonctions logiques et leurs utilisations dans Tableau. Il montre également comment créer un calcul logique en se basant sur un exemple.

## Pourquoi utiliser des calculs logiques

Les calculs logiques vous aident à déterminer si une certaine condition est vraie ou fausse (logique booléenne). Par exemple, vous pouvez vouloir classer les valeurs en fonction de certains seuils.

Un calcul logique peut se présenter comme suit :

IF \[Profit\] > 0   
THEN 'Profitable'   
ELSEIF \[Profit\] = 0 THEN 'Break even'   
ELSE 'Loss'   
END

## Fonctions logiques et opérateurs disponibles dans Tableau

### AND

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntaxe</td><td><code>&lt;expr1&gt; AND &lt;expr2&gt;</code></td></tr><tr><td>Définition</td><td>Conjonction logique entre deux expressions. (Si les deux expressions sont définies sur vrai, le test logique renvoie un résultat positif.)</td></tr><tr><td>Résultat</td><td>Booléen(vrai ou faux)</td></tr><tr><td>Exemple</td><td><pre>IF [Season] = "Spring" AND "[Season] = "Fall" <br>THEN "It's the apocalypse and footwear doesn't matter" <br>END</pre><p><i>«&nbsp;Si les expressions (Saison = Printemps) et (Saison = Automne) sont simultanément vraies, C’est l’apocalypse et les chaussures n’ont pas d’importance est retournée.&nbsp;»</i></p></td></tr><tr><td>Remarques</td><td><p>Souvent utilisé avec <a href="#IF" class="xref">IF</a> et <a href="#IIF" class="xref">IIF</a>. Voir également <a href="#NOT" class="xref">NOT</a> et <a href="#OR" class="xref">OU</a>.</p><p>Si les deux expressions sont <code>TRUE</code> (c’est-à-dire qu’elles ne sont pas <code>FALSE</code> ou <code>NULL</code>), le résultat est <code>TRUE</code>. Si l’une des expressions est <code>NULL</code>, le résultat est <code>NULL</code>. Dans tous les autres cas, le résultat obtenu est <code>FALSE</code>.</p><p>Si vous créez un calcul dans lequel le résultat d’une comparaison <code>AND</code> s’affiche dans une feuille de calcul, Tableau affiche les valeurs <code>TRUE</code> et <code>FALSE</code>. Si vous voulez modifier cela, utilisez la zone de mise en forme dans la boîte de dialogue Mettre en forme.</p><p class="note"><b>Remarque</b>&nbsp;: L’opérateur <code>AND</code> utilise l’<i>évaluation de court-circuit</i>. Cela signifie que si la première expression est évaluée comme étant <code>FALSE</code>, la seconde expression n’est pas du tout évaluée. Cela peut être utile si la seconde expression renvoie une erreur lorsque la première expression est <code>FALSE</code>, car dans ce cas-là, la seconde expression n’est jamais évaluée.</p></td></tr></tbody></table>

### CASE

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntaxe</td><td><code><b>CASE</b> &lt;expression&gt; 
                        <br>WHEN &lt;value1&gt; THEN &lt;then1&gt; 
                        <br>WHEN &lt;value2&gt; THEN &lt;then2&gt; 
                        <br>...
                        <br>[ELSE &lt;default&gt;]<br>END</code></td></tr><tr><td>Résultat</td><td>Dépend du type de données des valeurs <code>&lt;then&gt;</code>.</td></tr><tr><td>Définition</td><td><p>Évalue l’<code>expression</code> et la compare aux options spécifiées (<code>&lt;value1&gt;</code>, <code>&lt;value2&gt;</code>,&nbsp;etc.). Lorsqu’une <code>value</code> correspondant à l’expression est appliquée, CASE renvoie la valeur de <code>return</code> correspondante. Si aucune correspondance n’est trouvée, la valeur par défaut (facultatif) est retournée. Si aucune valeur par défaut ni aucune valeur ne correspond, la valeur nulle est renvoyée.</p></td></tr><tr><td>Exemple</td><td><pre xml:space="preserve"><code><b>CASE</b> [Season] <br>WHEN 'Summer' THEN 'Sandals' <br>WHEN 'Winter' THEN 'Boots' <br>ELSE 'Sneakers' <br>END</code></pre><p><i>«&nbsp;Regardez le champ Saison. Si la valeur est Été, Sandales est retourné. Si la valeur est Hiver, Bottes est retourné. Si aucune des options du calcul ne correspond à ce qui est indiqué dans le champ Saison, chaussures de sport est retourné.&nbsp;»</i></p></td></tr><tr><td>Remarques</td><td><p>Voir également <a href="#IF" class="xref">IF</a> et <a href="#IIF" class="xref">IIF</a>.</p><p>Utilisé avec les expressions <a href="#WHEN" class="xref">WHEN</a>, <a href="#THEN" class="xref">THEN</a>, <a href="#ELSE" class="xref">ELSE</a> et <a href="#END" class="xref">END</a>.</p><blockquote><p>[!TIP]</p><p><b>Conseil</b>&nbsp;: Il est souvent possible d’utiliser un groupe pour obtenir les mêmes résultats qu’une fonction CASE complexe, ou d’utiliser CASE pour remplacer la fonctionnalité de regroupement native, comme dans l’exemple précédent. Vous voudrez peut-être tester lequel est le plus performant pour votre scénario.</p></blockquote></td></tr></tbody></table>

### ELSE

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntaxe</td><td><code>CASE &lt;expression&gt; 
							<br>WHEN &lt;value1&gt; THEN &lt;then1&gt; 
							<br>WHEN &lt;value2&gt; THEN &lt;then2&gt; 
							<br>...
						<br>[<b>ELSE</b> &lt;default&gt;]<br>END</code></td></tr><tr><td>Définition</td><td>Élément facultatif d’une expression <code>IF</code>&nbsp;ou <code>CASE</code> utilisée pour préciser une valeur par défaut à renvoyer si aucune des expressions testées n’est vraie.</td></tr><tr><td>Exemple</td><td><pre xml:space="preserve">IF [Season] = "Summer"&nbsp;THEN&nbsp;'Sandals' <br>ELSEIF&nbsp;[Season] = "Winter"&nbsp;THEN&nbsp;'Boots' <br><b>ELSE</b>&nbsp;'Sneakers'&nbsp;<br>END</pre><pre>CASE [Season] <br>WHEN 'Summer' THEN 'Sandals' <br>WHEN 'Winter' THEN 'Boots' <br><b>ELSE</b> 'Sneakers' <br>END</pre></td></tr><tr><td>Remarques</td><td><p>Utilisé avec les expressions <a href="#CASE" class="xref">CASE</a>, <a href="#WHEN" class="xref">WHEN</a>, <a href="#IF" class="xref">IF</a>, <a href="#ELSEIF" class="xref">ELSEIF</a>, <a href="#THEN" class="xref">THEN</a> et <a href="#END" class="xref">END</a></p><p><code>ELSE</code> est facultatif avec <code>CASE</code> et <code>IF</code>. Dans un calcul où <code>ELSE</code> n’est pas précisé, si aucune valeur <code>&lt;test&gt;</code> n’est true, le calcul global renvoie une valeur nulle.</p><p><code>ELSE</code> ne requiert aucune condition (par exemple, <code>[Season] = "Winter"</code>) et peut être considéré comme une forme de traitement des valeurs nulles.</p></td></tr></tbody></table>

### ELSEIF

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntaxe</td><td><code>[<b>ELSEIF</b> &lt;test2&gt; THEN &lt;then2&gt;]</code></td></tr><tr><td>Définition</td><td>Élément facultatif d’une expression <code>IF</code>&nbsp;utilisée pour préciser des conditions supplémentaires au-delà de l’expression IF initiale.</td></tr><tr><td>Exemple</td><td><pre xml:space="preserve">IF [Season] = "Summer" THEN 'Sandals' <br><b>ELSEIF</b> [Season] = "Winter" THEN 'Boots' <br><b>ELSEIF</b> [Season] = "Spring" THEN 'Sneakers' <br><b>ELSEIF</b> [Season] = "Autumn" THEN 'Sneakers'<br>ELSE 'Bare feet' <br>END</pre></td></tr><tr><td>Remarques</td><td><p>Utilisé avec les expressions <a href="#IF" class="xref">IF</a>, <a href="#THEN" class="xref">THEN</a>, <a href="#ELSE" class="xref">ELSE</a> et <a href="#END" class="xref">END</a></p><p><code>ELSEIF</code> peut être considéré comme une clause <code>IF</code> supplémentaire. <code>ELSEIF</code> est facultatif et peut être répété de nombreuses fois.</p><p>Contrairement à <code>ELSE</code>, <code>ELSEIF</code> requiert une condition (par exemple, <code>[Season] = "Winter"</code>).</p></td></tr></tbody></table>

### END

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Définition</td><td>Utilisé pour fermer une expression <code>IF</code>&nbsp;ou <code>CASE</code>.</td></tr><tr><td>Exemple</td><td><pre xml:space="preserve">IF [Season] = "Summer"&nbsp;THEN&nbsp;'Sandals' <br>ELSEIF&nbsp;[Season] = "Winter"&nbsp;THEN&nbsp;'Boots' <br>ELSE&nbsp;'Sneakers'&nbsp;<br><b>END</b></pre><p><i>«&nbsp;Si Saison = Été, Sandales est retourné. Sinon, regardez l’expression suivante. Si Saison = Hiver, Bottes est retourné. Si aucune des expressions n’est vraie, Chaussures de sport est retourné.&nbsp;»</i></p><pre>CASE [Season] <br>WHEN 'Summer' THEN 'Sandals' <br>WHEN 'Winter' THEN 'Boots' <br>ELSE 'Sneakers' <br><b>END</b></pre><p><i><i>«&nbsp;Regardez le champ Saison. Si la valeur est Été, Sandales est retourné. Si la valeur est Hiver, Bottes est retourné. Si aucune des options du calcul ne correspond à ce qui est indiqué dans le champ Saison, chaussures de sport est retourné.&nbsp;»</i></i></p></td></tr><tr><td>Remarques</td><td><p>Utilisé avec les expressions <a href="#CASE" class="xref">CASE</a>, <a href="#WHEN" class="xref">WHEN</a>, <a href="#IF" class="xref">IF</a>, <a href="#ELSEIF" class="xref">ELSEIF</a>, <a href="#THEN" class="xref">THEN</a> et <a href="#ELSE" class="xref">ELSE</a></p></td></tr></tbody></table>

### IF

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntaxe</td><td><code><b>IF</b> &lt;test1&gt; THEN &lt;then1&gt; <br>[ELSEIF &lt;test2&gt; THEN &lt;then2&gt;...]<br>[ELSE &lt;default&gt;] <br>END</code></td></tr><tr><td>Résultat</td><td>Dépend du type de données des valeurs <code>&lt;then&gt;</code>.</td></tr><tr><td>Définition</td><td><p>Teste une série d’expressions et renvoie la valeur <code>&lt;then&gt;</code> pour le premier <code>&lt;test&gt;</code> positif.</p></td></tr><tr><td>Exemple</td><td><pre xml:space="preserve">IF [Season] = "Summer"&nbsp;THEN&nbsp;'Sandals' <br>ELSEIF&nbsp;[Season] = "Winter"&nbsp;THEN&nbsp;'Boots' <br>ELSE&nbsp;'Sneakers'&nbsp;<br><b>END</b></pre><p><i>«&nbsp;Si Saison = Été, Sandales est retourné. Sinon, regardez l’expression suivante. Si Saison = Hiver, Bottes est retourné. Si aucune des expressions n’est vraie, Chaussures de sport est retourné.&nbsp;»</i></p></td></tr><tr><td>Remarques</td><td><p>Voir également <a href="#IF" class="xref">IF</a> et <a href="#IIF" class="xref">IIF</a>.</p><p>Utilisé avec les expressions <a href="#ELSEIF" class="xref">ELSEIF</a>, <a href="#THEN" class="xref">THEN</a>, <a href="#ELSE" class="xref">ELSE</a> et <a href="#END" class="xref">END</a></p></td></tr></tbody></table>

### IFNULL

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntaxe</td><td><code>IFNULL(expr1, expr2)</code></td></tr><tr><td>Résultat</td><td>Dépend du type de données des valeurs <code>&lt;expr&gt;</code>.</td></tr><tr><td>Définition</td><td><p>Renvoie <code>&lt;expr1&gt;</code> si celle-ci n’est pas nulle, sinon renvoie <code>&lt;expr2&gt;</code>.</p></td></tr><tr><td>Exemple</td><td><pre xml:space="preserve">IFNULL([Assigned Room], "TBD")</pre><p><i>«&nbsp;Si le champ Salle assignée n’est pas une valeur nulle, renvoie sa valeur. Si le champ Salle assignée est une valeur nulle, renvoie plutôt TBD.&nbsp;»</i></p></td></tr><tr><td>Remarques</td><td><p>Comparez avec <a href="#ISNULL" class="xref">ISNULL</a>. <code>IFNULL</code> renvoie toujours une valeur. <code>ISNULL</code>&nbsp;renvoie un booléen (vrai ou faux).</p><p>Voir également <a href="#ZN" class="xref">ZN</a>.</p></td></tr></tbody></table>

### IIF

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntaxe</td><td><code><b>IIF</b>(&lt;test&gt;, &lt;then&gt;, &lt;else&gt;, [&lt;unknown&gt;])</code></td></tr><tr><td>Résultat</td><td>Dépend du type de données des valeurs de l’expression.</td></tr><tr><td>Définition</td><td>Vérifie si une condition est remplie (<code>&lt;test&gt;</code>), et renvoie <code>&lt;then&gt;</code>si le test est positif, <code>&lt;else&gt;</code>&nbsp;si le test est négatif, et une valeur facultative pour <code>&lt;unknown&gt;</code> si le test est une valeur nulle. Si la valeur inconnue facultative n’est pas précisée, <code>IIF</code> renvoie une valeur nulle.</td></tr><tr><td>Exemple</td><td><pre xml:space="preserve">IIF([Season] = 'Summer', 'Sandals', 'Other footwear')</pre><p><i>«&nbsp;Si Saison = Été, Sandales est retourné. Dans le cas contraire, renvoie Autres chaussures&nbsp;»</i></p><pre xml:space="preserve">IIF([Season] = 'Summer', 'Sandals', <br>   IIF('Season' = 'Winter', 'Boots',  'Other footwear')<br>)</pre><p><i>«&nbsp;Si Saison = Été, Sandales est retourné. Sinon, regardez l’expression suivante. Si Saison = Hiver, Bottes est retourné. Si aucune n’est vraie, Chaussures de sport est retourné.&nbsp;»</i></p><pre xml:space="preserve">IIF('Season' = 'Summer', 'Sandals', <br>   IIF('Season' = 'Winter', 'Boots',  <br>      IIF('Season' = 'Spring', 'Sneakers', 'Other footwear')<br>   )<br>)</pre><p><i>«&nbsp;Si Saison = Été, Sandales est retourné. Sinon, regardez l’expression suivante. Si Saison = Hiver, Bottes est retourné. Si aucune des expressions n’est vraie, Chaussures de sport est retourné.&nbsp;»</i></p></td></tr><tr><td>Remarques</td><td><p>Voir également <a href="#IF" class="xref">IF</a> et<a href="#CASE" class="xref">CASE</a>.</p><p><code>IIF</code> n’a pas d’équivalent à <code>ELSEIF</code> (comme <code>IF</code>) ou aux clauses <code>WHEN</code> répétées (comme <code>CASE</code>). Au lieu de cela, plusieurs tests peuvent être évalués de manière séquentielle en imbriquant des instructions <code>IIF</code> sous la forme de l’élément <code>&lt;unknown&gt;</code>. La première valeur positive (la plus extrême) est renvoyée.</p><p>Autrement dit, dans le calcul ci-dessous, le résultat sera Rouge, et non Orange, car l’expression cesse d’être évaluée dès que A=A est évaluée comme étant positif&nbsp;:</p><p><code>IIF('A' = 'A', 'Red', IIF('B' = 'B', 'Orange',  IIF('C' = 'D', 'Yellow', 'Green')))</code></p></td></tr></tbody></table>

### IN

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntaxe</td><td><code>&lt;expr1&gt; IN &lt;expr2&gt;</code></td></tr><tr><td>Résultat</td><td>Booléen(vrai ou faux)</td></tr><tr><td>Définition</td><td>Renvoie <code>TRUE</code> si une valeur dans <code>&lt;expr1&gt;</code> correspond à une valeur dans <code>&lt;expr2&gt;</code>.</td></tr><tr><td>Exemple</td><td><pre xml:space="preserve">SUM([Cost]) IN&nbsp;(1000, 15, 200)</pre><p><i>«&nbsp;La valeur du champ Coût est-elle 1&nbsp;000, 15 ou 200?&nbsp;»</i></p><pre xml:space="preserve">[Field] IN&nbsp;[Set]</pre><p><i>«&nbsp;La valeur du champ est-elle présente dans l’ensemble?&nbsp;»</i></p></td></tr><tr><td>Remarques</td><td><p>Les valeurs dans <code>&lt;expr2&gt;</code> peuvent être un ensemble, une liste de valeurs littérales ou un champ combiné.</p><p>Voir également <a href="#WHEN" class="xref">WHEN</a>.</p></td></tr></tbody></table>

### ISDATE

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntaxe</td><td><code>ISDATE(string)</code></td></tr><tr><td>Résultat</td><td>Booléen(vrai ou faux)</td></tr><tr><td>Définition</td><td>Renvoie la valeur true si une <code>&lt;string&gt;</code> est une date valide. L’expression d’entrée doit être un champ de chaîne (texte).</td></tr><tr><td>Exemple</td><td><pre xml:space="preserve">ISDATE("2018-09-22")</pre><p><i>«&nbsp;La chaîne 2018-09-22 est-elle une date correctement mise en forme?&nbsp;»</i></p></td></tr><tr><td>Remarques</td><td><p>Une date sera considérée comme valide en fonction des <a href="https://help.tableau.com/current/server/fr-ca/lang_intro.htm" target="_blank">paramètres régionaux</a> du système qui évalue le calcul. Par exemple&nbsp;:</p><p>Aux États-Unis&nbsp;:</p><ul><li><code>ISDATE("2018-09-22") = TRUE</code></li><li><code>ISDATE("2018-22-09") = FALSE</code></li></ul><p>Au Royaume-Uni&nbsp;: </p><ul><li><code>ISDATE("2018-09-22") = FALSE</code></li><li><code>ISDATE("2018-22-09") = TRUE</code></li></ul><p></p></td></tr></tbody></table>

### ISNULL

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntaxe</td><td><code>ISNULL(expression)</code></td></tr><tr><td>Résultat</td><td>Booléen(vrai ou faux)</td></tr><tr><td>Définition</td><td><p>Renvoie la valeur true si l’<code>&lt;expression&gt;</code> est une valeur nulle (ne contient pas de données valides)</p></td></tr><tr><td>Exemple</td><td><pre xml:space="preserve">ISNULL([Assigned Room])</pre><p><i>«&nbsp;Le champ Pièce assignée est-il une valeur nulle?&nbsp;»</i></p></td></tr><tr><td>Remarques</td><td><p>Comparez avec <a href="#IFNULL" class="xref">IFNULL</a>. <code>IFNULL</code> renvoie toujours une valeur. <code>ISNULL</code> renvoie une valeur booléenne.</p><p>Voir également <a href="#ZN" class="xref">ZN</a>.</p></td></tr></tbody></table>

### MAX

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntaxe</td><td><code>MAX(expression)</code> ou <code>MAX(expr1, expr2)</code></td></tr><tr><td>Résultat</td><td>Même type de données que l’argument, ou <code>NULL&nbsp;</code> si une partie de l’argument est une valeur nulle.</td></tr><tr><td>Définition</td><td><p>Renvoie la valeur maximum des deux arguments, qui doivent être du même type de données.</p><p><code>MAX</code> peut également être appliqué à un seul champ dans une agrégation.</p></td></tr><tr><td>Exemple</td><td><pre xml:space="preserve">MAX(4,7) = 7<br>MAX(#3/25/1986#, #2/20/2021#) = #2/20/2021# <br>MAX([Name]) = "Zander"</pre></td></tr><tr><td>Remarques</td><td><p><b>Pour les chaînes</b></p><p>La valeur <code>MAX</code> vient généralement en dernier dans l’ordre alphabétique.</p><p class="note">Pour les sources de données de la base de données, la valeur de chaîne <code>MAX</code> est la plus élevée dans la séquence de tri définie par la base de données pour cette colonne.</p><p><b>Pour les dates</b></p><p>Pour les dates, la valeur <code>MAX</code> est la date la plus récente. Si <code>MAX</code> est une agrégation, le résultat n’aura pas de hiérarchie de dates. Si <code>MAX</code> est une comparaison, le résultat conservera la hiérarchie de dates.</p><p><b>Comme agrégation</b></p><p><code>MAX(expression)</code> est une fonction d’agrégation et renvoie un seul résultat agrégé. Cette fonction s’affiche en tant que <code>AGG(expression)</code> dans la visualisation.</p><p><b>Comme comparaison</b></p><p><code>MAX(expr1, expr2)</code> compare les deux valeurs et renvoie une valeur de niveau ligne.</p><p>Voir aussi <code><a href="#MIN" class="xref">MIN</a></code>.</p></td></tr></tbody></table>

### MIN

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntaxe</td><td><code>MIN(expression)</code> ou <code>MIN(expr1, expr2)</code></td></tr><tr><td>Résultat</td><td>Même type de données que l’argument, ou <code>NULL&nbsp;</code> si une partie de l’argument est une valeur nulle.</td></tr><tr><td>Définition</td><td><p>Renvoie la valeur minimale des deux&nbsp;arguments, qui doivent être du même type de données.</p><p><code>MIN </code>peut également être appliqué à un seul champ dans une agrégation.</p></td></tr><tr><td>Exemple</td><td><pre xml:space="preserve">MIN(4,7) = 4<br>MIN(#3/25/1986#, #2/20/2021#) = #3/25/1986#<br>MIN([Name]) = "Abebi"</pre></td></tr><tr><td>Remarques</td><td><p><b>Pour les chaînes</b></p><p>La valeur <code>MIN</code> vient généralement en premier dans l’ordre alphabétique.</p><p class="note">Pour les sources de données de la base de données, la valeur de chaîne <code>MIN</code> est la plus basse dans la séquence de tri définie par la base de données pour cette colonne.</p><p><b>Pour les dates</b></p><p>Pour les dates, la valeur <code>MIN</code> est la date la plus proche. Si <code>MIN</code> est une agrégation, le résultat n’aura pas de hiérarchie de dates. Si <code>MIN</code> est une comparaison, le résultat conservera la hiérarchie de dates.</p><p><b>Comme agrégation</b></p><p><code>MIN(expression)</code> est une fonction d’agrégation et renvoie un seul résultat agrégé. Cette fonction s’affiche en tant que <code>AGG(expression)</code> dans la visualisation.</p><p><b>Comme comparaison</b></p><p><code>MIN(expr1, expr2)</code> compare les deux valeurs et renvoie une valeur de niveau ligne.</p><p>Voir aussi <code><a href="#MAX" class="xref">MAX</a></code>.</p></td></tr></tbody></table>

### NOT

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntaxe</td><td><code>NOT&nbsp;&lt;expression&gt;</code></td></tr><tr><td>Résultat</td><td>Booléen(vrai ou faux)</td></tr><tr><td>Définition</td><td>Négation logique entre deux expressions.</td></tr><tr><td>Exemple</td><td><pre xml:space="preserve">IF <b>NOT</b> [Season] = "Summer" <br>THEN 'Don't wear sandals' <br>ELSE&nbsp;'Wear sandals'&nbsp;<br><b>END</b></pre><p><i>«&nbsp;Si Saison ne correspond pas à Été, retourne Ne portez pas de sandales. Dans le cas contraire, retourne Portez des sandales.&nbsp;»</i></p></td></tr><tr><td>Remarques</td><td><p>Souvent utilisé avec <a href="#IF" class="xref">IF</a> et <a href="#IIF" class="xref">IIF</a>. Voir également <a href="#top" class="xref">AND</a> et <a href="#OR" class="xref">OU</a>.</p></td></tr></tbody></table>

### OU

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntaxe</td><td><code>&lt;expr1&gt; OR &lt;expr2&gt;</code></td></tr><tr><td>Résultat</td><td>Booléen(vrai ou faux)</td></tr><tr><td>Définition</td><td>Disjonction logique entre deux expressions.</td></tr><tr><td>Exemple</td><td><pre xml:space="preserve">IF [Season] = "Spring"&nbsp;<b>OR</b>&nbsp;[Season] = "Fall" <br>THEN&nbsp;"Sneakers" <br>END</pre><p><i>«&nbsp;Si (Saison&nbsp;=&nbsp;Printemps)&nbsp;ou (Saison&nbsp;=&nbsp;Automne)&nbsp;est une valeur true, Chaussures de sport est retourné.&nbsp;»</i></p></td></tr><tr><td>Remarques</td><td><p>Souvent utilisé avec <a href="#IF" class="xref">IF</a> et <a href="#IIF" class="xref">IIF</a>. Voir également <a href="#top" class="xref">AND</a> et <a href="#NOT" class="xref">NOT</a>.</p><p>Si l’une des expressions est <code>TRUE</code>, le résultat est <code>TRUE</code>. Si les deux expressions sont <code>FALSE</code>, le résultat est <code>FALSE</code>. Si les deux expressions sont <code>NULL</code>, le résultat est <code>NULL</code>.</p><p>Si vous créez un calcul qui affiche le résultat d’une comparaison <code>OR</code> dans une feuille de calcul, Tableau affiche les valeurs TRUE et FALSE. Si vous voulez modifier cela, utilisez la zone de mise en forme dans la boîte de dialogue Mettre en forme.</p><p class="note"><b>Remarque</b>&nbsp;: L’opérateur <code>OR</code> utilise l’<em>évaluation de court-circuit</em>. Cela signifie que si la première expression est évaluée comme étant <code>TRUE</code>, la seconde expression n’est pas du tout évaluée. Cela peut être utile si la seconde expression renvoie une erreur lorsque la première expression est <code>TRUE</code>, car dans ce cas-là, la seconde expression n’est jamais évaluée.</p></td></tr></tbody></table>

### THEN

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntaxe</td><td><code>IF &lt;test1&gt; <b>THEN</b> &lt;then1&gt; 
							<br>[ELSEIF &lt;test2&gt; <b>THEN</b> &lt;then2&gt;...]
							<br>[ELSE &lt;default&gt;] 
						<br>END</code></td></tr><tr><td>Définition</td><td>Partie obligatoire d’une expression <code>IF</code>, <code>ELSEIF</code>, ou <code>CASE</code>, utilisée pour définir le résultat à renvoyer si une valeur ou un test spécifique est true.</td></tr><tr><td>Exemple</td><td><pre xml:space="preserve">IF [Season] = "Summer"&nbsp;<b>THEN</b>&nbsp;'Sandals' <br>ELSEIF&nbsp;[Season] = "Winter"&nbsp;<b>THEN</b>&nbsp;'Boots' <br>ELSE&nbsp;'Sneakers'&nbsp;<br>END</pre><p><i>«&nbsp;Si Saison = Été, Sandales est retourné. Sinon, regardez l’expression suivante. Si Saison = Hiver, Bottes est retourné. Si aucune des expressions n’est vraie, Chaussures de sport est retourné.&nbsp;»</i></p><pre>CASE [Season] <br>WHEN 'Summer' <b>THEN</b> 'Sandals' <br>WHEN 'Winter' <b>THEN</b> 'Boots' <br>ELSE 'Sneakers' <br>END</pre><p><i><i>«&nbsp;Regardez le champ Saison. Si la valeur est Été, Sandales est retourné. Si la valeur est Hiver, Bottes est retourné. Si aucune des options du calcul ne correspond à ce qui est indiqué dans le champ Saison, chaussures de sport est retourné.&nbsp;»</i></i></p></td></tr><tr><td>Remarques</td><td><p>Utilisé avec <a href="#CASE" class="xref">CASE</a>, <a href="#WHEN" class="xref">WHEN</a>, <a href="#IF" class="xref">IF</a>, <a href="#ELSEIF" class="xref">ELSEIF</a>, <a href="#THEN" class="xref">THEN</a>, <a href="#ELSE" class="xref">ELSE</a> et <a href="#END" class="xref">END</a></p></td></tr></tbody></table>

### WHEN

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntaxe</td><td><code>CASE &lt;expression&gt; 
							<br><b>WHEN</b> &lt;value1&gt; THEN &lt;then1&gt; 
							<br><b>WHEN</b> &lt;value2&gt; THEN &lt;then2&gt; 
							<br>...
						<br>[ELSE &lt;default&gt;]<br>END</code></td></tr><tr><td>Définition</td><td>Partie obligatoire d’une expression <code>CASE</code>. Trouve la première <code>&lt;value&gt;</code> correspondant à <code>&lt;expression&gt;</code> et renvoie la valeur <code>&lt;then&gt;</code> correspondante.</td></tr><tr><td>Exemple</td><td><pre>CASE [Season] <br><b>WHEN</b> 'Summer' THEN 'Sandals' <br><b>WHEN</b> 'Winter' THEN 'Boots' <br>ELSE 'Sneakers' <br>END</pre><p><i>«&nbsp;Regardez le champ Saison. Si la valeur est Été, Sandales est retourné. Si la valeur est Hiver, Bottes est retourné. Si aucune des options du calcul ne correspond à ce qui est indiqué dans le champ Saison, chaussures de sport est retourné.&nbsp;»</i></p></td></tr><tr><td>Remarques</td><td><p>Utilisé avec les expressions <a href="#CASE" class="xref">CASE</a>, <a href="#THEN" class="xref">THEN</a>, <a href="#ELSE" class="xref">ELSE</a> et <a href="#END" class="xref">END</a>.</p><p><code>CASE</code> prend également en charge les constructions de type <code>WHEN IN</code>, par exemple&nbsp;:</p><pre xml:space="preserve">CASE &lt;expression&gt; <br><b>WHEN IN</b> &lt;set1&gt; THEN &lt;then1&gt; <br><b>WHEN IN</b> &lt;combinedfield&gt; THEN &lt;then2&gt; <br>... <br>ELSE &lt;default&gt; <br>END</pre><p>Les valeurs auxquelles se compare <code>WHEN IN</code> doivent être un ensemble, une liste de valeurs littérales ou un champ combiné. Voir également <a href="#IN" class="xref">IN</a>.</p></td></tr></tbody></table>

### ZN

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntaxe</td><td><code>ZN(expression)</code></td></tr><tr><td>Résultat</td><td>Dépend du type de données de l’<code>&lt;expression&gt;</code> ou de la valeur 0.</td></tr><tr><td>Définition</td><td>Renvoie &lt;expression&gt; si la valeur n’est pas nulle, sinon renvoie zéro.</td></tr><tr><td>Exemple</td><td><pre xml:space="preserve">ZN([Test Grade])</pre><p><i>«&nbsp;Si la note de test n’est pas une valeur nulle, renvoie sa valeur. Si la note de test est une valeur nulle, renvoie 0.&nbsp;»</i></p></td></tr><tr><td>Remarques</td><td><p>La fonction <code>ZN</code> est un cas spécifique de l’expression <a href="#IFNULL" class="xref">IFNULL</a> qui renvoie toujours 0 si l’expression est une valeur nulle, au lieu de la valeur spécifiée dans le calcul.</p><p><code>ZN</code> est particulièrement utile lorsqu’on effectue des calculs supplémentaires et qu’une valeur nulle rendrait l’ensemble du calcul nul. Toutefois, il convient d’interpréter ces résultats avec prudence, car une valeur nulle n’est pas toujours synonyme de 0 et peut représenter des données manquantes.</p><p>Consultez également l’expression <a href="#ISNULL" class="xref">ISNULL</a>.</p></td></tr></tbody></table>  

**Remarque** : Certains d’entre eux sont en fait des opérateurs logiques et apparaissent en noir et non en bleu. Pour plus d’information, consultez [Syntaxe des opérateurs](https://help.tableau.com/v0.0/pro/desktop/fr-ca/functions_operators.htm#Operators).

Remarque sur les fonctions CASE, IF et IIF

CASE est souvent plus simple à utiliser que les fonctions IF ou IIF. Dans de nombreux cas, IF, IIF et CASE sont interchangeables. Une instruction CASE peut toujours être écrite sous la forme d’une instruction IF, bien que la fonction CASE soit généralement plus concise et facile à comprendre. Cependant, toutes les instructions IF ne peuvent pas être écrites sous forme d’instructions CASE, car chaque fonction ELSEIF peut faire référence à un champ différent.

**Conseil** : Comparons un exemple en utilisant la même logique pour ces trois fonctions :  

<table style="width: 100%;" class="table--plain"><colgroup><col style="width: 33%;"><col style="width: 33%;"><col></colgroup><tbody><tr><td>CASE</td><td>IF</td><td>IIF</td></tr><tr><td><pre>CASE [Region]<br>WHEN 'West' THEN 1<br>WHEN 'East' THEN 2<br>WHEN 'South' THEN 3<br>WHEN 'North' Then 4<br>ELSE 5<br>END</pre></td><td><pre>IF [Region] = 'West' THEN 1<br>ELSEIF [Region] = 'East' THEN 2<br>ELSEIF [Region] = 'South' THEN 3<br>ELSEIF [Region] = 'North' THEN 4<br>ELSE 5<br>END</pre></td><td><pre>IIF([Region] = 'West', 1,<br> IIF([Region] = 'East', 2,<br>  IIF([Region] = 'South', 3,<br>   IIF([Region] = 'North', 4,<br>   5, 0)<br>  )<br> )<br>)</pre></td></tr><tr><td><p>La structure CASE est très simple et facile à écrire et à comprendre. Cependant, l’expression (ici, [Zone géographique]) ne peut pas être une opération logique, contrairement à IF ou IIF.</p><p>Les valeurs nulles sont traitées de la même manière pour CASE et pour IF.</p></td><td><p>La structure IF&nbsp;THEN autorise plusieurs clauses ELSEIF, ce qui facilite davantage les évaluations multiples par rapport à IIF.</p><p><b>Traitement des valeurs nulles&nbsp;</b>: tout résultat inconnu (valeur nulle) est traité par la même clause ELSE que les résultats erronés. Ici, toute zone géographique autre que les quatre spécifiées (y compris toute valeur nulle) se verra attribuer une valeur de&nbsp;5.</p></td><td><p>La structure IIF traite les résultats inconnus différemment des résultats erronés et a une syntaxe différente de IF. La contrepartie du traitement spécifique des valeurs nulles est l’imbrication, comme indiqué ci-dessus, qui peut être difficile à écrire et à comprendre.</p><p><b>Traitement des valeurs nulles</b>&nbsp;: toute zone géographique sans valeur nulle autre que les quatre spécifiées se verra attribuer une valeur de 5, mais une valeur nulle se verra attribuer un 0.</p></td></tr></tbody></table>

**Remarque** : Souvent, vous pouvez utiliser un groupe pour obtenir les mêmes résultats qu’avec une fonction CASE complexe. Testez si une option est plus performante que l’autre.

### Exemples

Les fonctions CASE peuvent être utiles pour des scénarios comme la réattribution des alias :

CASE LEFT(DATENAME('weekday',\[Order Date\]),3)  
WHEN 'Sun' THEN 0  
WHEN 'Mon' THEN 1  
WHEN 'Tue' THEN 2  
WHEN 'Wed' THEN 3  
WHEN 'Thu' THEN 4   
WHEN 'Fri' THEN 5   
WHEN 'Sat' THEN 6  
END

ou autoriser l’utilisateur final à sélectionner la mesure à afficher dans un graphique lorsqu’elle est utilisée avec un [paramètre](https://www.tableau.com/fr-ca/about/blog/2015/11/using-parameter-change-fields-45866) :

CASE \[Choose a Measure\]  
WHEN "Sales" THEN SUM(\[Sales\])  
WHEN "Profit" THEN AVG(\[Profit\])  
WHEN "Quantity" THEN COUNT(\[Quantity\])  
WHEN "Shipping Cost" THEN MEDIAN(\[Shipping Cost\])  
END

## Créer un calcul logique

Suivez les étapes ci-dessous pour apprendre à créer un calcul logique.

1. Dans Tableau Desktop, connectez-vous à la source de données enregistrée **Exemple - Hypermarché** qui est fournie avec Tableau.
2. Accédez à une feuille de calcul.
3. Depuis le volet **Données**, faites glisser State (État) vers l’étagère Lignes.
4. Depuis le volet **Données**, faites glisser Category (Catégorie) vers l’étagère Lignes et placez-le à droite de State.
5. Dans le volet **Données**, faites glisser Sales (Ventes) vers l’étagère Colonnes.
6. Sélectionnez Analyse > Créer un champ calculé.
7. Dans l’éditeur de calcul qui s’ouvre, procédez comme suit :
    - Nommez le champ calculé KPI.
    - Entrez la formule suivante :
        
        SUM(\[Profit\]) > 0
        
        Ce calcul vérifie rapidement si un membre est supérieur à zéro. Si tel est le cas, renvoie la valeur True. Sinon, renvoie la valeur False.
    - Lorsque vous avez terminé, cliquez sur **OK**.

Le nouveau champ calculé apparaît sous Mesures dans le volet Données. Comme vos autres champs, vous pouvez l’utiliser dans une ou plusieurs visualisations.

9. Depuis le volet **Données**, faites glisser **KPI** vers **Couleur** sur la fiche Repères.
    
    Vous pouvez maintenant voir les catégories qui perdent de l’argent dans chaque État.
    
    ![Fonction logique appliquée à un graphique à barres pour mettre en évidence les catégories de produits qui perdent de l’argent dans chaque État.](/tableau/next/fr-ca/pro/desktop/fr-ca/Img/logicalfunctions1.png)

## Voir également

[Visualiser les KPI](https://help.tableau.com/v0.0/pro/desktop/fr-ca/kpi.htm)

[Fonctions dans Tableau](https://help.tableau.com/v0.0/pro/desktop/fr-ca/functions.htm)

[Fonctions de Tableau (par catégorie)](https://help.tableau.com/v0.0/pro/desktop/fr-ca/functions_all_categories.htm)

[Fonctions de Tableau (par ordre alphabétique)](https://help.tableau.com/v0.0/pro/desktop/fr-ca/functions_all_alphabetical.htm)