함수

표현식에서는 여러 유형의 함수를 사용할 수 있습니다.

항목:

분석 함수

분석 함수를 사용하면 예측, 추세선 및 클러스터와 같은 모델을 사용하여 데이터를 탐색할 수 있습니다. 또는 분석 함수를 워크북 편집기로 끌어 놓을 수도 있습니다.

또는 워크북 편집기의 데이터 패널에 있는 분석 탭에서 예측, 추세선 및 클러스터를 선택하여 워크북에 추가할 수도 있습니다. 시각화에 통계 분석 추가을(를) 참조하십시오.

함수 설명 구문

CLUSTER

CLUSTER((product, company), (billed_quantity, revenue), 'clusterName', 'algorithm=k-means;numClusters=%1;maxIter=%2;useRandomSeed=FALSE;enablePartitioning=TRUE', 5, 10)

K-평균 또는 계층형 클러스터화를 사용하여 하나 이상의 입력 표현식을 기반으로 레코드 집합을 그룹별로 수집합니다.

CLUSTER((dimension_expr1 , ... dimension_exprN), (expr1, ... exprN), output_column_name, options, [runtime_binded_options])

FORECAST

일별 매출 예측 예

이 예에서는 일별 매출 예측을 선택합니다.

FORECAST("A - Sample Sales"."Base Facts"."1- Revenue" Target,
("A - Sample Sales"."Time"."T00 Calendar Date"),'forecast', 'numPeriods=30;predictionInterval=70;') ForecastedRevenue

연도 및 분기별 매출 예측 예

이 예에서는 연도 및 분기별 매출 예측을 선택합니다.

FORECAST("A - Sample Sales"."Base Facts"."1- Revenue",
("A - Sample Sales"."Time"."T01 Year" timeYear, "A - Sample Sales"."Time"."T02 Quarter" TimeQuarter),'forecast', 'numPeriods=30;predictionInterval=70;') ForecastedRevenue

ETS(지수 평활법) 또는 계절성 ARIMA나 ARMIA를 사용하여 계열에 대해 지정된 측정항목의 시계열 모델을 생성합니다. 이 함수는 numPeriods 인수에서 지정된 대로 일련의 기간에 대한 예측을 출력합니다.

아래의 추가 FORECAST 함수 옵션도 참조하십시오.

FORECAST(measure, ([series]), output_column_name, options,[runtime_binded_options])])

설명:

  • measure는 예측할 측정항목(예: 매출 데이터)을 나타냅니다.

  • series는 예측 모델 구축에 사용된 시간 단위를 나타냅니다. 계열은 하나 이상의 시간 차원 열이 포함된 목록입니다. series를 생략하면 질의에서 시간 그레인이 결정됩니다.

  • output_column_nameforecast, low, highpredictionInterval의 적합한 열 이름을 나타냅니다.

  • options는 세미콜론(;)으로 구분된 이름/값 쌍의 문자열 목록을 나타냅니다. 값에는 runtime_binded_options에 지정된 %1 ... %N이 포함될 수 있습니다.

  • runtime_binded_options는 콤마로 구분된 열 및 옵션 목록을 나타냅니다. 해당 열 및 옵션에 대한 값은 개별 질의 실행 시간 중 평가 및 해결됩니다.

아래의 추가 FORECAST 함수 옵션도 참조하십시오.

OUTLIER

OUTLIER((product, company), (billed_quantity, revenue), 'isOutlier', 'algorithm=kmeans')

K-평균, 계층 클러스터화 또는 다변량 이상값 감지 알고리즘을 사용해서 하나 이상의 입력 표현식을 기반으로 레코드를 이상값으로 분류합니다.

OUTLIER((dimension_expr1 , ... dimension_exprN), (expr1, ... exprN), output_column_name, options, [runtime_binded_options])

REGR

REGR(revenue, (discount_amount), (product_type, brand), 'fitted', '')

선형 모델을 조정하고 조정된 값 또는 모델을 반환합니다. 이 함수를 사용하여 두 가지 측정항목에 대한 선형 곡선을 조정할 수 있습니다.

REGR(y_axis_measure_expr, (x_axis_expr), (category_expr1, ..., category_exprN), output_column_name, options, [runtime_binded_options])

TRENDLINE

TRENDLINE(revenue, (calendar_year, calendar_quarter, calendar_month) BY (product), 'LINEAR', 'VALUE')

시각화를 볼 때 통계 추가 속성을 사용하여 추세 라인을 적용하는 것이 좋습니다. 시각화 속성 조정을 참조하십시오.

선형, 다항식 또는 지수 모델을 조정하고 조정된 값 또는 모델을 반환합니다. numeric_expr은 추세에 대한 Y 값을 나타내고 series(시간 열)는 X 값을 나타냅니다.

TRENDLINE(numeric_expr, ([series]) BY ([partitionBy]), model_type, result_type)

FORECAST 함수 옵션 다음 표에서는 FORECAST 함수와 함께 사용 가능한 옵션을 나열합니다.

옵션 이름 설명
numPeriods 정수 예측할 기간 수입니다.
predictionInterval 0-100(값이 클수록 높은 신뢰도 지정) 예측에 대한 신뢰도 레벨입니다.
modelType

ETS(지수 평활법)

SeasonalArima

ARIMA

예측에 사용할 모델입니다.
useBoxCox

TRUE

