모델 디자이너 함수
보고서 모델 디자이너 함수를 사용하여 새 특성을 계산할 수 있습니다. 예를 들어 판매 주문당 총 매출액을 구하려는 경우 이 값은 판매액에 주문에 대해 지불한 세금을 더한 금액입니다. 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의 데이터 형식과 같습니다. |
참고 항목
개념
모델 디자이너 개체 속성
모델 디자이너 쿼리 속성
모델 디자이너 데이터 형식
함수 사용(보고서 작성기)