다음을 통해 공유


수식 정의 대화 상자(보고서 작성기 3.0)

수식 정의 대화 상자를 사용하여 수식을 만들거나 수식이 포함된 새 필드를 만들 수 있습니다.

이 대화 상자에는 필드함수 탭이 있습니다.

  • 수식에 포함할 보고서 모델 내의 필드를 찾으려면 필드 탭을 사용합니다.

  • 수식에서 사용할 함수를 선택하려면 함수 탭을 사용합니다.

필드 탭의 옵션

  • 엔터티
    엔터티를 나열합니다. 필드 목록에 엔터티의 필드를 표시하려면 엔터티를 클릭합니다.

  • 필드
    엔터티의 필드를 나열합니다. 필드를 수식 텍스트 상자로 끌거나 필드를 두 번 클릭하여 수식 텍스트 상자에 추가할 수 있습니다.

  • 새 필드
    새 필드를 추가하려면 클릭합니다. 새 <엔터티 이름> 필드 값이 필드 이름에 나타납니다.

  • 필드 이름
    만드는 새 필드의 이름을 입력합니다.

  • 수식
    수식을 작성 및 편집하려면 사용합니다.

  • 검색
    검색 대화 상자를 시작하려면 클릭합니다.

  • 고급 모드
    엔터티 간 추가 관계를 표시하려면 클릭합니다. 이러한 관계를 통해 복잡한 쿼리를 작성할 수 있습니다. 고급 모드 단추를 클릭하면 세 가지 역할이 추가로 표시됩니다.

    • 역방향 역할. 역방향 역할은 원본 엔터티로 다시 돌아가는 관계를 표시합니다.

    • 조회 엔터티. 조회 엔터티는 필드 하나만 포함하는 역할입니다.

    • 선택한 엔터티의 직계 상위에서 상속되지만 현재 엔터티의 직계 상위가 아닌 엔터티

  • 여기까지 집계
    수식 텍스트 상자에 표시된 필드 이름을 두 번 클릭하면 주 엔터티와 필드 엔터티 간의 관계가 표시됩니다. 모델 경로의 임의의 위치에서 식에 집계를 적용하려면 클릭합니다.

  • 함수 바로 가기
    수식 텍스트 상자에 표시된 수식에 연산자를 추가하려면 클릭합니다. 수식 정의 대화 상자를 통해 가장 일반적으로 사용되는 함수에 대한 바로 가기를 사용할 수 있지만 이러한 연산자는 함수 탭에서도 선택할 수 있습니다. 다음은 각 바로 가기에 대한 설명입니다.

    +는 두 값을 더하는 데 사용합니다.

    -는 한 값에서 다른 값을 빼는 데 사용합니다.

    *는 두 값을 곱하는 데 사용합니다.

    /는 두 값을 나누는 데 사용합니다.

    &는 두 값을 연결하는 데 사용합니다.

    (는 계산을 시작하는 데 사용합니다.

    )는 계산을 끝내는 데 사용합니다.

  • 확장된 수식
    수식 텍스트 상자에 표시된 필드 이름을 두 번 클릭하면 주 엔터티와 필드 엔터티 간의 관계가 표시됩니다. 모델 경로의 임의의 위치에서 식에 필터를 적용할 수 있습니다.

    • 적용된 필터 없음을 클릭한 다음 새 필터 만들기를 클릭하여 필드의 새 필터를 만듭니다.

    • 필드에 이미 필터가 있으면 해당 필터를 클릭한 다음 필터 편집을 클릭합니다.

    • 기존 필터를 제거하려면 해당 필터를 클릭한 다음 제거를 클릭합니다.

  • 새 <엔터티 이름> 필드로 이 수식 저장
    수식을 필드로 추가하도록 지정하려면 이 확인란을 선택합니다.

함수 탭의 옵션

다음은 수식 정의 대화 상자의 함수 탭에 있는 각 함수에 대한 설명입니다.

집계