FALSE

TRUE인 경우 Box-Cox 변환을 사용합니다.
lambdaValue 해당 사항 없음

Box-Cox 변환 매개변수입니다.

NULL인 경우 또는 useBoxCoxFALSE인 경우 무시됩니다.

그렇지 않은 경우 모델이 예측되기 전에 데이터가 변환됩니다.

trendDamp

TRUE

FALSE

지수 평활 모델과 관련이 있습니다.

TRUE인 경우 감쇠 추세를 사용합니다. FALSE 또는 NULL인 경우 비감쇠 추세를 사용합니다.

errorType

해당 사항 없음

지수 평활 모델과 관련이 있습니다.
trendType

N(없음)

A(더하기)

M(곱하기)

Z(자동 선택됨)

지수 평활 모델과 관련이 있습니다.
seasonType

N(없음)

A(더하기)

M(곱하기)

Z(자동 선택됨)

지수 평활 모델과 관련이 있습니다.
modelParamIC

ic_auto

ic_aicc

ic_bic

ic_auto(기본값)

모델 선택에서 사용되는 IC(정보 기준)입니다.

변환 함수

변환 함수는 값을 한 형식에서 다른 형식으로 변환합니다.

함수 예제 설명 구문

CAST

CAST(hiredate AS CHAR(40)) FROM employee

표현식 또는 널 리터럴의 데이터 유형을 다른 데이터 유형으로 변경합니다. 예를 들어, customer_name(데이터 유형 CHAR 또는 VARCHAR)을 birthdate(날짜/시간 리터럴)로 변환할 수 있습니다.

CAST를 사용하여 Date 데이터 유형을 변경할 수 있습니다.

TODATE를 사용하지 마십시오.

CAST(expr AS type)

IFNULL

IFNULL(Sales, 0)

표현식이 널 값으로 평가되는지 여부를 테스트합니다. 표현식이 널 값으로 평가되는 경우 지정한 값을 표현식에 지정합니다.

IFNULL(expr, value)

INDEXCOL

SELECT INDEXCOL(VALUEOF (NQ_SESSION.GEOGRAPHY_LEVEL), Country, State, City), Revenue FROM Sales

외부 정보를 사용하여 사인인된 사용자가 볼 수 있는 적합한 열을 반환합니다.

INDEXCOL([integer literal], [expr1] [, [expr2], ?-])

NULLIF

SELECT e.last_name, NULLIF(e.job_id, j.job_id) "Old Job ID" FROM employees e, job_history j WHERE e.employee_id = j.employee_id ORDER BY last_name, "Old Job ID";

두 표현식을 비교합니다. 두 표현식이 같으면 함수가 NULL을 반환합니다. 두 표현식이 같지 않으면 함수가 첫번째 표현식을 반환합니다. 첫번째 표현식에 대해서는 리터럴 NULL을 지정할 수 없습니다.

NULLIF([expression], [expression])

To_DateTime

SELECT To_DateTime ('2009-03-0301:01:00', 'yyyy-mm-dd hh:mi:ss') FROM sales

DateTime 형식의 문자열 리터럴을 DateTime 데이터 유형으로 변환합니다.

To_DateTime([expression], [literal])

VALUEOF

SalesSubjectArea.Customer.Region = VALUEOF("Region Security"."REGION")

필터에서 의미 모델 변수의 값을 참조합니다.

expr 변수를 VALUEOF 함수의 인수로 사용합니다. 정적 의미 모델 변수를 이름으로 참조합니다.

VALUEOF(expr)

날짜 추출 함수

이 함수는 시간기록 값을 시, 일, 주, 월, 분기와 같은 가장 가까운 지정된 기간으로 계산하거나 내림합니다.

계산된 시간기록에서 다른 그레인을 사용하여 데이터를 집계할 수 있습니다. 예를 들어, EXTRACTDAY() 함수를 판매 주문 날짜에 적용하여 주문이 발생한 일자의 자정 시간기록을 계산할 수 있으므로 일별 데이터를 집계할 수 있습니다.

함수 예제 설명 구문

일 추출

EXTRACTDAY("Order Date")
  • 2/22/1967 3:02:01 AM2/22/1967 12:00:00 AM을 반환합니다.
  • 9/2/2022 10:38:21 AM9/2/2022 12:00:00 AM을 반환합니다.

입력 값이 발생한 일자의 자정(12 AM) 시간기록을 반환합니다. 예를 들어, 입력 시간기록이 2월 22일 3:02:01 AM인 경우 함수는 2월 22일 12:00:00 AM 시간기록을 반환합니다.

EXTRACTDAY(expr)

시 추출

EXTRACTHOUR("Order Date")
  • 2/22/1967 3:02:01 AM2/22/1967 3:00:00 AM을 반환합니다.
  • 6/17/1999 11:18:30 PM6/17/1999 11:00:00 PM을 반환합니다.

입력 값이 발생한 시의 시작 시간기록을 반환합니다. 예를 들어, 입력 시간기록이 11:18:30 PM인 경우 함수는 11:00:00 PM 시간기록을 반환합니다.

EXTRACTHOUR (expr)

일의 시 추출

EXTRACTHOUROFDAY("Order Date")
  • 2014/09/24 10:58:002000/01/01 10:00:00을 반환합니다.
  • 2014/08/13 11:10:002000/01/01 11:00:00을 반환합니다.

