---
schema_version: "1"
id: 760f71e8d77aed9c8c1233deafa40e874bfbfb957a559dba4d1902ac3a7f4915
title: 논리 함수
collection: tableau
version: current
locale: ko-kr
portal_url: https://docs.salesforce.com/tableau/current/ko-kr/public/desktop/functions_functions_logical.md
canonical_url: https://help.tableau.com/current/public/desktop/ko-kr/functions_functions_logical.htm
source_site: help.tableau.com
content_type: documentation
content_hash: c2e68038be829882301aeff6e4277478238a6439043865c15c2b2b7306f80d59
description: Reference for Tableau logical functions such as IF, CASE, and AND.
---
[주요 콘텐츠로 건너뛰기](#main-content)

# 논리 함수

이 문서에서는 Tableau의 논리 함수와 관련 사용법을 소개합니다. 또한 예제를 사용하여 논리 계산을 만드는 방법을 보여 줍니다.

## 논리 계산을 사용하는 이유

논리 계산을 사용하면 특정 조건이 참인지, 아니면 거짓인지(부울 논리)를 결정할 수 있습니다. 예를 들어 특정 구분 단위를 기준으로 값을 분류할 수 있습니다.

논리 계산은 다음과 비슷한 모양입니다.

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

## Tableau에서 사용할 수 있는 논리 함수 및 연산자

### AND

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>구문</td><td><code>&lt;expr1&gt; AND &lt;expr2&gt;</code></td></tr><tr><td>정의</td><td>두 식에 대한 논리곱을 수행합니다. (양변 모두 참이면 논리 테스트는 true를 반환합니다.)</td></tr><tr><td>출력</td><td>부울(true 또는 false)</td></tr><tr><td>예</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>"(Season = Spring) 및 (Season = Fall)이 동시에 참이면 It's the apocalypse and footwear doesn't matter가 반환됩니다."</i></p></td></tr><tr><td>참고</td><td><p>경우에 따라 <a href="#IF" class="xref">IF</a> 및 <a href="#IIF" class="xref">IIF</a>와 함께 사용됩니다. 또한 <a href="#NOT" class="xref">NOT</a> 및 <a href="#OR" class="xref">OR</a>을 참조하십시오.</p><p>두 식이 모두 <code>TRUE</code>(즉, <code>FALSE</code> 또는 <code>NULL</code>이 아님)이면 결과는 <code>TRUE</code>입니다. 식이 하나라도 <code>NULL</code>이면 결과는 <code>NULL</code>입니다. 다른 모든 경우의 결과는 <code>FALSE</code>입니다.</p><p><code>AND</code> 비교의 결과가 워크시트에 표시되는 계산을 만드는 경우 <code>TRUE</code> 및 <code>FALSE</code>가 표시됩니다. 이 설정을 변경하려면 서식 대화 상자의 형식 영역을 사용합니다.</p><p class="note"><b>참고</b>:&nbsp;<code>AND</code> 연산자는 <i>단락 평가</i>를 사용합니다. 즉, 첫 번째 식이 <code>FALSE</code>로 평가되면 두 번째 식은 평가되지 않습니다. 이 기능은 첫 번째 식이 <code>FALSE</code>이고 두 번째 식에서 오류가 발생하는 경우에 유용할 수 있습니다. 이 경우 두 번째 식은 평가되지 않기 때문입니다.</p></td></tr></tbody></table>

### CASE

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>구문</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>출력</td><td>데이터 유형의 <code>&lt;then&gt;</code> 값에 따라 다릅니다.</td></tr><tr><td>정의</td><td><p><code>expression</code>을 평가하고 지정된 옵션(<code>&lt;value1&gt;</code>, <code>&lt;value2&gt;</code> 등)과 비교합니다. 식과 일치하는 <code>value</code>가 있으면 CASE가 해당 <code>return</code> 값을 반환합니다. 일치 항목이 없으면 (선택 사항) 기본값이 반환됩니다. 기본값이 없고 일치하는 값도 없으면 Null이 반환됩니다.</p></td></tr><tr><td>예</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>"Season 필드를 보십시오. 값이 Summer이면 Sandals를 반환합니다. 값이 Winter이면 Boots를 반환합니다. 계산의 옵션 중 Season 필드의 옵션과 일치하는 것이 없으면 Sneakers를 반환합니다."</i></p></td></tr><tr><td>참고</td><td><p>또한 <a href="#IF" class="xref">IF</a> 및 <a href="#IIF" class="xref">IIF</a>을 참조하십시오.</p><p><a href="#WHEN" class="xref">WHEN</a>, <a href="#THEN" class="xref">THEN</a>, <a href="#ELSE" class="xref">ELSE</a> 및 <a href="#END" class="xref">END</a>와 함께 사용됩니다.</p><blockquote><p>[!TIP]</p><p><b>팁</b>: 그룹을 여러 번 사용하여 복잡한 CASE 함수와 동일한 결과를 얻거나 이전 예와 같이 CASE를 사용하여 기본 그룹화 함수를 대체할 수 있습니다. 해당하는 시나리오에 어느 함수의 성능이 더 우수한지 테스트하는 것이 좋을 수 있습니다.</p></blockquote></td></tr></tbody></table>

### ELSE

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>구문</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>정의</td><td>테스트된 식 중 참이 아닌 경우 반환할 기본값을 지정하는 데 사용되는 <code>IF</code> 또는 <code>CASE</code> 식의 선택적 부분입니다.</td></tr><tr><td>예</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>참고</td><td><p><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="#END" class="xref">END</a>와 함께 사용됩니다.</p><p><code>ELSE</code>는 <code>CASE</code> 및 <code>IF</code>와 함께 선택 사항입니다. <code>ELSE</code>가 지정되지 않은 계산의 경우 <code>&lt;test&gt;</code> 중 어느 것도 참이 아니면 전체 계산은 null을 반환합니다.</p><p><code>ELSE</code>는 조건이 필요하지 않고(예: <code>[Season] = "Winter"</code>) 이는 null 처리의 한 형태로 간주될 수 있습니다.</p></td></tr></tbody></table>

### ELSEIF

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>구문</td><td><code>[<b>ELSEIF</b> &lt;test2&gt; THEN &lt;then2&gt;]</code></td></tr><tr><td>정의</td><td>초기 IF 이외의 추가 조건을 지정하는 데 사용되는 <code>IF</code> 식의 선택적 부분입니다.</td></tr><tr><td>예</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>참고</td><td><p><a href="#IF" class="xref">IF</a>, <a href="#THEN" class="xref">THEN</a>, <a href="#ELSE" class="xref">ELSE</a> 및 <a href="#END" class="xref">END</a>와 함께 사용됩니다.</p><p><code>ELSEIF</code>는 추가 <code>IF</code> 절로 간주될 수 있습니다. <code>ELSEIF</code>는 선택 사항이며 여러 번 반복할 수 있습니다.</p><p><code>ELSE</code>와 달리 <code>ELSEIF</code>는 조건이 필요합니다(예: <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>정의</td><td><code>IF</code> 또는 <code>CASE</code> 식을 닫는 데 사용됩니다.</td></tr><tr><td>예</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>"Season = Summer이면 Sandals을 반환합니다. 그렇지 않으면 옆의 식을 봅니다. Season = Winter이면 Boots를 반환합니다. 두 식 중 어느 것도 참이 아니면 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>"Season 필드를 보십시오. 값이 Summer이면 Sandals를 반환합니다. 값이 Winter이면 Boots를 반환합니다. 계산의 옵션 중 Season 필드의 옵션과 일치하는 것이 없으면 Sneakers를 반환합니다."</i></i></p></td></tr><tr><td>참고</td><td><p><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>와 함께 사용됩니다.</p></td></tr></tbody></table>

### IF

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>구문</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>출력</td><td>데이터 유형의 <code>&lt;then&gt;</code> 값에 따라 다릅니다.</td></tr><tr><td>정의</td><td><p>일련의 식을 테스트하여 true인 첫 번째 <code>&lt;test&gt;</code>에 대해 <code>&lt;then&gt;</code> 값을 반환합니다.</p></td></tr><tr><td>예</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>"Season = Summer이면 Sandals을 반환합니다. 그렇지 않으면 옆의 식을 봅니다. Season = Winter이면 Boots를 반환합니다. 두 식 중 어느 것도 참이 아니면 Sneakers를 반환합니다."</i></p></td></tr><tr><td>참고</td><td><p>또한 <a href="#IF" class="xref">IF</a> 및 <a href="#IIF" class="xref">IIF</a>을 참조하십시오.</p><p><a href="#ELSEIF" class="xref">ELSEIF</a>, <a href="#THEN" class="xref">THEN</a>, <a href="#ELSE" class="xref">ELSE</a> 및 <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>구문</td><td><code>IFNULL(expr1, expr2)</code></td></tr><tr><td>출력</td><td>데이터 유형의 <code>&lt;expr&gt;</code> 값에 따라 다릅니다.</td></tr><tr><td>정의</td><td><p>null이 아니면 <code>&lt;expr1&gt;</code>을 반환하고, 그렇지 않으면 <code>&lt;expr2&gt;</code>를 반환합니다.</p></td></tr><tr><td>예</td><td><pre xml:space="preserve">IFNULL([Assigned Room], "TBD")</pre><p><i>"Assigned Room 필드가 null이 아닌 경우 해당 값을 반환합니다. Assigned Room 필드가 null인 경우 대신 TBD를 반환합니다."</i></p></td></tr><tr><td>참고</td><td><p><a href="#ISNULL" class="xref">ISNULL</a>과 비교하십시오. <code>IFNULL</code>은 항상 값을 반환합니다. <code>ISNULL</code>은 부울(true 또는 false)을 반환합니다.</p><p><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>구문</td><td><code><b>IIF</b>(&lt;test&gt;, &lt;then&gt;, &lt;else&gt;, [&lt;unknown&gt;])</code></td></tr><tr><td>출력</td><td>식에 있는 값의 데이터 유형에 따라 다릅니다.</td></tr><tr><td>정의</td><td>조건이 충족되는지 확인하고(<code>&lt;test&gt;</code>) 테스트가 참이면 <code>&lt;then&gt;</code>을 반환하고, 테스트가 거짓이면 <code>&lt;else&gt;</code>를 반환하며, 테스트가 null이면 <code>&lt;unknown&gt;</code>에 대한 선택적 값을 반환합니다. 선택적 unknown이 지정되지 않은 경우 <code>IIF</code>가 null을 반환합니다.</td></tr><tr><td>예</td><td><pre xml:space="preserve">IIF([Season] = 'Summer', 'Sandals', 'Other footwear')</pre><p><i>"Season = Summer이면 Sandals을 반환합니다. 그렇지 않은 경우 Other footwear를 반환합니다."</i></p><pre xml:space="preserve">IIF([Season] = 'Summer', 'Sandals', <br>   IIF('Season' = 'Winter', 'Boots',  'Other footwear')<br>)</pre><p><i>"Season = Summer이면 Sandals을 반환합니다. 그렇지 않으면 옆의 식을 봅니다. Season = Winter이면 Boots를 반환합니다. 둘 다 참이 아니면 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>"Season = Summer이면 Sandals을 반환합니다. 그렇지 않으면 옆의 식을 봅니다. Season = Winter이면 Boots를 반환합니다. 식 중 어느 것도 참이 아니면 Sneakers를 반환합니다."</i></p></td></tr><tr><td>참고</td><td><p>또한 <a href="#IF" class="xref">IF</a> 및 <a href="#CASE" class="xref">CASE</a>를 참조하십시오.</p><p><code>IIF</code>에는 <code>ELSEIF</code>(예: <code>IF</code>) 또는 반복되는 <code>WHEN</code> 절(예: <code>CASE</code>)과 상응하는 것이 없습니다. 대신 <code>IIF</code> 문을 <code>&lt;unknown&gt;</code> 요소로 중첩하여 여러 테스트를 순차적으로 평가할 수 있습니다. 가장 바깥쪽에 있는 첫 번째 true가 반환됩니다.</p><p>즉, 아래 계산에서는 A=A가 true로 평가되자마자 식 평가가 중지되므로 결과는 Orange가 아닌 Red가 됩니다.</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>구문</td><td><code>&lt;expr1&gt; IN &lt;expr2&gt;</code></td></tr><tr><td>출력</td><td>부울(true 또는 false)</td></tr><tr><td>정의</td><td><code>&lt;expr1&gt;</code>의 값이 <code>&lt;expr2&gt;</code>의 값 중 하나와 일치하는 경우 <code>TRUE</code>를 반환합니다.</td></tr><tr><td>예</td><td><pre xml:space="preserve">SUM([Cost]) IN&nbsp;(1000, 15, 200)</pre><p><i>"Cost 필드의 값이 1000, 15 또는 200입니까?"</i></p><pre xml:space="preserve">[Field] IN&nbsp;[Set]</pre><p><i>"Field의 값이 Set에 존재합니까?"</i></p></td></tr><tr><td>참고</td><td><p><code>&lt;expr2&gt;</code>의 값은 집합, 리터럴 값의 목록 또는 결합된 필드일 수 있습니다.</p><p><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>구문</td><td><code>ISDATE(string)</code></td></tr><tr><td>출력</td><td>부울(true 또는 false)</td></tr><tr><td>정의</td><td><code>&lt;string&gt;</code>이 유효한 날짜이면 true를 반환합니다. 입력 식은 문자열(텍스트) 필드여야 합니다.</td></tr><tr><td>예</td><td><pre xml:space="preserve">ISDATE("2018-09-22")</pre><p><i>"2018-09-22 문자열이 올바른 형식의 날짜입니까?"</i></p></td></tr><tr><td>참고</td><td><p>유효한 날짜로 간주되는 날짜는 계산을 평가하는 시스템의 <a href="https://help.tableau.com/current/server/ko-kr/lang_intro.htm" target="_blank">로캘</a>에 따라 다릅니다. 예를 들면 다음과 같습니다.</p><p>미국의 경우:</p><ul><li><code>ISDATE("2018-09-22") = TRUE</code></li><li><code>ISDATE("2018-22-09") = FALSE</code></li></ul><p>영국의 경우: </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>구문</td><td><code>ISNULL(expression)</code></td></tr><tr><td>출력</td><td>부울(true 또는 false)</td></tr><tr><td>정의</td><td><p><code>&lt;expression&gt;</code>이 NULL인 경우(유효한 데이터를 포함하지 않는 경우) true를 반환합니다.</p></td></tr><tr><td>예</td><td><pre xml:space="preserve">ISNULL([Assigned Room])</pre><p><i>"Assigned Room 필드가 null입니까?"</i></p></td></tr><tr><td>참고</td><td><p><a href="#IFNULL" class="xref">IFNULL</a>과 비교하십시오. <code>IFNULL</code>은 항상 값을 반환합니다. <code>ISNULL</code>은 부울을 반환합니다.</p><p><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>구문</td><td><code>MAX(expression)</code> 또는 <code>MAX(expr1, expr2)</code></td></tr><tr><td>출력</td><td>인수와 동일한 데이터 유형이거나, 인수의 일부가 null인 경우 <code>NULL&nbsp;</code>값이 출력됩니다.</td></tr><tr><td>정의</td><td><p>두 인수의 최대값을 반환합니다(두 인수가 동일한 데이터 유형이어야 함).</p><p><code>MAX</code> 함수를 단일 필드에 집계로 적용할 수도 있습니다.</p></td></tr><tr><td>예</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>참고</td><td><p><b>문자열의 경우</b></p><p><code>MAX</code>는 일반적으로 사전순으로 마지막에 오는 값입니다.</p><p class="note">데이터베이스 데이터 원본의 경우 <code>MAX</code> 문자열 값은 데이터베이스가 해당 열에 정의한 정렬 순서에서 가장 높은 값을 찾습니다.</p><p><b>날짜의 경우</b></p><p>날짜의 경우 <code>MAX</code>는 가장 최근 날짜입니다. <code>MAX</code>가 집계인 경우 결과에 날짜 계층 구조가 없습니다. <code>MAX</code>가 비교인 경우 결과에 날짜 계층 구조가 유지됩니다.</p><p><b>집계 형식</b></p><p><code>MAX(expression)</code>는 집계 함수이며 단일 집계 결과를 반환합니다. 이는 비주얼리제이션에서 <code>AGG(expression)</code>와 같이 표시됩니다.</p><p><b>비교 형식</b></p><p><code>MAX(expr1, expr2)</code>는 두 값을 비교하여 행 수준 값을 반환합니다.</p><p><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>구문</td><td><code>MIN(expression)</code> 또는 <code>MIN(expr1, expr2)</code></td></tr><tr><td>출력</td><td>인수와 동일한 데이터 유형이거나, 인수의 일부가 null인 경우 <code>NULL&nbsp;</code>값이 출력됩니다.</td></tr><tr><td>정의</td><td><p>두 인수의 최소값을 반환합니다(두 인수가 동일한 데이터 유형이어야 함).</p><p><code>MIN </code>함수를 단일 필드에 집계로 적용할 수도 있습니다.</p></td></tr><tr><td>예</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>참고</td><td><p><b>문자열의 경우</b></p><p><code>MIN</code>은 일반적으로 사전순으로 맨 처음 나타나는 값입니다.</p><p class="note">데이터베이스 데이터 원본의 경우 <code>MIN</code> 문자열 값은 데이터베이스가 해당 열에 정의한 정렬 순서에서 가장 낮은 값을 찾습니다.</p><p><b>날짜의 경우</b></p><p>날짜의 경우 <code>MIN</code>은 가장 이른 날짜입니다. <code>MIN</code>가 집계인 경우 결과에 날짜 계층 구조가 없습니다. <code>MIN</code>가 비교인 경우 결과에 날짜 계층 구조가 유지됩니다.</p><p><b>집계 형식</b></p><p><code>MIN(expression)</code>는 집계 함수이며 단일 집계 결과를 반환합니다. 이는 비주얼리제이션에서 <code>AGG(expression)</code>와 같이 표시됩니다.</p><p><b>비교 형식</b></p><p><code>MIN(expr1, expr2)</code>는 두 값을 비교하여 행 수준 값을 반환합니다.</p><p><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>구문</td><td><code>NOT&nbsp;&lt;expression&gt;</code></td></tr><tr><td>출력</td><td>부울(true 또는 false)</td></tr><tr><td>정의</td><td>식에 대한 논리 부정을 수행합니다.</td></tr><tr><td>예</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>"Season이 Summer와 같지 않으면 Don't wear sandals를 반환합니다. 그렇지 않은 경우 Wear sandals를 반환합니다."</i></p></td></tr><tr><td>참고</td><td><p>경우에 따라 <a href="#IF" class="xref">IF</a> 및 <a href="#IIF" class="xref">IIF</a>와 함께 사용됩니다. 또한 <a href="#top" class="xref">AND</a> 및 <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>구문</td><td><code>&lt;expr1&gt; OR &lt;expr2&gt;</code></td></tr><tr><td>출력</td><td>부울(true 또는 false)</td></tr><tr><td>정의</td><td>두 식에 대한 논리합을 수행합니다.</td></tr><tr><td>예</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>"(Season = Spring) 또는 (Season = Fall)이 참인 경우 Sneakers를 반환합니다."</i></p></td></tr><tr><td>참고</td><td><p>경우에 따라 <a href="#IF" class="xref">IF</a> 및 <a href="#IIF" class="xref">IIF</a>와 함께 사용됩니다. 또한 <a href="#top" class="xref">AND</a> 및 <a href="#NOT" class="xref">NOT</a>을 참조하십시오.</p><p>식이 하나라도 <code>TRUE</code>이면 결과는 <code>TRUE</code>입니다. 두 식이 모두 <code>FALSE</code>이면 결과는 <code>FALSE</code>입니다. 두 식이 모두 <code>NULL</code>이면 결과는 <code>NULL</code>입니다.</p><p><code>OR</code> 비교의 결과가 워크시트에 표시되는 계산을 만드는 경우 Tableau에 TRUE 및 FALSE가 표시됩니다. 이 설정을 변경하려면 서식 대화 상자의 형식 영역을 사용합니다.</p><p class="note"><b>참고</b>:&nbsp;<code>OR</code> 연산자는 <em>단락 평가</em>를 사용합니다. 즉, 첫 번째 식이 <code>TRUE</code>로 평가되면 두 번째 식은 평가되지 않습니다. 이 기능은 첫 번째 식이 <code>TRUE</code>이고 두 번째 식에서 오류가 발생하는 경우에 유용할 수 있습니다. 이 경우 두 번째 식은 평가되지 않기 때문입니다.</p></td></tr></tbody></table>

### THEN

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>구문</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>정의</td><td>특정 값이나 테스트가 true인 경우 반환할 결과를 정의하는 데 사용되는 <code>IF</code>, <code>ELSEIF</code> 또는 <code>CASE</code> 식의 필수 부분입니다.</td></tr><tr><td>예</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>"Season = Summer이면 Sandals을 반환합니다. 그렇지 않으면 옆의 식을 봅니다. Season = Winter이면 Boots를 반환합니다. 두 식 중 어느 것도 참이 아니면 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>"Season 필드를 보십시오. 값이 Summer이면 Sandals를 반환합니다. 값이 Winter이면 Boots를 반환합니다. 계산의 옵션 중 Season 필드의 옵션과 일치하는 것이 없으면 Sneakers를 반환합니다."</i></i></p></td></tr><tr><td>참고</td><td><p><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> 및 <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>구문</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>정의</td><td><code>CASE</code> 식의 필수 부분입니다. <code>&lt;expression&gt;</code>과 일치하는 첫 번째 <code>&lt;value&gt;</code>를 찾고 해당 <code>&lt;then&gt;</code>을 반환합니다.</td></tr><tr><td>예</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>"Season 필드를 보십시오. 값이 Summer이면 Sandals를 반환합니다. 값이 Winter이면 Boots를 반환합니다. 계산의 옵션 중 Season 필드의 옵션과 일치하는 것이 없으면 Sneakers를 반환합니다."</i></p></td></tr><tr><td>참고</td><td><p><a href="#CASE" class="xref">CASE</a>, <a href="#THEN" class="xref">THEN</a>, <a href="#ELSE" class="xref">ELSE</a> 및 <a href="#END" class="xref">END</a>와 함께 사용됩니다.</p><p><code>CASE</code>는 다음과 같은 <code>WHEN IN</code> 구성도 지원합니다.</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><code>WHEN IN</code>에서 비교하는 값은 집합, 리터럴 값의 목록 또는 결합된 필드여야 합니다. <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>구문</td><td><code>ZN(expression)</code></td></tr><tr><td>출력</td><td><code>&lt;expression&gt;</code>의 데이터 유형에 따라 달라지거나 0입니다.</td></tr><tr><td>정의</td><td>null이 아니면 &lt;expression&gt;을 반환하고, 그렇지 않으면 0을 반환합니다.</td></tr><tr><td>예</td><td><pre xml:space="preserve">ZN([Test Grade])</pre><p><i>"test grade가 null이 아닌 경우 해당 값을 반환합니다. test grade가 null이면 0을 반환합니다."</i></p></td></tr><tr><td>참고</td><td><p><code>ZN</code>은 식이 null인 경우 계산에 지정되지 않고 항상 0이 되는 <a href="#IFNULL" class="xref">IFNULL</a>의 특수한 경우입니다.</p><p><code>ZN</code>은 추가 계산을 수행할 때 특히 유용하며 null은 전체 계산을 null로 렌더링합니다. 그러나 이러한 결과에서 null이 항상 0을 의미하는 것은 아니며 누락된 데이터를 나타낼 수 있으므로 해석할 때는 주의해야 합니다.</p><p><a href="#ISNULL" class="xref">ISNULL</a>도 참조하십시오.</p></td></tr></tbody></table>  

**참고**: 일부는 실제로 논리 연산자이며 파란색이 아니라 검은색으로 표시됩니다. 자세한 내용은 [연산자 구문](https://help.tableau.com/current/public/desktop/ko-kr/functions_operators.htm#Operators)을 참조하십시오.

CASE, IF 및 IIF에 대한 참고 사항

CASE는 보통 IF 또는 IIF보다 사용하기가 쉽습니다. 대부분의 경우 IF, IIF 및 CASE를 같은 의미로 사용할 수 있습니다. 일반적으로 CASE 함수가 더 간결하고 이해하기 쉽지만 CASE 문은 항상 IF 문으로 다시 작성할 수 있습니다. 그러나 각 ELSEIF가 다른 필드를 참조할 수 있으므로 일부 IF 문은 CASE 문으로 작성할 수 없습니다.

**팁**: 이 세 가지 함수에서 동일한 논리를 사용하는 예를 비교해 보겠습니다.  

<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 구조는 매우 간단하고 작성법과 이해가 쉽습니다. 단, 식(여기서는 [Region])은 IF나 IIF와 달리 논리 연산이 될 수 없습니다.</p><p>Null은 IF와 마찬가지로 CASE에서도 동일하게 처리됩니다.</p></td><td><p>IF THEN 구조에서는 여러 ELSEIF 절을 허용하므로 IIF보다 여러 평가를 훨씬 쉽게 수행할 수 있습니다.</p><p><b>Null 처리</b>: 알 수 없는(null) 결과는 동일한 ELSE 절에 의해 false 결과로 처리됩니다. 여기에서는 지정된 4개 Region(null 포함) 이외의 Region에는 값 5가 할당됩니다.</p></td><td><p>IIF 구조는 알 수 없는 결과를 false 결과와 다르게 처리하며 IF와는 다른 구문을 갖습니다. 특정 Null 처리의 단점은 위와 같이 중첩되어 작성법과 이해가 어려울 수 있다는 것입니다.</p><p><b>Null 처리</b>: 지정된 4개 이외의 null이 아닌 Region에는 값 5가 할당되지만 null 값에는 0이 할당됩니다.</p></td></tr></tbody></table>

**참고**: 그룹을 여러 번 사용하여 복잡한 CASE 함수와 동일한 결과를 얻을 수 있습니다. 한 옵션이 다른 옵션보다 성능이 더 좋은지 테스트해 보십시오.

### 예

CASE 함수는 다음과 같은 시나리오에 유용할 수 있습니다.

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

또는 [매개 변수](https://www.tableau.com/ko-kr/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

## 논리 계산 만들기

아래의 단계를 수행하여 논리 계산을 만드는 방법을 배워 보십시오.

1. Tableau Desktop에서 Tableau와 함께 제공된 **샘플 – 슈퍼스토어**라는 저장된 데이터 원본에 연결합니다.
2. 워크시트로 이동합니다.
3. **데이터** 패널에서 State(시/도)를 행 선반에 끌어 놓습니다.
4. **데이터** 패널에서 Category(범주)를 행 선반으로 끌어 State(시/도) 오른쪽에 놓습니다.
5. **데이터** 패널에서 Sales(매출)를 열 선반에 끌어 놓습니다.
6. 분석 > 계산된 필드 만들기를 선택합니다.
7. 계산 에디터가 열리면 다음을 수행합니다.
    - 계산된 필드의 이름을 KPI로 지정합니다.
    - 다음 수식을 입력합니다.
        
        SUM(\[Profit\]) > 0
        
        이 계산은 멤버가 0보다 큰지 빠르게 확인합니다. 0보다 큰 경우 true를 반환하고 그렇지 않으면 false를 반환합니다.
    - 작업을 마쳤으면 **확인**을 클릭합니다.

새 계산된 필드가 데이터 패널의 측정값 아래에 나타납니다. 다른 필드와 마찬가지로, 하나 이상의 비주얼리제이션에서 이 필드를 사용할 수 있습니다.

9. **데이터** 패널에서 **KPI**를 마크 카드의 **색상**으로 끌어 놓습니다.
    
    이제 각 주에서 손해가 발생한 범주를 확인할 수 있습니다.
    
    ![각 시/도에서 손실을 보고 있는 제품 범주를 하이라이트하기 위해 막대 차트에 적용된 논리 함수입니다.](/tableau/current/ko-kr/public/desktop/ko-kr/Img/logicalfunctions1.png)

## 참고 항목

[KPI(Key Progress Indicator) 시각화](https://help.tableau.com/current/public/desktop/ko-kr/kpi.htm)

[Tableau의 함수](https://help.tableau.com/current/public/desktop/ko-kr/functions.htm)

[Tableau 함수(범주별)](https://help.tableau.com/current/public/desktop/ko-kr/functions_all_categories.htm)

[Tableau 함수(사전순)](https://help.tableau.com/current/public/desktop/ko-kr/functions_all_alphabetical.htm)