---
schema_version: "1"
id: c746f35d9bc310377480ec5696b53131934163828340897c8968c481f1e67e0c
title: Logiska funktioner
collection: tableau
version: current
locale: sv-se
portal_url: https://docs.salesforce.com/tableau/current/sv-se/public/desktop/functions_functions_logical.md
canonical_url: https://help.tableau.com/current/public/desktop/sv-se/functions_functions_logical.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 373b45dff14c46d65e828749670518e5b23a39e733cadc8b7305a0290b7c0d3f
description: Reference for Tableau logical functions such as IF, CASE, and AND.
---
[Hoppa till huvudinnehåll](#main-content)

# Logiska funktioner

I den här artikeln beskrivs logiska funktioner och deras användning i Tableau. Den visar också hur du skapar en logisk beräkning med hjälp av ett exempel.

## Varför ska jag använda logiska beräkningar?

Med logiska beräkningar kan du avgöra om ett visst villkor är sant eller falskt (boolesk logik). Till exempel kanske du vill kategorisera värden baserat på vissa brytpunkter.

En logisk beräkning kan se ut ungefär så här:

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

## Logiska funktioner och operatorer i Tableau

### AND

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntax</td><td><code>&lt;expr1&gt; AND &lt;expr2&gt;</code></td></tr><tr><td>Definition</td><td>Utför en logisk konjunktion av två uttryck. (Om båda sidor är sanna returnerar det logiska testet sant.)</td></tr><tr><td>Utdata</td><td>Boolesk (sant eller falskt)</td></tr><tr><td>Exempel</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>”Om både (Season = Spring) och (Season = Fall) är sanna samtidigt returneras It's the apocalypse and footwear doesn't matter.”</i></p></td></tr><tr><td>Obs!</td><td><p>Används ofta med <a href="#IF" class="xref">IF</a> och <a href="#IIF" class="xref">IIF</a>. Se även <a href="#NOT" class="xref">NOT</a> och <a href="#OR" class="xref">OR</a>.</p><p>Om båda uttrycken är <code>TRUE</code> (d.v.s. inte <code>FALSE</code> eller <code>NULL</code>) är resultatet <code>TRUE</code>. Om något av uttrycken är <code>NULL</code> är resultatet <code>NULL</code>. I alla andra fall är resultatet <code>FALSE</code>.</p><p>Om du skapar en beräkning där resultatet av en <code>AND</code>-jämförelse visas på ett arbetsblad visar Tableau <code>TRUE</code> och <code>FALSE</code>. Om du vill ändra detta använder du området Formatera i formatdialogrutan.</p><p class="note"><b>Obs!</b>&nbsp;Med <code>AND</code>-operatorn används <i>kortslutningsutvärdering</i>. Detta innebär att om det första uttrycket bedöms vara <code>FALSE</code>, så utvärderas inte det andra uttrycket alls. Detta kan vara till hjälp om det andra uttrycket resulterar i ett fel när det första uttrycket är <code>FALSE</code>, eftersom det andra uttrycket i det här fallet aldrig utvärderas.</p></td></tr></tbody></table>

### CASE

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntax</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>Utdata</td><td>Beror på datatypen för <code>&lt;then&gt;</code>-värdena.</td></tr><tr><td>Definition</td><td><p>Utvärderar <code>expression</code> och jämför det med de angivna alternativen (<code>&lt;value1&gt;</code>, <code>&lt;value2&gt;</code> o.s.v.). När ett <code>value</code> som stämmer överens med uttrycket påträffas returnerar CASE motsvarande <code>return</code>. Om inga matchningar hittas returneras det (valfria) standardvärdet. Om det inte finns något standardvärde och inga värden stämmer överens returneras null.</p></td></tr><tr><td>Exempel</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>”Titta på fältet Season. Om värdet är Summer returneras Sandals. Om värdet är Winter returneras Boots. Om inget av alternativen i beräkningen matchar det som finns i fältet Season returneras Sneakers.”</i></p></td></tr><tr><td>Obs!</td><td><p>Se även <a href="#IF" class="xref">IF</a> och <a href="#IIF" class="xref">IIF</a>.</p><p>Används med <a href="#WHEN" class="xref">WHEN</a>, <a href="#THEN" class="xref">THEN</a>, <a href="#ELSE" class="xref">ELSE</a> och <a href="#END" class="xref">END</a>.</p><blockquote><p>[!TIP]</p><p><b>Tips</b>: Många gånger kan du använda en grupp för att få samma resultat som en komplicerad CASE-funktion eller använda CASE för att ersätta den inbyggda grupperingsfunktionen, som i föregående exempel. Det kan vara en bra idé att testa vilket som fungerar bäst i ditt fall.</p></blockquote></td></tr></tbody></table>

### ELSE

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntax</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>Definition</td><td>En valfri del av ett <code>IF</code>- eller <code>CASE</code>-uttryck som används för att ange ett standardvärde som returneras om inga av de testade uttrycken är sanna.</td></tr><tr><td>Exempel</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>Obs!</td><td><p>Används med <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> och <a href="#END" class="xref">END</a></p><p><code>ELSE</code> är valfritt med <code>CASE</code> och <code>IF</code>. I en beräkning där <code>ELSE</code> inte anges, och om inga av <code>&lt;test&gt;</code> är sanna, returnerar den övergripande beräkningen null.</p><p><code>ELSE</code> kräver inte ett villkor (t.ex. <code>[Season] = "Winter"</code>) och kan ses som en form av hantering av null-värden.</p></td></tr></tbody></table>

### ELSEIF

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntax</td><td><code>[<b>ELSEIF</b> &lt;test2&gt; THEN &lt;then2&gt;]</code></td></tr><tr><td>Definition</td><td>En valfri del av ett <code>IF</code>-uttryck som används för att ange ytterligare villkor utöver den ursprungliga IF-satsen.</td></tr><tr><td>Exempel</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>Obs!</td><td><p>Används med <a href="#IF" class="xref">IF</a>, <a href="#THEN" class="xref">THEN</a>, <a href="#ELSE" class="xref">ELSE</a> och <a href="#END" class="xref">END</a></p><p><code>ELSEIF</code> kan ses som ytterligare <code>IF</code>-satser. <code>ELSEIF</code> är valfritt och kan upprepas flera gånger.</p><p>Till skillnad från <code>ELSE</code> kräver <code>ELSEIF</code> ett villkor (t.ex. <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>Definition</td><td>Används för att stänga ett <code>IF</code>- eller <code>CASE</code>-uttryck.</td></tr><tr><td>Exempel</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>”Om Season = Summer returneras Sandals. Om inte, titta på nästa uttryck. Om Season = Winter returneras Boots. Om inget av uttrycken är sant returneras Sneakers.”</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>”Titta på fältet Season. Om värdet är Summer returneras Sandals. Om värdet är Winter returneras Boots. Om inget av alternativen i beräkningen matchar det som finns i fältet Season returneras Sneakers.”</i></i></p></td></tr><tr><td>Obs!</td><td><p>Används med <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> och <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>Syntax</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>Utdata</td><td>Beror på datatypen för <code>&lt;then&gt;</code>-värdena.</td></tr><tr><td>Definition</td><td><p>Testar en serie med uttryck och returnerar värdet <code>&lt;then&gt;</code> för det första <code>&lt;test&gt;</code> som är sant.</p></td></tr><tr><td>Exempel</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>”Om Season = Summer returneras Sandals. Om inte, titta på nästa uttryck. Om Season = Winter returneras Boots. Om inget av uttrycken är sant returneras Sneakers.”</i></p></td></tr><tr><td>Obs!</td><td><p>Se även <a href="#IF" class="xref">IF</a> och <a href="#IIF" class="xref">IIF</a>.</p><p>Används med <a href="#ELSEIF" class="xref">ELSEIF</a>, <a href="#THEN" class="xref">THEN</a>, <a href="#ELSE" class="xref">ELSE</a> och <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>Syntax</td><td><code>IFNULL(expr1, expr2)</code></td></tr><tr><td>Utdata</td><td>Beror på datatypen för <code>&lt;expr&gt;</code>-värdena.</td></tr><tr><td>Definition</td><td><p>Returnerar <code>&lt;expr1&gt;</code> om det inte är null. Annars returneras <code>&lt;expr2&gt;</code>.</p></td></tr><tr><td>Exempel</td><td><pre xml:space="preserve">IFNULL([Assigned Room], "TBD")</pre><p><i>”Om fältet Assigned Room inte är null returneras dess värde. Om fältet Assigned Room är null returneras TBD istället.”</i></p></td></tr><tr><td>Obs!</td><td><p>Jämför med <a href="#ISNULL" class="xref">ISNULL</a>. <code>IFNULL</code> returnerar alltid ett värde. <code>ISNULL</code>&nbsp;returnerar ett booleskt värde (sant eller falskt).</p><p>Se även <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>Syntax</td><td><code><b>IIF</b>(&lt;test&gt;, &lt;then&gt;, &lt;else&gt;, [&lt;unknown&gt;])</code></td></tr><tr><td>Utdata</td><td>Beror på datatypen för värdena i uttrycket.</td></tr><tr><td>Definition</td><td>Kontrollerar om ett villkor uppfylls (<code>&lt;test&gt;</code>) och returnerar <code>&lt;then&gt;</code> om testet är sant, <code>&lt;else&gt;</code>&nbsp;om testet är falskt och ett valfritt värde för <code>&lt;unknown&gt;</code> om testet är null. Om det valfria okända värdet inte anges returnerar <code>IIF</code> null.</td></tr><tr><td>Exempel</td><td><pre xml:space="preserve">IIF([Season] = 'Summer', 'Sandals', 'Other footwear')</pre><p><i>”Om Season = Summer returneras Sandals. Om inte returneras Other footwear.”</i></p><pre xml:space="preserve">IIF([Season] = 'Summer', 'Sandals', <br>   IIF('Season' = 'Winter', 'Boots',  'Other footwear')<br>)</pre><p><i>”Om Season = Summer returneras Sandals. Om inte, titta på nästa uttryck. Om Season = Winter returneras Boots. Om inget av uttrycken är sant returneras Sneakers.”</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>”Om Season = Summer returneras Sandals. Om inte, titta på nästa uttryck. Om Season = Winter returneras Boots. Om inget av uttrycken är sant returneras Sneakers.”</i></p></td></tr><tr><td>Obs!</td><td><p>Se även <a href="#IF" class="xref">IF</a> och<a href="#CASE" class="xref">CASE</a>.</p><p><code>IIF</code> har ingen motsvarighet till <code>ELSEIF</code> (som <code>IF</code>)&nbsp;eller upprepade <code>WHEN</code>-satser (som <code>CASE</code>). Istället kan flera tester utvärderas sekventiellt genom inkapsling av <code>IIF</code>-satser som <code>&lt;unknown&gt;</code>-elementet. Det första (yttersta) sanna värdet returneras.</p><p>I beräkningen nedan blir resultatet alltså Red, inte Orange, eftersom uttrycket slutar utvärderas så snart A = A utvärderas som sant:</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>Syntax</td><td><code>&lt;expr1&gt; IN &lt;expr2&gt;</code></td></tr><tr><td>Utdata</td><td>Boolesk (sant eller falskt)</td></tr><tr><td>Definition</td><td>Returnerar <code>TRUE</code> om något värde i <code>&lt;expr1&gt;</code> matchar något värde i <code>&lt;expr2&gt;</code>.</td></tr><tr><td>Exempel</td><td><pre xml:space="preserve">SUM([Cost]) IN&nbsp;(1000, 15, 200)</pre><p><i>”Är värdet i fältet Cost 1 000, 15 eller 200?”</i></p><pre xml:space="preserve">[Field] IN&nbsp;[Set]</pre><p><i>”Finns fältets värde i uppsättningen?”</i></p></td></tr><tr><td>Obs!</td><td><p>Värdena i <code>&lt;expr2&gt;</code> kan vara en uppsättning, en lista med bokstavliga värden eller ett kombinerat fält.</p><p>Se även <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>Syntax</td><td><code>ISDATE(string)</code></td></tr><tr><td>Utdata</td><td>Boolesk (sant eller falskt)</td></tr><tr><td>Definition</td><td>Returnerar sant om en <code>&lt;string&gt;</code> är ett giltigt datum. Det inmatade uttrycket måste vara ett strängfält (text).</td></tr><tr><td>Exempel</td><td><pre xml:space="preserve">ISDATE("2018-09-22")</pre><p><i>”Är strängen 2018-09-22 ett korrekt formaterat datum?”</i></p></td></tr><tr><td>Obs!</td><td><p>Vad som anses vara ett giltigt datum beror på i vilken <a href="https://help.tableau.com/current/server/sv-se/lang_intro.htm" target="_blank">språkzon</a> som systemet som utvärderar beräkningen finns. Exempel:</p><p>I USA:</p><ul><li><code>ISDATE("2018-09-22") = TRUE</code></li><li><code>ISDATE("2018-22-09") = FALSE</code></li></ul><p>I Storbritannien: </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>Syntax</td><td><code>ISNULL(expression)</code></td></tr><tr><td>Utdata</td><td>Boolesk (sant eller falskt)</td></tr><tr><td>Definition</td><td><p>Returnerar sant om <code>&lt;expression&gt;</code> är NULL (innehåller inte giltiga data).</p></td></tr><tr><td>Exempel</td><td><pre xml:space="preserve">ISNULL([Assigned Room])</pre><p><i>”Är fältet Assigned Room null?”</i></p></td></tr><tr><td>Obs!</td><td><p>Jämför med <a href="#IFNULL" class="xref">IFNULL</a>. <code>IFNULL</code> returnerar alltid ett värde. <code>ISNULL</code> returnerar ett booleskt värde.</p><p>Se även <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>Syntax</td><td><code>MAX(expression)</code> eller <code>MAX(expr1, expr2)</code></td></tr><tr><td>Utdata</td><td>Samma datatyp som argumentet, eller <code>NULL&nbsp;</code>om någon del av argumentet är null.</td></tr><tr><td>Definition</td><td><p>Returnerar det största värdet för de två argumenten, som måste vara av samma datatyp.</p><p><code>MAX</code> kan även tillämpas på ett enskilt fält som en aggregering.</p></td></tr><tr><td>Exempel</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>Obs!</td><td><p><b>För strängar</b></p><p><code>MAX</code> är vanligtvis det värde som kommer sist i alfabetisk ordning.</p><p class="note">För datakällor i databaser är strängvärdet <code>MAX</code> det högsta i den sorteringssekvens som definierats i databasen för den kolumnen.</p><p><b>För datum</b></p><p>För datum är <code>MAX</code> det senaste datumet. Om <code>MAX</code> är en aggregering kommer resultatet inte att ha någon datumhierarki. Om <code>MAX</code> är en jämförelse kommer resultatet att behålla datumhierarkin.</p><p><b>Som en aggregering</b></p><p><code>MAX(expression)</code> är en aggregerad funktion och returnerar ett enda aggregerat resultat. Detta visas som <code>AGG(expression)</code> i visualiseringen.</p><p><b>Som en jämförelse</b></p><p><code>MAX(expr1, expr2)</code> jämför de två värdena och returnerar ett värde på radnivå.</p><p>Se även <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>Syntax</td><td><code>MIN(expression)</code> eller <code>MIN(expr1, expr2)</code></td></tr><tr><td>Utdata</td><td>Samma datatyp som argumentet, eller <code>NULL&nbsp;</code>om någon del av argumentet är null.</td></tr><tr><td>Definition</td><td><p>Returnerar det minsta värdet för de två argumenten, som måste vara av samma datatyp.</p><p><code>MIN </code>kan även tillämpas på ett enskilt fält som en aggregering.</p></td></tr><tr><td>Exempel</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>Obs!</td><td><p><b>För strängar</b></p><p><code>MIN</code> är vanligtvis det värde som kommer först i alfabetisk ordning.</p><p class="note">För datakällor i databaser är strängvärdet <code>MIN</code> det lägsta i den sorteringssekvens som definierats i databasen för den kolumnen.</p><p><b>För datum</b></p><p>För datum är <code>MIN</code> det tidigaste datumet. Om <code>MIN</code> är en aggregering kommer resultatet inte att ha någon datumhierarki. Om <code>MIN</code> är en jämförelse kommer resultatet att behålla datumhierarkin.</p><p><b>Som en aggregering</b></p><p><code>MIN(expression)</code> är en aggregerad funktion och returnerar ett enda aggregerat resultat. Detta visas som <code>AGG(expression)</code> i visualiseringen.</p><p><b>Som en jämförelse</b></p><p><code>MIN(expr1, expr2)</code> jämför de två värdena och returnerar ett värde på radnivå.</p><p>Se även <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>Syntax</td><td><code>NOT&nbsp;&lt;expression&gt;</code></td></tr><tr><td>Utdata</td><td>Boolesk (sant eller falskt)</td></tr><tr><td>Definition</td><td>Utför logisk negation på ett uttryck.</td></tr><tr><td>Exempel</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>”Om Season inte är lika med Summer returneras Don't wear sandals. Om inte returneras Wear sandals.”</i></p></td></tr><tr><td>Obs!</td><td><p>Används ofta med <a href="#IF" class="xref">IF</a> och <a href="#IIF" class="xref">IIF</a>. Se även <a href="#top" class="xref">AND</a> och <a href="#OR" class="xref">OR</a>.</p></td></tr></tbody></table>

### OR

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntax</td><td><code>&lt;expr1&gt; OR &lt;expr2&gt;</code></td></tr><tr><td>Utdata</td><td>Boolesk (sant eller falskt)</td></tr><tr><td>Definition</td><td>Utför en logisk disjunktion av två uttryck.</td></tr><tr><td>Exempel</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>”Om antingen (Season = Spring)&nbsp;eller (Season = Fall)&nbsp;är sant returneras Sneakers.”</i></p></td></tr><tr><td>Obs!</td><td><p>Används ofta med <a href="#IF" class="xref">IF</a> och <a href="#IIF" class="xref">IIF</a>. Se även <a href="#top" class="xref">AND</a> och <a href="#NOT" class="xref">NOT</a>.</p><p>Om något av uttrycken är <code>TRUE</code> är resultatet <code>TRUE</code>. Om båda uttrycken är <code>FALSE</code>, så blir resultatet <code>FALSE</code>. Om båda uttrycken är <code>NULL</code>, så blir resultatet <code>NULL</code>.</p><p>Om du skapar en beräkning som visar resultatet av en <code>OR</code>-jämförelse på ett arbetsblad visar Tableau TRUE och FALSE. Om du vill ändra detta använder du området Formatera i formatdialogrutan.</p><p class="note"><b>Obs!</b>&nbsp;Med <code>OR</code>-operatorn används <em>kortslutningsutvärdering</em>. Detta innebär att om det första uttrycket bedöms vara <code>TRUE</code>, så utvärderas inte det andra uttrycket alls. Detta kan vara till hjälp om det andra uttrycket resulterar i ett fel när det första uttrycket är <code>TRUE</code>, eftersom det andra uttrycket i det här fallet aldrig utvärderas.</p></td></tr></tbody></table>

### THEN

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Syntax</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>Definition</td><td>En nödvändig del av ett <code>IF</code>-, <code>ELSEIF</code>- eller <code>CASE</code>-uttryck, som används för att definiera vilket resultat som ska returneras om ett specifikt värde eller test är sant.</td></tr><tr><td>Exempel</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>”Om Season = Summer returneras Sandals. Om inte, titta på nästa uttryck. Om Season = Winter returneras Boots. Om inget av uttrycken är sant returneras Sneakers.”</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>”Titta på fältet Season. Om värdet är Summer returneras Sandals. Om värdet är Winter returneras Boots. Om inget av alternativen i beräkningen matchar det som finns i fältet Season returneras Sneakers.”</i></i></p></td></tr><tr><td>Obs!</td><td><p>Används med <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> och <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>Syntax</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>Definition</td><td>En nödvändig del av ett <code>CASE</code>-uttryck. Hittar det första <code>&lt;value&gt;</code> som matchar <code>&lt;expression&gt;</code> och returnerar motsvarande <code>&lt;then&gt;</code>.</td></tr><tr><td>Exempel</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>”Titta på fältet Season. Om värdet är Summer returneras Sandals. Om värdet är Winter returneras Boots. Om inget av alternativen i beräkningen matchar det som finns i fältet Season returneras Sneakers.”</i></p></td></tr><tr><td>Obs!</td><td><p>Används med <a href="#CASE" class="xref">CASE</a>, <a href="#THEN" class="xref">THEN</a>, <a href="#ELSE" class="xref">ELSE</a> och <a href="#END" class="xref">END</a>.</p><p><code>CASE</code> har även stöd för konstruktionen <code>WHEN IN</code>, som i följande exempel:</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>Värdena som <code>WHEN IN</code> jämförs med måste vara en uppsättning, en lista med bokstavliga värden eller ett kombinerat fält. Se även <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>Syntax</td><td><code>ZN(expression)</code></td></tr><tr><td>Utdata</td><td>Beror på datatypen för <code>&lt;expression&gt;</code>, eller 0.</td></tr><tr><td>Definition</td><td>Returnerar &lt;expression&gt; om det inte är null. Annars returneras noll.</td></tr><tr><td>Exempel</td><td><pre xml:space="preserve">ZN([Test Grade])</pre><p><i>”Om Test Grade inte är null returneras dess värde. Om Test Grade är null returneras 0.”</i></p></td></tr><tr><td>Obs!</td><td><p><code>ZN</code> är ett specialfall av <a href="#IFNULL" class="xref">IFNULL</a>, där alternativet om uttrycket är null alltid är 0 istället för att anges i beräkningen.</p><p><code>ZN</code> är särskilt användbart när du utför ytterligare beräkningar och ett null-värde skulle återge hela beräkningen som null. Men var försiktig när du tolkar de här resultaten, eftersom null inte alltid är synonymt med 0 och kan representera data som saknas.</p><p>Se även <a href="#ISNULL" class="xref">ISNULL</a>.</p></td></tr></tbody></table>  

**Obs!** Några av dessa är faktiskt logiska operatorer och visas i svart, inte blått. Mer information finns i [Operatorsyntax](https://help.tableau.com/current/public/desktop/sv-se/functions_operators.htm#Operators).

Kommentarer till CASE, IF och IIF

CASE är ofta enklare att använda än IF eller IIF. I många fall kan IF, IIF och CASE användas synonymt. En CASE-sats kan alltid skrivas om som en IF-sats, även om CASE-funktionen oftast är mer koncis och enklare att förstå. Men alla IF-satser kan inte skrivas som CASE-satser, eftersom alla ELSEIF kan referera till olika fält.

**Tips**: Vi jämför ett exempel med samma logik för de här tre funktionerna:  

<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>CASE-strukturen är mycket enkel att skriva och förstå. Men uttrycket (här [Region]) kan emellertid inte vara en logisk operation, till skillnad från IF eller IIF.</p><p>Null-värden hanteras på samma sätt för CASE som för IF.</p></td><td><p>IF&nbsp;THEN-strukturen tillåter flera ELSEIF-satser, vilket innebär det är betydligt enklare att göra flera utvärderingar än med IIF.</p><p><b>Null-hantering</b>: alla okända (null) resultat hanteras av samma ELSE-sats som falska resultat. Här tilldelas alla andra regioner än de fyra angivna (inklusive null) värdet&nbsp;5.</p></td><td><p>IIF-strukturen hanterar okända resultat på ett annat sätt än falska resultat och har en annan syntax än IF. Priset du får betala för specifik null-hantering är kapsling, som ovan, vilket kan vara klumpigt både att skriva och att förstå.</p><p><b>Null-hantering</b>: alla andra regioner än de fyra angivna som inte är null tilldelas värdet&nbsp;5, men ett null-värde tilldelas&nbsp;0.</p></td></tr></tbody></table>

**Obs!** Ofta går det att använda en grupp för att få samma resultat som en komplicerad CASE-funktion. Testa för att se om det ena alternativet fungerar bättre än det andra.

### Exempel

CASE-funktioner kan vara användbara när du till exempel vill tilldela nya 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

eller ge slutanvändaren möjlighet att välja vilket mätvärde som ska visas i ett diagram när det används med en [parameter](https://www.tableau.com/sv-se/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

## Skapa en logisk beräkning

Följ stegen nedan för att lära dig skapa en logisk beräkning.

1. I Tableau Desktop ansluter du till den sparade datakällan **Urval - Superstore**, som ingår i Tableau.
2. Navigera till ett arbetsblad.
3. Från rutan **Data** drar du Stattill hyllan Rader.
4. Från rutan **Data** drar du Kategori till hyllan Rader och placerar det till höger om Stat.
5. Från rutan **Data** drar du Försäljning till hyllan Kolumner.
6. Välj Analys > Skapa beräknat fält.
7. Gör följande i den beräkningsredigerare som visas:
    - Ge det beräknade fältet namnet KPI.
    - Ange följande formel:
        
        SUM(\[Profit\]) > 0
        
        Den här beräkningen kontrollerar snabbt om ett nummer är större än noll. Om så är fallet returneras värdet sant, om inte returneras värdet falskt.
    - Klicka på **OK** när du är klar.

Det nya beräknade fältet visas under Mätvärden i fönstret Data. Precis som med de andra fälten kan du använda detta i en eller flera visualiseringar.

9. Från rutan **Data** drar du **KPI** till **Färg** på kortet Markeringar.
    
    Nu kan du se vilka kategorier som förlorar pengar i varje stat.
    
    ![En logisk funktion har tillämpats på ett stapeldiagram för att markera produktkategorierna som går med förlust i varje delstat.](/tableau/current/sv-se/public/desktop/sv-se/Img/logicalfunctions1.png)

## Se även

[Visualisera viktiga förloppsindikatorer](https://help.tableau.com/current/public/desktop/sv-se/kpi.htm)

[Funktioner i Tableau](https://help.tableau.com/current/public/desktop/sv-se/functions.htm)

[Tableau-funktioner (efter kategori)](https://help.tableau.com/current/public/desktop/sv-se/functions_all_categories.htm)

[Tableau-funktioner (i bokstavsordning)](https://help.tableau.com/current/public/desktop/sv-se/functions_all_alphabetical.htm)