입력 값의 시와 동일한 시간기록을 반환하되 년, 월, 일, 분, 초에는 기본값을 사용합니다.

EXTRACTHOUROFDAY(expr)

밀리초 추출

EXTRACTMILLISECOND("Order Date")
  • 1997/01/07 15:32:02.1501997/01/07 15:32:02.150을 반환합니다.
  • 1997/01/07 18:42:01.2651997/01/07 18:42:01.265를 반환합니다.
입력 값의 밀리초를 포함하는 시간기록을 반환합니다. 예를 들어, 입력 시간기록이 15:32:02.150인 경우 함수는 15:32:02.150 시간기록을 반환합니다.

EXTRACTMILLISECOND(expr)

분 추출

EXTRACTMINUTE("Order Date")
  • 6/17/1999 11:18:00 PM6/17/1999 11:18:00 PM을 반환합니다.
  • 9/2/2022 10:38:21 AM9/2/2022 10:38:00 AM을 반환합니다.

입력 값이 발생한 분의 시작 시간기록을 반환합니다. 예를 들어, 입력 시간기록이 11:38:21 AM인 경우 함수는 11:38:00 AM 시간기록을 반환합니다.

EXTRACTMINUTE (expr)

월 추출

EXTRACTMONTH("Order Date")
  • 2/22/1967 3:02:01 AM2/1/1967 12:00:00 AM을 반환합니다.
  • 6/17/1999 11:18:00 PM6/1/1999 12:00:00 AM을 반환합니다.

입력 값이 발생한 월의 첫날 시간기록을 반환합니다. 예를 들어, 입력 시간기록이 2월 22일인 경우 함수는 2월 1일 시간기록을 반환합니다.

EXTRACTMONTH(expr)

분기 추출

EXTRACTQUARTER("Order Date")
  • 2/22/1967 3:02:01 AM은 첫번째 회계 분기의 첫날인 1/1/1967 12:00:00 AM을 반환합니다.
  • 6/17/1999 11:18:00 PM은 두번째 회계 분기의 첫날인 4/1/1999 12:00:00 AM을 반환합니다.

  • 9/2/2022 10:38:21 AM은 세번째 회계 분기의 첫날인 7/1/2022 12:00:00 AM을 반환합니다.

    팁: QUARTER (expr)을 사용하여 반환된 시간기록에서 서수 분기만 계산합니다.

입력 값이 발생한 분기의 첫날 시간기록을 반환합니다. 예를 들어, 입력 시간기록이 세번째 회계 분기에 발생한 경우 함수는 7월 1일 시간기록을 반환합니다.

EXTRACTQUARTER(expr)

초 추출

EXTRACTSECOND("Order Date")
  • 1997/01/07 15:32:02.1501997/01/07 15:32:02를 반환합니다.
  • 1997/01/07 20:44:18.1631997/01/07 20:44:18을 반환합니다.

입력 값의 시간기록을 반환합니다. 예를 들어, 입력 시간기록이 15:32:02.150인 경우 함수는 15:32:02 시간기록을 반환합니다.

EXTRACTSECOND(expr)

주 추출

EXTRACTWEEK("Order Date")
  • 2014/09/24 10:58:002014/09/21을 반환합니다.

  • 2014/08/13 11:10:002014/08/10을 반환합니다.

입력 값이 발생한 주의 첫날(일요일) 날짜를 반환합니다. 예를 들어, 입력 시간기록이 9월 24일 수요일인 경우 함수는 9월 21일 일요일 시간기록을 반환합니다.

EXTRACTWEEK(expr)

연도 추출

EXTRACTYEAR("Order Date")
  • 1967/02/22 03:02:011967/01/01 00:00:00을 반환합니다.
  • 1999/06/17 23:18:001999/01/01 00:00:00을 반환합니다.

입력 값이 발생한 연도의 1월 1일 시간기록을 반환합니다. 예를 들어, 입력 시간기록이 1967년에 발생한 경우 함수는 1967년 1월 1일 시간기록을 반환합니다.

EXTRACTYEAR (expr)

주제 영역에서 날짜 차원 사용에 관한 팁

다음은 계산에 주제 영역 날짜를 사용할 때 최상의 결과를 얻기 위한 몇 가지 팁입니다.

계산에 주제 영역 날짜 추가

주제 영역의 날짜를 계산으로 직접 끌어와서 문자열이나 정수로 처리하면 오류가 발생합니다. 이는 기본 날짜 값이 시간기록이기 때문에 발생합니다.

대신 날짜 추출 함수 중 하나를 사용하여 날짜를 해석합니다.

예를 들어, 다음 주제 영역 날짜가 있을 수 있습니다.
GUID-39C55B3A-A055-45D3-9904-948680247C08-default.png에 대한 설명이 이어집니다.
.png''

이 주제 영역 날짜에서 월을 추출하려면 ExtractMonthOfYear 함수를 사용합니다.

case when monthname(ExtractMonthOfYear("Date")) in ('Jan' ,'Feb', 'Mar') 
THEN 'Q1' 
ELSE 'Rest of the year' END

표시 함수

표시 함수는 질의의 결과 집합에서 작동합니다.

함수 예제 설명 구문

BottomN

BottomN(Sales, 10)

표현식의 가장 낮은 값 n개를 오름차순으로 반환합니다.

BottomN([NumericExpression], [integer])