숫자 값의 범위를 요약하려면 다음 함수를 사용합니다.

  • SUM
    식에 포함된 모든 값의 합계를 반환합니다.

    구문

    SUM(aggregate)

    SUM은 숫자 값만 포함하는 필드와 함께 사용할 수 있습니다. Null 값은 무시됩니다.

  • AVERAGE
    식에 포함된 Null이 아닌 모든 값의 평균(산술 평균)을 반환합니다.

    구문

    AVERAGE(aggregate)

    AVERAGE는 숫자 값만 포함하는 필드와 함께 사용할 수 있습니다. Null 값은 무시됩니다.

  • MAX
    식의 최대값을 반환합니다.

    구문

    MAX(aggregate)

    문자 열의 경우 MAX는 데이터 정렬 순서에 따라 가장 높은 값을 찾습니다. Null 값은 무시됩니다.

  • MIN
    식의 최소값을 반환합니다.

    구문

    MIN(aggregate)

    문자 열의 경우 MIN은 데이터 정렬 순서에 따라 가장 낮은 값을 찾습니다. Null 값은 무시됩니다.

  • COUNT
    그룹에 포함된 Null이 아닌 항목 수를 반환합니다.

    구문

    COUNT(aggregate)

    COUNT는 항상 Int 데이터 형식 값을 반환합니다.

  • COUNTDISTINCT
    그룹에 포함된 Null이 아닌 고유 항목 수를 반환합니다.

    구문

    COUNTDISTINCT(aggregate)

  • STDEV
    항목의 Null이 아닌 값에 대한 표준 편차를 반환합니다.

    구문

    STDEV(aggregate)

  • STDEVP
    항목의 Null이 아닌 값에 대한 모집단 표준 편차를 반환합니다.

    구문

    STDEVP(aggregate)

  • VAR
    항목의 Null이 아닌 값에 대한 분산을 반환합니다.

    구문

    VAR(aggregate)

  • VARP
    항목의 Null이 아닌 값에 대한 모집단 분산을 반환합니다.

    구문

    VARP(aggregate)

조건부

조건을 테스트하려면 다음 함수를 사용합니다.

  • IF
    TRUE로 평가되는 조건을 지정하면 한 값을 반환하고 FALSE로 평가되는 조건을 지정하면 다른 값을 반환합니다.

    구문

    IF(condition, value_if_true, value_if_false)

    조건은 TRUE나 FALSE로 평가할 수 있는 식 또는 값이어야 합니다. True 값은 조건이 True인 경우 반환되는 값을 나타냅니다. False 값은 조건이 False인 경우 반환되는 값을 나타냅니다.

  • IN
    항목이 집합의 멤버인지 여부를 확인합니다.

    구문

    IN(item, set)

  • SWITCH
    식 목록을 평가하여 목록에서 True인 첫 번째 식과 연결된 식의 값을 반환합니다. 스위치는 하나 이상의 조건/값 쌍을 가질 수 있습니다.

    구문

    Switch(condition1, value1)

변환

값의 데이터 형식을 변환하려면 다음 함수를 사용합니다.

  • INT
    값을 정수로 변환합니다.

    구문

    INT(value)

  • DECIMAL
    값을 decimal 데이터 형식으로 변환합니다.

    구문

    DECIMAL(value)

  • FLOAT
    값을 float 데이터 형식으로 변환합니다.

    구문

    FLOAT(value)

  • TEXT
    숫자 값을 텍스트로 변환합니다.

    구문

    TEXT(value)

날짜 및 시간

