다음을 통해 공유


모델 디자이너 함수

보고서 모델 디자이너 함수를 사용하여 새 특성을 계산할 수 있습니다. 예를 들어 판매 주문당 총 매출액을 구하려는 경우 이 값은 판매액에 주문에 대해 지불한 세금을 더한 금액입니다. Add 함수를 사용하면 각 주문에 대해 지불한 세금에 각 판매 총액을 더할 수 있습니다. 아래 표에서는 사용 가능한 함수 및 이러한 함수의 요구 사항과 동작에 대해 설명합니다.

스칼라 함수

스칼라 함수를 사용하면 단일 인수에 대해 계산을 수행하여 필드에 새로운 단일 값을 반환할 수 있습니다.

함수 이름 인수 데이터 형식 카디널리티 설명

Add

Item1

Numeric

1

첫 번째 가산수입니다.

Item2

Numeric

1

두 번째 가산수입니다.

Return

항목 중 하나가 Float이면 데이터 형식은 Float이고 항목 중 하나가 Decimal이면 데이터 형식은 Decimal이며 그렇지 않은 경우는 모두 Integer입니다.

Subtract

Item1

Numeric

1

피감수입니다.

Item2

Numeric

1

감수입니다.

Return

항목 중 하나가 Float이면 데이터 형식은 Float이고 항목 중 하나가 Decimal이면 데이터 형식은 Decimal이며 그렇지 않은 경우는 모두 Integer입니다.

Multiply

Item1

Numeric

1

첫 번째 곱수입니다.

Item2

Numeric

1

두 번째 곱수입니다.

Return

항목 중 하나가 Float이면 데이터 형식은 Float이고 항목 중 하나가 Decimal이면 데이터 형식은 Decimal이며 그렇지 않은 경우는 모두 Integer입니다.

Divide

Item1

Numeric

1

피제수입니다.

Item2

Numeric

1

제수입니다.

Return

항목 중 하나가 Float이면 데이터 형식이 Float이고 그렇지 않은 경우는 모두 Decimal입니다.

Power

Base

Numeric

1

거듭제곱할 밑수입니다.

Exponent

Numeric

1

지수입니다.

Return

항목 중 하나가 Float이면 데이터 형식은 Float이고 항목 중 하나가 Decimal이면 데이터 형식은 Decimal이며 그렇지 않은 경우는 모두 Integer입니다.

Negate

Item

Numeric

1

부정입니다.

Return

데이터 형식은 Item의 데이터 형식과 같습니다.

Mod

Item1

Integer

1

피제수입니다.

Item2

Integer

1

제수입니다.

Return

Integer

나누기의 나머지입니다.

Equals

Item1

Boolean, DateTime, Integer, Decimal, Float, String 또는 EntityKey

1

첫 번째 비교입니다.

Item2

1

두 번째 비교입니다. Item1과 Item2의 데이터 형식은 동일해야 합니다.

Return

Boolean

항목이 동일한지 여부를 나타냅니다.

NotEquals

Item1

Boolean, DateTime, Integer, Decimal, Float, String 또는 EntityKey

1

첫 번째 비교입니다.

Item2

1

두 번째 비교입니다. Item1과 Item2의 데이터 형식은 동일해야 합니다.

Return

Boolean

항목이 다른지 여부를 나타냅니다.

GreaterThan

Item1

DateTime, Integer, Decimal, Float 또는 String

1

첫 번째 비교입니다.

Item2

1

두 번째 비교입니다. Item1과 Item2의 데이터 형식은 동일해야 합니다.

Return

Boolean

첫 번째 항목이 두 번째 항목보다 큰지 여부를 나타냅니다.

GreaterThanOrEquals

Item1

DateTime, Integer, Decimal, Float 또는 String

1

첫 번째 비교입니다.

Item2

1

두 번째 비교입니다. Item1과 Item2의 데이터 형식은 동일해야 합니다.

Return

Boolean

첫 번째 항목이 두 번째 항목보다 크거나 같은지 여부를 나타냅니다.

LessThan

Item1

DateTime, Integer, Decimal, Float 또는 String

1

첫 번째 비교입니다.

Item2

1

두 번째 비교입니다. Item1과 Item2의 데이터 형식은 동일해야 합니다.