FILTER

FILTER(Sales USING Product = 'widget')

제공된 사전 집계 필터를 사용하여 표현식을 계산합니다.

FILTER(measure USING filter_expr)

MAVG

MAVG(Sales, 10)

결과 집합에서 현재 행을 포함하여 데이터의 마지막 n행에 대한 이동 평균을 계산합니다.

MAVG([NumericExpression], [integer])

MSUM

SELECT Month, Revenue, MSUM(Revenue, 3) as 3_MO_SUM FROM Sales

현재 행을 포함하여 데이터의 마지막 n행에 대한 이동 합계를 계산합니다.

첫번째 행의 합계는 첫번째 행의 숫자 표현식과 같습니다. 두번째 행의 합계는 처음 2개 데이터 행의 합계를 구하여 계산하는 방식으로 계속합니다. n 번째 행에 도달하면 합계는 마지막 n개 데이터 행에 준하여 계산됩니다.

MSUM([NumericExpression], [integer])

NTILE

NTILE(Sales, 100)

사용자 지정 범위에 대한 값 순위를 결정합니다. 순위 범위를 나타낼 정수를 반환합니다. 샘플은 1~100의 범위를 보여줍니다(최저 판매 = 1, 최고 판매 = 100).

NTILE([NumericExpresssion], [integer])

PERCENTILE

PERCENTILE(Sales)

숫자 표현식 인수를 만족시키는 각 값의 퍼센트 순위를 계산합니다. 백분위수의 범위는 0(1번째 백분위수)에서 1(100번째 백분위수) 사이입니다.

PERCENTILE([NumericExpression])

RANK

RANK(Sales)

숫자 표현식 인수를 만족시키는 각 값의 순위를 계산합니다. 가장 큰 숫자가 1순위에 지정되며 다음 순위에는 각각 다음 연속 정수(2, 3, 4,...)가 지정됩니다. 특정 값이 같으면 동일한 순위가 지정됩니다(예: 1, 1, 1, 4, 5, 5, 7...).

RANK([NumericExpression])

RCOUNT

SELECT month, profit, RCOUNT(profit) FROM sales WHERE profit > 200

레코드 집합을 입력값으로 사용하여 지금까지 검색된 레코드 수를 계산합니다.

RCOUNT([NumericExpression])

RMAX

SELECT month, profit, RMAX(profit) FROM sales

레코드 집합을 입력값으로 사용하여 지금까지 검색된 레코드를 기반으로 최대값을 계산합니다. 지정된 데이터 유형은 순서를 지정할 수 있어야 합니다.

RMAX([NumericExpression])

RMIN

SELECT month, profit, RMIN(profit) FROM sales

레코드 집합을 입력값으로 사용하여 지금까지 검색된 레코드를 기반으로 최소값을 계산합니다. 지정된 데이터 유형은 순서를 지정할 수 있어야 합니다.

RMIN([NumericExpression])

RSUM

SELECT month, revenue, RSUM(revenue) as RUNNING_SUM FROM sales

지금까지 검색된 레코드에 대한 실행 합계를 계산합니다.

첫번째 행의 합계는 첫번째 행의 숫자 표현식과 같습니다. 두번째 행의 합계는 처음 2개 데이터 행의 합계를 구하여 계산하는 방식으로 계속합니다.

RSUM([NumericExpression])

TOPN

TOPN(Sales, 10)

표현식의 가장 높은 값 n개를 내림차순으로 반환합니다.

TOPN([NumericExpression], [integer])

표시 함수 사용에 관한 팁

  • FILTER - 주제 영역을 사용하여 보고서를 작성하는 경우, 계산에서 직접 계층 열을 필터링하는 대신 주제 영역에 정의된 계층을 사용합니다. 다시 말해서, 주제 영역에 Time\Fiscal Year\Fiscal Quarter 계층이 있는 경우 다음을 피하십시오.

    filter (<measure> using fiscal_quarter = 'Q4')

    filter (<measure> using fiscal_quarter = 'Q3')

    filter (<measure> using fiscal_year = 'FY24')

평가 함수

평가 함수는 표현식을 전달하여 고급 계산을 얻는 데 사용할 수 있는 데이터베이스 함수입니다.

내장된 데이터베이스 함수에는 하나 이상의 열이 필요할 수 있습니다. 해당 열은 함수 내에서 %1 ... %N으로 참조됩니다. 실제 열은 함수 다음에 나열되어야 합니다.

함수 예제 설명 구문

EVALUATE

SELECT EVALUATE('instr(%1, %2)', address, 'Foster City') FROM employees

평가를 위해 선택적으로 참조 열을 매개변수로 사용하여 지정된 데이터베이스 함수를 데이터베이스에 전달합니다.

EVALUATE([string expression], [comma separated expressions])

EVALUATE_AGGR

EVALUATE_AGGR('REGR_SLOPE(%1, %2)', sales.quantity, market.marketkey)

평가를 위해 선택적으로 참조 열을 매개변수로 사용하여 지정된 데이터베이스 함수를 데이터베이스에 전달합니다. 이 함수는 GROUP BY 절이 포함된 집계 함수에 사용됩니다.

EVALUATE_AGGR('db_agg_function(%1...%N)' [AS datatype] [, column1, columnN])

수학 함수

이 절에 설명된 수학 함수는 수학 연산을 수행합니다.