날짜 또는 시간을 표시하려면 다음 함수를 사용합니다.

  • DATE
    년, 월, 일을 지정하면 오전 12시를 기준으로 날짜/시간 값을 반환합니다.

    구문

    DATE(year, month, day)

  • DATEONLY
    날짜/시간 값에서 년, 월, 일을 반환합니다.

    구문

    DATEONLY(datetime)

  • DATETIME
    년, 월, 일, 시, 분, 초를 지정하면 날짜/시간을 반환합니다.

    구문

    DATETIME(year, month, day, hour, minute, second)

  • YEAR
    날짜/시간에서 년 값을 반환합니다.

    구문

    YEAR(datetime)

  • QUARTER
    날짜/시간의 분기(1-4)를 반환합니다.

    구문

    QUARTER(datetime)

  • MONTH
    날짜/시간에서 월을 반환합니다.

    구문

    MONTH(datetime)

  • DAY
    날짜/시간에서 일을 추출합니다.

    구문

    DAY(datetime)

  • HOUR
    날짜/시간에서 시간을 추출합니다.

    구문

    HOUR(datetime)

  • MINUTE
    날짜/시간에서 분을 추출합니다.

    구문

    MINUTE(datetime)

  • SECOND
    날짜/시간에서 초를 추출합니다.

    구문

    SECOND(datetime)

  • WEEK
    연간 주의 숫자 값을 반환합니다.

    구문

    WEEK(datetime)

  • DAYOFWEEK
    월요일부터 시작하여 요일을 반환합니다. 월요일은 1이고 일요일은 7입니다.

    구문

    DAYOFWEEK(datetime)

  • NOW
    현재 날짜 및 시간을 반환합니다.

    구문

    NOW( )

  • TODAY
    현재 날짜를 반환합니다.

    구문

    TODAY( )

  • DATEDIFF
    시작 날짜/시간과 끝 날짜/시간 간 차이를 반환합니다.

    구문

    DATEDIFF(interval, datetime, datetime)

  • DATEADD
    원래 날짜/시간에 지정한 단위의 시간 간격을 더한 날짜/시간을 반환합니다.

    구문

    DATEADD(interval, units, datetime)

논리

조건의 논리를 테스트하려면 다음 함수를 사용합니다.

  • AND
    모든 인수가 TRUE이면 TRUE를 반환하고 하나 이상의 인수가 FALSE이면 FALSE를 반환합니다.

    구문

    AND(logical, logical)

    인수가 TRUE 또는 FALSE와 같은 논리 값으로 계산되거나 논리 값을 포함하는 배열 또는 참조여야 합니다. 배열 또는 참조 인수에 텍스트 또는 빈 셀이 포함되어 있는 경우 이러한 값은 무시됩니다.

  • OR
    하나 이상의 인수가 TRUE이면 TRUE를 반환하고 모든 인수가 FALSE이면 FALSE를 반환합니다.

    구문

    OR(logical, logical)

    인수가 TRUE 또는 FALSE와 같은 논리 값으로 계산되거나 논리 값을 포함하는 배열 또는 참조여야 합니다. 배열 또는 참조에 텍스트 또는 빈 셀이 포함되어 있는 경우 이러한 값은 무시됩니다.

  • NOT
    인수 값의 논리 결과를 반대로 바꾸어 반환합니다. 절이 특정 값과 같지 않도록 지정하려면 NOT을 사용합니다.

    구문

    NOT(logical)

    값이 FALSE이면 NOT은 TRUE를 반환하고 값이 TRUE이면 NOT은 FALSE를 반환합니다.

수치 연산

숫자 값을 조작하려면 다음 함수를 사용합니다.

  • MOD
    숫자를 제수로 나눈 후 나머지를 반환합니다. 제수는 0일 수 없습니다.

    구문

    MOD(number, divisor)

  • TRUNC
    숫자를 지정된 자릿수까지 자릅니다. 숫자가 양수이면 소수점 이하를 자릅니다. 숫자가 음수이면 소수점 왼쪽을 자릅니다.

    구문

    TRUNC(number, digits)

  • ROUND
    숫자를 지정된 자릿수로 반올림합니다.

    구문

    ROUND(number, digits)

    자릿수가 0보다 크면 숫자를 지정된 소수 자릿수로 반올림합니다. 자릿수가 0이면 숫자를 가까운 정수로 반올림합니다. 숫자가 0보다 작으면 소수점 왼쪽으로 반올림합니다.

연산자

산술 연산자