Return

Boolean

첫 번째 항목이 두 번째 항목보다 작은지 여부를 나타냅니다.

LessThanOrEquals

Item1

DateTime, Integer, Decimal, Float 또는 String

1

첫 번째 비교입니다.

Item2

1

두 번째 비교입니다. Item1과 Item2의 데이터 형식은 동일해야 합니다.

Return

Boolean

첫 번째 항목이 두 번째 항목보다 작거나 같은지 여부를 나타냅니다.

And

Item1

Boolean

1

첫 번째 조건입니다.

Item2

Boolean

1

두 번째 조건입니다. Item1이 False이면 Item2를 계산하지 않습니다.

Return

Boolean

Item1과 Item2가 모두 true이면 반환 값은 true입니다.

Or

Item1

Boolean

1

첫 번째 조건입니다.

Item2

Boolean

1

두 번째 조건입니다. Item1이 true이면 Item2를 계산하지 않습니다.

Return

Boolean

Item1 또는 Item2 중 하나가 true이면 반환 값은 true입니다.

Not

Item

Boolean

1

부정할 조건입니다.

Return

Boolean

항목이 false이면 반환 값은 true입니다.

Truncate

Item

Decimal 또는 Float

1

자를 항목입니다.

Digits

Integer

1

항목에서 자를 소수점 이하 자릿수입니다. 예를 들어 3을 지정하면 소수점 이하 3번째 자릿수 이후 항목이 잘립니다.

Return

반환 값 데이터 형식은 잘린 항목의 데이터 형식과 같습니다.

Round

Item

Decimal 또는 Float

1

반올림입니다.

Digits

Integer

1

항목에서 반올림할 소수점 이하 자릿수입니다. 예를 들어 3을 지정하면 소수점 이하 3번째 자릿수로 항목이 반올림됩니다.

Return

반환 값 데이터 형식은 반올림된 항목의 데이터 형식과 같습니다.

Integer

Item

Numeric 또는 String

1

형변환할 항목입니다. 보고서 작성기에서 Integer는 함수 탭에 INT로 나열되어 있습니다.

Return

Integer

Integer로 형변환할 항목입니다. 항목이 숫자 값이면 잘립니다. 숫자 문자열 형변환에는 고정 로캘이 사용됩니다. 마침표는 소수 구분 기호입니다. 천 단위 구분에 사용되는 쉼표는 사용할 수 없습니다.

Decimal

Item

Numeric 또는 String

1

형변환할 항목입니다.

Return

Decimal

Decimal로 형변환할 항목입니다.

Float

Item

Numeric 또는 String

1

형변환할 항목입니다.

Return

Float

Float로 형변환할 항목입니다.

String

Item

Numeric

1

형변환할 항목입니다. 보고서 작성기에서 String은 함수 탭에 TEXT로 나열되어 있습니다.

Return

String

String으로 형변환할 항목입니다.

Length

String

String

1

길이 확인에 사용할 문자열입니다.

Return

Integer

문자열의 길이이며 문자열 내 문자 수로 지정됩니다.

Find

String

String

1

검색하는 문자열에 포함된 문자열입니다.

Substring

String

1

검색할 부분 문자열입니다.

Return

Integer

문자열 내에서 부분 문자열이 처음으로 나타나는 위치입니다. 부분 문자열이 없으면 0이 반환됩니다.

Substring

String

String

1

부분 문자열을 추출할 문자열입니다.

Start

Integer

1

1부터 시작하는 문자열 내 시작 위치입니다.

Length

Integer

1

문자 개수입니다.

Return

String

Start에서 Start+Length 사이의 문자를 포함하는 문자열에서 추출한 부분 문자열입니다.

Left

String

String

1

가장 왼쪽 문자를 가져올 문자열입니다.

Length

Integer

1

문자 개수입니다.

Return

String

1에서 Length 사이의 문자를 포함하는 문자열의 부분 문자열입니다.

Right

String

String

1

가장 오른쪽 문자를 가져올 문자열입니다.

Length

Integer

1

문자 개수입니다.

Return

String

Length(String)-Length+1에서 Length(String) 사이 문자열의 부분 문자열입니다.

Concat

String1

String

1