함수 예제 설명 구문

ABS

ABS(Profit)

숫자 표현식의 절대값을 계산합니다.

expr은 숫자 값으로 계산되는 표현식입니다.

ABS(expr)

ACOS

ACOS(1)

숫자 표현식의 역코사인을 계산합니다.

expr은 숫자 값으로 계산되는 표현식입니다.

ACOS(expr)

ASIN

ASIN(1)

숫자 표현식의 역사인을 계산합니다.

expr은 숫자 값으로 계산되는 표현식입니다.

ASIN(expr)

ATAN

ATAN(1)

숫자 표현식의 역탄젠트를 계산합니다.

expr은 숫자 값으로 계산되는 표현식입니다.

ATAN(expr)

ATAN2

ATAN2(1, 2)

y /x의 역탄젠트를 계산합니다. 여기서 y는 첫번째 숫자 표현식이고 x는 두번째 숫자 표현식입니다.

ATAN2(expr1, expr2)

CEILING

CEILING(Profit)

정수가 아닌 숫자 표현식을 다음으로 가장 큰 정수로 올림합니다. 숫자 표현식이 정수로 평가될 경우 CEILING 함수는 해당 정수를 반환합니다.

CEILING(expr)

COS

COS(1)

숫자 표현식의 코사인을 계산합니다.

expr은 숫자 값으로 계산되는 표현식입니다.

COS(expr)

COT

COT(1)

숫자 표현식의 코탄젠트를 계산합니다.

expr은 숫자 값으로 계산되는 표현식입니다.

COT(expr)

DEGREES

DEGREES(1)

표현식을 라디안에서 도 단위로 변환합니다.

expr은 숫자 값으로 계산되는 표현식입니다.

DEGREES(expr)

EXP

EXP(4)

값을 지정된 거듭제곱으로 보냅니다. n번째 거듭제곱으로 제곱한 e를 계산합니다. 여기서 e는 자연 로그의 밑입니다.

EXP(expr)

ExtractBit

Int ExtractBit(1, 5)

특정 위치의 비트를 정수로 검색합니다. 함수는 비트 위치에 해당하는 0 또는 1 정수를 반환합니다.

ExtractBit([Source Number], [Digits])

FLOOR

FLOOR(Profit)

정수가 아닌 숫자 표현식을 다음으로 가장 작은 정수로 올림합니다. 숫자 표현식이 정수로 평가될 경우 FLOOR 함수는 해당 정수를 반환합니다.

FLOOR(expr)

LOG

LOG(1)

표현식의 자연 로그를 계산합니다.

expr은 숫자 값으로 계산되는 표현식입니다.

LOG(expr)

LOG10

LOG10(1)

표현식에서 기수가 10인 로그를 계산합니다.

expr은 숫자 값으로 계산되는 표현식입니다.

LOG10(expr)

MOD

MOD(10, 3)

첫번째 숫자 표현식을 두번째 숫자 표현식으로 나누고 몫의 나머지 부분을 반환합니다.

MOD(expr1, expr2)

PI

PI()

pi의 상수 값을 반환합니다.

PI()

POWER

POWER(Profit, 2)

첫번째 숫자 표현식을 입력값으로 사용하여 두번째 숫자 표현식에 지정된 거듭제곱으로 제곱합니다.

POWER(expr1, expr2)

RADIANS

RADIANS(30)

표현식을 도에서 라디안 단위로 변환합니다.

expr은 숫자 값으로 계산되는 표현식입니다.

RADIANS(expr)

RAND

RAND()

0에서 1 사이의 유사 난수를 반환합니다.

RAND()

RANDFromSeed

RAND(2)

시드 값 기반의 유사 난수를 반환합니다. 제공된 시드 값에 대해 동일한 난수 집합이 생성됩니다.

RAND(expr)

ROUND

ROUND(2.166000, 2)

숫자 표현식을 n 자릿수로 반올림합니다.

expr은 숫자 값으로 계산되는 표현식입니다.

integer는 전체 자릿수를 나타내는 양의 정수입니다.

ROUND(expr, integer)

SIGN

SIGN(Profit)

다음 값을 반환합니다.

  • 숫자 표현식이 양수로 평가되는 경우 1

  • 숫자 표현식이 음수로 평가되는 경우 -1

  • 숫자 표현식이 0으로 평가되는 경우 0

SIGN(expr)

SIN

SIN(1)

숫자 표현식의 사인을 계산합니다.

SIN(expr)

SQRT

SQRT(7)

숫자 표현식 인수의 제곱근을 계산합니다. 숫자 표현식은 음수가 아닌 숫자로 평가되어야 합니다.

SQRT(expr)

TAN

TAN(1)

숫자 표현식의 탄젠트를 계산합니다.

expr은 숫자 값으로 계산되는 표현식입니다.

TAN(expr)

TRUNCATE

TRUNCATE(45.12345, 2)

소수점에서 지정된 자릿수를 반환하도록 소수를 자릅니다.

expr은 숫자 값으로 계산되는 표현식입니다.

integer는 소수점 위치에서 오른쪽에 반환할 문자 수를 나타내는 양의 정수입니다.

TRUNCATE(expr, integer)

누적 집계 함수

누적 집계 함수는 다중 값에 연산을 수행하여 요약 결과를 생성합니다.

함수 설명 구문

MAVG

 