더하기, 빼기 또는 곱하기와 같은 기본 수치 연산을 수행하고, 숫자를 결합하고, 숫자 결과를 산출하려면 다음 연산자를 사용합니다. 함수 바로 가기에는 가장 일반적으로 사용되는 산술 연산자가 포함되어 있습니다.

  • +(더하기)
    둘 이상의 항목을 더하는 데 사용합니다.

    구문

    value + value

  • -(빼기)
    한 항목에서 다른 항목을 빼는 데 사용합니다.

    구문

    value - value

  • *(곱하기)
    항목을 곱하는 데 사용합니다.

    구문

    value * value

  • /(나누기)
    항목을 나누는 데 사용합니다. 제수는 0일 수 없습니다.

    구문

    value/divisor

  • -(부정)
    값의 부호를 변경합니다.

    구문

    -value

  • ^(지수)
    값의 거듭제곱(지수)을 구하는 데 사용합니다.

    구문

    value^power

  • =(같음)
    두 값을 같게 하는 데 사용합니다. value1이 value2와 같으면 true입니다.

    구문

    value1= value2

  • <> (같지 않음)
    두 값이 서로 같지 않은지 비교하는 데 사용합니다. 값1이 값2와 같지 않으면 True입니다.

    구문

    value1 <> value2

  • > (보다 큼)
    한 값이 다른 값보다 큰지 비교하는 데 사용합니다. 값1이 값2보다 크면 True입니다.

    구문

    value1 > value2

  • >=(크거나 같음)
    한 값이 다른 값보다 크거나 같은지 비교하는 데 사용합니다. 값1이 값2보다 크거나 같으면 True입니다.

    구문

    value1 >= value2

  • < (보다 작음)
    한 값이 다른 값보다 작은지 비교하는 데 사용합니다. 값1이 값2보다 작으면 True입니다.

    구문

    value1 < value2

  • <=(작거나 같음)
    한 값이 다른 값보다 작거나 같은지 비교하는 데 사용합니다. value1이 value2보다 작거나 같으면 true입니다.

    구문

    value1 <= value2

텍스트

텍스트를 조작하려면 다음 함수를 사용합니다.

  • CONCAT (&)
    두 문자열을 하나로 결합합니다. 첫 번째 문자열에 두 번째 문자열이 추가됩니다.

    구문

    string & string

  • FIND
    지정한 부분 문자열이 문자열 내에서 처음 나타나는 위치를 반환합니다.

    구문

    FIND(string, substring)

  • LEFT
    문자열의 가장 왼쪽부터 지정된 길이만큼의 문자를 반환합니다. 함수 내의 길이 인수에 대해 0보다 작은 값을 지정하는 경우 동작이 정의되지 않았습니다.

    구문

    LEFT(string, length)

  • LENGTH
    문자열의 문자 수를 반환합니다.

    구문

    LENGTH(string)

  • LOWER
    문자열의 대문자를 소문자로 변환합니다.

    구문

    LOWER(string)

  • LTRIM
    선행 공백을 제거하고 문자열을 반환합니다.

    구문

    LTRIM(string)

  • REPLACE
    지정한 부분 문자열을 문자열에서 찾아 지정한 다른 부분 문자열로 모두 바꾼 후 문자열을 반환합니다.

    구문

    REPLACE(find, replace, string)

  • RIGHT
    문자열의 가장 오른쪽부터 지정된 길이만큼의 문자를 반환합니다. 함수 내의 길이 인수에 대해 0보다 작은 값을 지정하는 경우 동작이 정의되지 않았습니다.

    구문

    RIGHT(string, length)

  • RTRIM
    후행 공백을 제거하고 문자열을 반환합니다.

    구문

    RTRIM(string)

  • TEXT
    숫자 값을 문자열로 변환합니다.

    구문

    TEXT(value)

  • SUBSTRING
    문자열의 부분 문자열을 반환합니다. 함수 내의 길이 인수에 대해 0보다 작은 값을 지정하는 경우 동작이 정의되지 않았습니다.

    구문

    SUBSTRING(string, start, length)

  • UPPER
    문자열의 소문자를 대문자로 변환합니다.

    구문

    UPPER(string)

정보

사용자에 대한 전역 정보를 반환하려면 다음 함수를 사용합니다.

  • GETUSERID
    사용자가 데이터 액세스에 사용하는 ID를 반환합니다.

    구문

    GETUSERID()

  • GETUSERCULTURE
    사용자의 언어 또는 로캘을 반환합니다.

    Syntax

    GETUSERCULTURE()