연결할 첫 번째 문자열입니다.

String2

String

1

연결할 두 번째 문자열입니다.

Return

String

첫 번째 문자열의 끝에 연결된 두 번째 문자열입니다.

Lower

String

String

1

소문자로 변환할 문자열입니다.

Return

String

모두 대문자가 소문자로 변환된 문자열입니다.

Upper

String

String

1

대문자로 변환할 문자열입니다.

Return

String

모두 소문자가 대문자로 변환된 문자열입니다.

LTrim

String

String

1

선행 공백을 지울 문자열입니다.

Return

String

모든 선행 공백이 제거된 문자열입니다.

RTrim

String

String

1

후행 공백을 지울 문자열입니다.

Return

String

후행 공백이 제거된 문자열입니다.

Replace

String

String

1

포함된 특정 부분 문자열을 모두 다른 부분 문자열로 바꿀 문자열입니다.

Find

String

1

검색할 부분 문자열입니다.

Replace

String

1

Find 문자열을 바꿀 부분 문자열입니다.

Return

String

모든 Find가 Replace로 바뀐 문자열입니다.

Date

Year

Integer

1

날짜의 연도입니다.

Month

Integer

1

날짜의 월(1-12)입니다.

Day

Integer

1

지정된 월 및 연도의 유효한 일(1-31)입니다.

Return

DateTime

지정된 년, 월, 일의 날짜/시간(00:00:00)입니다.

DateTime

Year

Integer

1

날짜의 연도입니다.

Month

Integer

1

날짜의 월(1-12)입니다.

Day

Integer

1

지정된 월 및 연도의 유효한 일(1-31)입니다.

Hour

Integer

1

시간에서 시(0-23)입니다.

Minute

Integer

1

시간에서 분(0-59)입니다.

Second

Decimal

1

시간에서 초(0-60)입니다.

Return

DateTime

지정된 년, 월, 일, 시, 분, 초의 날짜/시간입니다.

Year

DateTime

DateTime

1

연도를 추출할 날짜입니다.

Return

Integer

날짜/시간의 연도입니다.

Quarter

DateTime

DateTime

1

사분기를 추출할 날짜입니다.

Return

Integer

날짜/시간의 사분기(1-4)입니다.

Month

DateTime

DateTime

1

월을 추출할 날짜입니다.

Return

Integer

날짜/시간의 월(1-12)입니다.

Day

DateTime

DateTime

1

일을 추출할 날짜입니다.

Return

Integer

날짜/시간의 일(1-31)입니다.

Hour

DateTime

DateTime

1

시를 추출할 날짜입니다.

Return

Integer

날짜/시간의 시(0-23)입니다.

Minute

DateTime

DateTime

1

분을 추출할 날짜입니다.

Return

Integer

날짜/시간의 분(0-59)입니다.

Second

DateTime

DateTime

1

초를 추출할 날짜입니다.

Return

Integer

날짜/시간의 초(0-60)입니다.

DayofYear

DateTime

DateTime

1

연간 일자를 추출할 날짜입니다.

Return

Integer

날짜/시간의 연간 일자(1-366)입니다.

Week

DateTime

DateTime

1

주를 추출할 날짜입니다.

Return

Integer

날짜/시간의 주(1-53)입니다. 시작 요일은 의미 체계 모델의 culture에 연결된 기본 시작 요일에 의해 결정됩니다.

DayofWeek

DateTime

DateTime

1

요일을 추출할 날짜입니다.

Return

Integer

날짜/시간의 요일(1-7)입니다. 값은 월요일=1로 시작하여 일요일=7로 끝납니다.

Date

DateTime

DateTime

1

시간을 제거할 날짜입니다. 보고서 작성기에서 이 Date 함수는 함수 탭에 DATEONLY로 나열되어 있습니다.

Return

Integer

시간(00:00:00)이 삭제된 날짜/시간입니다.

Now

Return

DateTime

현재 날짜/시간입니다. Now는 정적 함수입니다.

Today

Return

DateTime

시간(00:00:00)이 삭제된 현재 날짜/시간입니다. Today는 정적 함수입니다.

DateDiff

Interval

String

1