결과 집합에서 현재 행을 포함하여 데이터의 마지막 n행에 대한 이동 평균을 계산합니다.

expr은 숫자 값으로 계산되는 표현식이며, integer는 양의 정수입니다. 마지막 n개 데이터 행의 평균을 나타냅니다.

MAVG(expr, integer)

MSUM

select month, revenue, MSUM(revenue, 3) as 3_MO_SUM from sales_subject_area

현재 행을 포함하여 데이터의 마지막 n행에 대한 이동 합계를 계산합니다.

expr은 숫자 값으로 계산되는 표현식입니다. integer는 양의 정수입니다. 데이터 내 마지막 n개 행의 합계를 나타냅니다.

MSUM(expr, integer)

RSUM

SELECT month, revenue, RSUM(revenue) as RUNNING_SUM from sales_subject_area

지금까지 검색된 레코드에 대한 실행 합계를 계산합니다.

expr은 숫자 값으로 계산되는 표현식입니다.

RSUM(expr)

RCOUNT

select month, profit, RCOUNT(profit) from sales_subject_area where profit > 200

레코드 집합을 입력값으로 사용하여 지금까지 검색된 레코드 수를 계산합니다.

expr은 모든 데이터 유형의 표현식입니다.

RCOUNT(expr)

RMAX

SELECT month, profit,RMAX(profit) from sales_subject_area

레코드 집합을 입력값으로 사용하여 지금까지 검색된 레코드를 기반으로 최대값을 계산합니다.

expr은 모든 데이터 유형의 표현식입니다.

RMAX(expr)

RMIN

select month, profit,RMIN(profit) from sales_subject_area

레코드 집합을 입력값으로 사용하여 지금까지 검색된 레코드를 기반으로 최소값을 계산합니다.

expr은 모든 데이터 유형의 표현식입니다.

RMIN(expr)

공간 함수

공간 함수를 통해 데이터를 모델링할 때 지리적 분석을 수행할 수 있습니다. 예를 들어, 두 지리적 영역(모양 또는 다각형이라고 함) 사이의 거리를 계산할 수 있습니다.

주:

시각화 워크북의 경우 사용자정의 계산에 이러한 공간 함수를 사용할 수 없습니다.
함수 예제 설명 구문
GeometryArea

GeometryArea(Shape)

모양이 차지하는 면적을 계산합니다.

GeometryArea(Shape)

GeometryDistance

GeometryDistance(TRIP_START, TRIP_END)

두 모양 사이의 거리를 계산합니다.

GeometryDistance(Shape 1, Shape 2)

GeometryLength

GeometryLength(Shape)

모양의 원주를 계산합니다.

GeometryLength(Shape)

GeometryRelate

GeometryRelate(TRIP_START, TRIP_END)

한 모양이 다른 모양 안에 있는지 여부를 결정합니다. TRUE 또는 FALSE를 문자열(varchar)로 반환합니다.

GeometryRelate(Shape 1, Shape 2)

GeometryWithinDistance

GeometryWithinDistance(TRIP_START, TRIP_END, 500)

두 모양이 서로 지정된 거리 내에 있는지 여부를 결정합니다. TRUE 또는 FALSE를 문자열(varchar)로 반환합니다.

GeometryWithinDistance(Shape1, Shape2, DistanceInFloat)

문자열 함수

문자열 함수는 다양한 문자 조작을 수행하며, 문자열에서 작동합니다.

함수 예제 설명 구문

ASCII

ASCII('a')

단일 문자열을 0에서 255 사이의 해당 ASCII 코드로 변환합니다. 문자 표현식이 여러 문자로 평가되면 표현식의 첫 문자에 해당하는 ASCII 코드가 반환됩니다.

expr은 문자열로 계산되는 표현식입니다.

ASCII(expr)

BIT_LENGTH

BIT_LENGTH('abcdef')

지정된 문자열의 길이를 비트로 반환합니다. 각 Unicode 문자의 길이는 2바이트(16비트)입니다.

expr은 문자열로 계산되는 표현식입니다.

BIT_LENGTH(expr)

CHAR

CHAR(35)

0 - 255 범위의 숫자 값을 ASCII 코드에 해당하는 문자 값으로 변환합니다.

expr은 0에서 255 사이의 숫자 값으로 계산되는 표현식입니다.

CHAR(expr)

CHAR_LENGTH

CHAR_LENGTH(Customer_Name)

지정된 문자열의 길이를 문자 수로 반환합니다. 선행 및 후행 공백은 문자열 길이로 계산되지 않습니다.

expr은 문자열로 계산되는 표현식입니다.

CHAR_LENGTH(expr)

CONCAT

SELECT DISTINCT CONCAT ('abc', 'def') FROM employee

두 문자열을 연결합니다.

exprs는 콤마로 구분된 문자열로 계산되는 표현식입니다.

형식이 지정된 데이터가 아닌 원시 데이터를 CONCAT와 함께 사용해야 합니다.

CONCAT(expr1, expr2)

INSERT

SELECT INSERT('123456', 2, 3, 'abcd') FROM table

지정된 문자열을 다른 문자열의 지정된 위치에 삽입합니다.

expr1은 문자열로 계산되는 표현식입니다. 대상 문자열을 식별합니다.

integer1은 두번째 문자열을 삽입할 대상 문자열의 시작 부분에 있는 문자 수를 나타내는 양의 정수입니다.

integer2는 대상 문자열에서 두번째 문자열로 바꿀 문자 수를 나타내는 양의 정수입니다.

expr2는 문자열로 계산되는 표현식입니다. 대상 문자열에 삽입할 문자열을 식별합니다.

INSERT(expr1, integer1, integer2, expr2)

LEFT

SELECT LEFT('123456', 3) FROM table

문자열 왼쪽의 지정된 문자 수를 반환합니다.

expr은 문자열로 계산되는 표현식입니다.

integer는 문자열의 왼쪽에서 반환할 문자 수를 나타내는 양의 정수입니다.

LEFT(expr, integer)

LENGTH

LENGTH(Customer_Name)

지정된 문자열의 길이를 문자 수로 반환합니다. 후행 공백 문자를 제외한 길이가 반환됩니다.

expr은 문자열로 계산되는 표현식입니다.

LENGTH(expr)

LOCATE

LOCATE('d' 'abcdef')

다른 문자열에서 문자열의 숫자 위치를 반환합니다. 검색 중인 문자열에서 문자열을 찾을 수 없을 경우 함수는 0 값을 반환합니다.

expr1은 문자열로 계산되는 표현식입니다. 검색할 원본 문자열을 식별합니다.

expr2는 문자열로 계산되는 표현식입니다.

검색할 문자열을 식별합니다.

LOCATE(expr1, expr2)

LOCATEN

LOCATEN('d' 'abcdef', 3)

LOCATE와 마찬가지로, 다른 문자열에서 문자열의 숫자 위치를 반환합니다. LOCATEN에는 검색을 시작할 시작 위치를 지정할 수 있는 정수 인수가 포함되어 있습니다.

expr1은 문자열로 계산되는 표현식입니다. 검색할 원본 문자열을 식별합니다.

expr2는 문자열로 계산되는 표현식입니다. 검색할 문자열을 식별합니다.

integer는 문자열 조회를 시작할 시작 위치를 나타내는 0이 아닌 양의 정수입니다.

LOCATEN(expr1, expr2, integer)

LOWER

LOWER(Customer_Name)

문자열을 소문자로 변환합니다.

expr은 문자열로 계산되는 표현식입니다.

LOWER(expr)

OCTET_LENGTH

OCTET_LENGTH('abcdef')

지정된 문자열의 바이트 수를 반환합니다.

expr은 문자열로 계산되는 표현식입니다.

OCTET_LENGTH(expr)

POSITION

POSITION('d', 'abcdef')

문자 표현식에서 strExpr1의 숫자 위치를 반환합니다. strExpr1을 찾을 수 없으면 함수가 0을 반환합니다.

expr1은 문자열로 계산되는 표현식입니다. 대상 문자열에서 검색할 원본 문자열을 식별합니다. "d"를 예로 들 수 있습니다.

expr2는 문자열로 계산되는 표현식입니다. 검색할 대상 문자열을 식별합니다. "abcdef"를 예로 들 수 있습니다.

POSITION(expr1, expr2)

REPEAT

REPEAT('abc', 4)

지정된 표현식을 n번 반복합니다.

expr은 문자열로 계산되는 표현식입니다.

integer는 문자열을 반복할 횟수를 나타내는 양의 정수입니다.

REPEAT(expr, integer)

REPLACE

REPLACE('abcd1234', '123', 'zz')

지정된 문자 표현식에서 하나 이상의 문자를 하나 이상의 다른 문자로 바꿉니다.

expr1은 문자열로 계산되는 표현식입니다. 이 문자열은 교체할 문자가 들어 있는 문자열입니다.

expr2는 문자열로 계산되는 표현식입니다. 이 두번째 문자열은 바꿀 첫번째 문자열에서 문자를 식별합니다.

expr3은 문자열로 계산되는 표현식입니다. 이 세번째 문자열은 첫번째 문자열에 대체할 문자를 지정합니다.

REPLACE(expr1, expr2, expr3)

RIGHT

SELECT RIGHT('123456', 3) FROM table

문자열 오른쪽의 지정된 문자 수를 반환합니다.

expr은 문자열로 계산되는 표현식입니다.

integer는 문자열의 오른쪽에서 반환할 문자 수를 나타내는 양의 정수입니다.

RIGHT(expr, integer)

SPACE

SPACE(2)

공백을 삽입합니다.

integer는 삽입할 공백 수를 나타내는 양의 정수입니다.

SPACE(expr)

SUBSTRING

SUBSTRING('abcdef' FROM 2)

원본 문자열의 고정된 문자 수 이후부터 새 문자열을 생성합니다.

expr은 문자열로 계산되는 표현식입니다.

startPos는 문자열의 왼쪽 시작 부분에서부터 결과가 시작될 문자 수를 나타내는 양의 정수입니다.

SUBSTRING([SourceString] FROM [StartPostition])

SUBSTRINGN

SUBSTRING('abcdef' FROM 2 FOR 3)

SUBSTRING과 마찬가지로, 원본 문자열의 고정된 문자 수 이후부터 새 문자열을 생성합니다.

SUBSTRINGN에는 새 문자열의 길이를 문자 수로 지정할 수 있는 정수 인수가 포함되어 있습니다.

expr은 문자열로 계산되는 표현식입니다.

startPos는 문자열의 왼쪽 시작 부분에서부터 결과가 시작될 문자 수를 나타내는 양의 정수입니다.