날짜 차이를 지정하는 데 사용되는 단위입니다. Year, Quarter, Month, Day, Hour, Minute, Second 또는 Week 중 하나를 사용해야 합니다. 리터럴이어야 합니다.

Start

DateTime

1

시작 날짜/시간입니다.

End

DateTime

1

끝 날짜/시간입니다.

Return

Integer

간격에 지정한 단위로 나타낸 시작 날짜/시간과 끝 날짜/시간의 차이입니다. 시작 날짜/시간이 끝 날짜/시간 이후이면 결과는 음수입니다.

DateAdd

Interval

String

1

날짜 덧셈을 지정하는 데 사용되는 단위입니다. Year, Quarter, Month, Day, Hour, Minute, Second 또는 Week 중 하나를 사용해야 합니다. 리터럴이어야 합니다.

Number

Integer

1

날짜/시간에 더할 간격 단위 수입니다.

DateTime

DateTime

1

더할 날짜/시간입니다.

Return

DateTime

원래 날짜/시간에 지정한 간격 단위 수를 더한 날짜/시간입니다.

집계 함수

집계 함수를 사용하면 값 집합 또는 단일 값에 대해 계산을 수행한 다음 식에 대해 단일 값을 반환할 수 있습니다.

함수 이름 인수 데이터 형식 카디널리티 설명

Sum

Items

Numeric

N

합계를 구할 항목입니다.

Return

1

모든 항목 값의 합계입니다. 반환 값의 데이터 형식은 항목 데이터 형식과 같습니다.

Avg

Items

Numeric

N

평균을 구할 항목입니다. 보고서 작성기에서 Avg는 함수 탭에 AVERAGE로 나열되어 있습니다.

Return

1

Null이 아닌 항목 값에 대한 평균입니다. 항목이 Decimal 또는 Integer이면 데이터 형식은 Decimal이고 그렇지 않은 경우는 모두 Float입니다.

Max

Items

DateTime, Integer, Decimal, Float 또는 String

N

최대값을 확인하기 위해 정렬된 항목입니다.

Return

1

Null이 아닌 항목 값 중 최대값입니다. 반환 값의 데이터 형식은 항목 데이터 형식과 같습니다.

Min

Items

DateTime, Integer, Decimal, Float 또는 String

N

최소값을 확인하기 위해 정렬된 항목입니다.

Return

1

Null이 아닌 항목 값 중 최소값입니다. 반환 값의 데이터 형식은 항목 데이터 형식과 같습니다.

Count

Items

임의

N

수를 셀 항목입니다.

Return

Integer

1

Null이 아닌 항목 값 수입니다.

CountDistinct

Items

임의

N

수를 셀 항목입니다. 항목의 데이터 형식은 EntityKey가 될 수 없습니다.

Return

Integer

1

Null이 아닌 고유한 항목 값 수입니다.

StDev

Items

Numeric

N

표준 편차를 구하는 데 사용할 항목입니다.

Return

Float

1

Null이 아닌 항목 값의 표준 편차입니다.

StDevP

Items

Numeric

N

모집단 표준 편차를 구하는 데 사용할 항목입니다.

Return

Float

1

Null이 아닌 항목 값의 모집단 표준 편차입니다.

Var

Items

Numeric

N

분산을 구하는 데 사용할 항목입니다.

Return

Float

1

Null이 아닌 항목 값의 분산입니다.

VarP

Items

Numeric

N

모집단 분산을 구하는 데 사용할 항목입니다.

Return

Float

1

Null이 아닌 항목 값의 모집단 분산입니다.

정보 함수

정보 함수를 사용하면 사용자에 대한 기본 정보를 얻을 수 있습니다.

함수 이름 인수 데이터 형식 카디널리티 설명

GetUserID

Return

String

1

사용자 ID입니다. GetUserID는 정적 함수입니다.

GetUserCulture

Return

Language

1

사용자의 언어 또는 로캘입니다. GetUserCulture는 정적 함수입니다.

기타 함수

위에 설명된 함수 이외에도 SMDL(Semantic Model Definition Language)에는 다음과 같은 함수가 사용됩니다.

함수 이름 인수 데이터 형식 카디널리티 설명

Filter

Filter Items

임의

N

필터링할 값입니다. 항목을 필터링하려면 필터 대화 상자를 사용합니다.