SUBSTRING(expr FROM startPos FOR length)

TrimBoth

Trim(BOTH '_' FROM '_abcdef_')

문자열에서 지정된 선행 및 후행 문자를 제거합니다.

char은 단일 문자입니다. 이 문자(및 필수 작은 따옴표)를 생략하면 공백 문자가 기본값으로 사용됩니다.

expr은 문자열로 계산되는 표현식입니다.

TRIM(BOTH char FROM expr)

TRIMLEADING

TRIM(LEADING '_' FROM '_abcdef')

문자열에서 지정된 선행 문자를 제거합니다.

char은 단일 문자입니다. 이 문자(및 필수 작은 따옴표)를 생략하면 공백 문자가 기본값으로 사용됩니다.

expr은 문자열로 계산되는 표현식입니다.

TRIM(LEADING char FROM expr)

TRIMTRAILING

TRIM(TRAILING '_' FROM 'abcdef_')

문자열에서 지정된 후행 문자를 제거합니다.

char은 단일 문자입니다. 이 문자(및 필수 작은 따옴표)를 생략하면 공백 문자가 기본값으로 사용됩니다.

expr은 문자열로 계산되는 표현식입니다.

TRIM(TRAILING char FROM expr)

UPPER

UPPER(Customer_Name)

문자열을 대문자로 변환합니다.

expr은 문자열로 계산되는 표현식입니다.

UPPER(expr)

문자열 함수 사용에 관한 팁

다음은 워크북에서 문자열 함수를 사용할 때 최상의 결과를 얻기 위한 몇 가지 팁입니다.

여러 값 연결:

LISTAGG를 사용하여 여러 값을 하나의 셀과 하나의 행으로 연결합니다.

listagg(<column to concatenate> by <grouping column>)

결과 문자열이 너무 길면 on overflow truncate를 추가하고, 값이 고유하지 않으면 distinct를 추가합니다.

예를 들면 다음과 같습니다.

listagg(distinct City_ID by STATE on overflow truncate)

시스템 함수

USER 시스템 함수는 세션과 관련된 값을 반환합니다. 사인인할 때 사용한 사용자 이름을 예로 들 수 있습니다.

함수 설명 구문

DATABASE

 

로그온한 주제 영역의 이름을 반환합니다.

DATABASE()

USER

 

로그온한 의미 모델에 대한 사용자 이름을 반환합니다.

USER()

시계열 함수

시계열 함수는 시간 차원을 기반으로 데이터를 집계 및 예측하는 데 사용됩니다. 예를 들어, AGO 함수를 사용하여 1년 전의 매출을 계산할 수 있습니다.

시간 차원 멤버는 함수의 레벨 또는 그 아래의 레벨에 있어야 합니다. 이로 인해, 주어진 레벨 또는 그 아래의 멤버를 고유하게 식별하는 하나 이상의 열을 질의에 투영해야 합니다.

함수 예제 설명 구문

AGO

SELECT Year_ID, AGO(sales, year, 1)

과거의 지정된 기간 동안 측정항목의 집계된 값을 계산합니다. 예를 들어, 1년 전 월별 매출을 계산하려면 AGO(Revenue, Year, 1, SHIP_MONTH)를 사용합니다. 지난 분기의 분기별 매출을 계산하려면 AGO(Revenue, Quarter, 1)를 사용합니다.

AGO(MEASURE, TIME_LEVEL, OFFSET)

설명:

  • MEASURE는 계산할 측정항목(예: 매출)을 나타냅니다.
  • TIME_LEVEL은 시간 간격을 나타내며, 연도, 분기, 월, 주 또는 일이어야 합니다.
  • OFFSET은 다시 계산할 시간 간격 수(예: 1년의 경우 1)를 나타냅니다.

PERIODROLLING

SELECT Month_ID, PERIODROLLING (monthly_sales, -1, 1)

현재 시간부터 시작 x 시간 단위와 종료 y 시간 단위의 기간 동안 측정항목의 집계를 계산합니다. 예를 들어, PERIODROLLING을 사용하여 현재 분기 전의 분기에 시작해서 현재 분기 후의 분기에 끝나는 기간 동안 매출을 계산할 수 있습니다.

PERIODROLLING(measure, x [,y])

설명:

  • MEASURE는 측정항목 열의 이름을 나타냅니다.
  • X는 현재 시간으로부터의 오프셋을 나타내는 정수입니다.
  • Y는 함수가 계산될 시간 단위 수를 나타내는 정수입니다.
  • HIERARCHY는 시간 차원에서 시간 범위를 계산하는 데 사용할 계층 이름을 나타내는 선택적 인수(예: YR, MON, DAY)입니다.

TODATE

SELECT Year_ID, Month_ID, TODATE (sales, year)

일정 기간의 시작부터 최근 기간까지 측정항목의 집계된 값을 계산합니다(예: 연간 누계 계산).

예를 들어, 연간 누계 판매를 계산하려면 TODATE(sales, year)를 사용합니다.

TODATE(MEASURE, TIME_LEVEL)

설명:

  • MEASURE는 하나 이상의 측정항목 열을 참조하는 표현식(예: sales)을 나타냅니다.
  • TIME_LEVEL은 시간 간격을 나타내며, 연도, 분기, 월, 주 또는 일이어야 합니다.