Filter Condition

Boolean

1

해당 항목을 포함시킬지 여부를 나타냅니다.

Return

N

반환된 값의 데이터 형식은 Filter Items의 데이터 형식과 같습니다.

In

Item

Boolean, DateTime, Integer, Decimal, Float, String 또는 EntityKey

1

집합의 멤버인지 여부를 확인할 항목입니다.

Set

N

경로가 없는 리터럴 식이어야 합니다. Item과 Set의 데이터 집합이 같아야 합니다.

Return

Boolean

1

항목이 집합에 포함되어 있는지 여부를 나타냅니다.

If

Condition

Boolean

1

테스트할 조건입니다.

TrueCase

임의

1

조건이 True인 경우 반환할 값입니다. 조건이 False이면 TrueCase를 계산하지 않습니다. EntityKey 데이터 형식일 수 없습니다.

FalseCase

임의

1

조건이 False인 경우 반환할 값입니다. FalseCase의 값 데이터 형식은 TrueCase의 값 데이터 형식과 같아야 합니다. 조건이 True이면 FalseCase를 계산하지 않습니다.

Return

1

데이터 형식은 TrueCase의 데이터 형식과 같아야 합니다.

Switch

Condition1

Boolean

1

테스트할 조건입니다. 스위치에는 0개 이상의 추가 조건/값 쌍을 지정할 수 있습니다.

Value1

임의

1

Condition1이 True인 경우 반환할 값입니다.

Condition/N

Boolean

1

테스트할 조건입니다. 이전 조건 중 하나라도 True이면 계산하지 않습니다.

Value/N

Boolean

1

Condition/N이 True인 경우 반환할 값입니다. Value1과 동일한 데이터 형식이어야 합니다. Condition/N이 계산되지 않았거나 Condition/N이 False인 경우 계산하지 않습니다.

Return

Boolean

1

데이터 형식은 Value1의 데이터 형식과 같습니다. 모든 조건이 False이면 Null을 반환합니다.

Evaluate

Expression

임의

N

계산할 식입니다. 이 함수는 식을 계산할 엔터티 컨텍스트를 제어하는 데 사용됩니다. 예를 들어 다음 식에서는 고객이 주문한 각 제품의 가격 평균을 구합니다.

Avg([customer->order->product]Price)

다음 식에서는 제품 엔터티에서 가져온 각 고객 주문의 총액 평균을 구합니다.

Avg([customer->order]Evaluate([order->product]Price))

계산 위치에 따라 집계의 고유성이 달라질 수 있는 위치가 경로에 여러 개 존재하며 Evaluate를 독립적으로 여러 번 사용할 수 있습니다. 다음 식은 각 제품이 여러 제조업체에서 생산될 수 있는 모델에서 Evaluate를 독립적으로 여러 번 사용한 예입니다.

Average([customer->order]Evaluate([order->product]Evaluate([product->manufacturer->city]population)))

Return

N

데이터 형식은 Expression의 데이터 형식과 같습니다.

Aggregate

Expression

임의

N

계산할 집계 식입니다. 이 함수는 집계를 계산할 엔터티 컨텍스트를 제어하는 데 사용됩니다. Order 엔터티에 정의된 TotalSales 특성을 예로 들면 주문 측면에서 총 매출액을 보여 주는 식은 TotalSales이고 고객 측면에서 총 매출액을 계산하는 식은 다음과 같습니다.

Aggregate([customer->order]TotalSales)

식 인수에는 고정되지 않은 식이 포함되어 있어야 합니다. 또는 가장 안쪽 통과 인수에 고정되지 않은 ExpressionNode가 있고 모든 데이터 형식을 사용하는 중첩 통과 함수가 하나 이상 포함되어 있어야 합니다. 예를 들면 다음과 같습니다.

Aggregate([customer->order]Filter([order->product]Sum(UnitPrice),=(Shipped, "True"))

Return

1

데이터 형식은 Expression의 데이터 형식과 같습니다.

참고 항목

개념

모델 디자이너 개체 속성
모델 디자이너 쿼리 속성
모델 디자이너 데이터 형식
함수 사용(보고서 작성기)

도움말 및 정보

SQL Server 2005 지원 받기