분석항목 / 데이터 항목을 신규로 작성하고, 데이터 값을 정의할 때 사용합니다.
수식 편집기
① 계산 필드 이름 ② 수식 편집 함수 표시 창 ③ 수식 작성 창 ④ 함수 도움말 창
1) 제공 정보
- 계산식 정의를 위한 필드정보, 함수, 연산자들의 목록을 제공
- Fomula 창에서 계산 수식을 정의
- 선택한 항목(필드정보, 함수, 연산자)에 대한 도움말 제공
2) 수식 편집기 사용 메뉴
- [ 팝업메뉴 ] - [ 디자인 ] - [ 필드] - [ 데이터 ] - [ 수식 ]
수식 편집기 함수
구분 | 함수명 | 설명 | 반환타입 | 사용법 |
Condition | IF | 조건 검사를 수행하여 참이면 trueValue를 반환하고, 거짓이면 falseValue를 반환합니다. | Object | IF( 1 > 2 , "1은 2보다 크다" , "1은 2보다 작다") |
SWITCH | 모든 조건이 거짓 일 경우 마지막 default 값이 반환됩니다. 조건 n 개에 대해 순차적으로 검사하여 가장 처음으로 참인 조건의 값을 반환합니다. | Object | Switch( ToString(getRecordValue([PRODUCT])) == "BW1000" , Sum([H_VAL]) , ToString(getRecordValue([PRODUCT])) == "BW2000" , Sum([Y_VAL]) , Sum([Q_VAL]) ) | |
Convertor | ToString | 해당 값을 문자열로 변환 합니다, 포멧은 수치형 포멧 및 일자형 포멧을 사용하실 수 있습니다. 포멧은 생략하실 수 있습니다. | String | ToString(value, [string format]) ToString(123456789, "#,##0") -> 123,456,789 ToString( 0.12 , "P2") -> "12.00 %“ ToString( 123456.789 , "#,###.###") -> "123,456.000" |
ToNumber | 해당 값을 숫자형으로 변환 합니다. | Double | ToNumber(value) ToNumber("123") -> 123 ToNumber( "123.12" , 0) -> 123.12 ToNumber( "Matrix" , 0) -> 0 | |
ToDate | 해당 값을 날짜형으로 변환 합니다. | DateTime | ToDate(value, [string format]) ToDate(new Date(), "yyyy-MM-dd") -> 2020-12-31 | |
Logical | AND | 여러 조건 값들에 대한 AND 연산 합니다. | Boolean | AND(boolean, boolean, …) IF ( AND( true, 1==1 , "Korea" == "Korea") , 1 , 0) -> 1 |
OR | 여러 조건 값들에 대한 OR 연산 합니다. | Boolean | OR(boolean, boolean, …) IF ( OR( 1==2 , "Korea" == "Korea") , 1 , 0) =>1 | |
InNull | 검사 대상 값이 null 값인지 여부를 반환합니다 | Boolean | IsNull(value) IsNull( 100 ) => false IsNull( "Korea" ) => false | |
IsBool | 검사대상 값이 Boolean 타입여부를 반환 합니다. | Boolean | IsBool(value) IsBool(1) => false IsBool(true) => true IsBool(false) => true | |
IsNumber | 검사대상 값이 숫자면 True 반환 합니다 | Boolean | IsNumber(value) IsNumber( "100" ) => false IsNumber( 100 ) => true IsNumber( "Korea" ) => false | |
IsString | 검사대상 값이 문자열이면 True 반환 합니다. | Boolean | IsString(value) IsString("Korea") => true IsString(null) => false | |
IsDateTime | 검사대상 값이 날짜 면 True 반환 합니다. | Boolean | IsDateTime(value) IsDateTime(DATE(2013, 12,12)) => true IsDateTime( "2013-12-12" ) => false | |
Character | Left | 원본 문자열에서 좌측으로부터 n개 만큼의 길이를 가지는 새로운 문자열을 반환합니다. | String | Left( "Hello Matrix", 1) -> "H“ |
Right | 원본 문자열에서 우측으로부터 n개 만큼의 길이를 가지는 새로운 문자열을 반환합니다. | String | Right( "Hello Matrix", 6) -> "Matrix“ | |
Len | 전달받은 문자열의 길이를 반환합니다. | Integer | Len( "Hello Matrix") -> 12 | |
Lower | 전달받은 문자열을 소문자로 변환한 문자열을 반환합니다. | String | Lower( "Hello Matrix") -> "hello matrix" | |
Find | 원본 문자열의 특정 위치로부터 대상 문자열을 검색하여 해당 인덱스를 반환합니다. 검색 대상이 없을 경우 -1를 반환합니다. | String | Find("Hello Matrix", "Matrix", 0) -> 6 Find("Hello Matrix", "Kyoung", 0) -> -1 | |
Mid(Substring) | 원본 문자열의 특정 위치로부터 nCount만큼의 문자열을 반환합니다. Mid와 Substring는 동일한 함수입니다. | String | Mid("Hello Matrix", 0, 5) -> "Hello" Mid("Hello Matrix", 6, 6) -> "Matrix" | |
Replace(Substitute) | 원본 문자열의 oldText를 newText로 치환한 문자열을 반환합니다. Replace와 Substitute는 동일한 함수입니다. | String | Replace("Hello Matrix", "Hello", "Hi") -> "Hi Matrix" | |
Trim | 원본 문자열의 시작과 종료 부분에 공백을 모두 제거한 문자열을 반환합니다. | String | Trim( " Hello World ! ") -> "Hello World !” | |
Upper | 전달받은 문자열을 대문자로 변환한 문자열을 반환합니다. | String | Upper( "Hello Matrix") -> "HELLO MATRIX" | |
Numeric | ABS | 해당값의 절대값을 반환합니다 | Double | ABS(Sum([전년대비])) |
ACOS | 해당값의 역코사인값을 반환합니다. | Double | ACOS(Sum([전년대비])) | |
ASIN | 해당값의 역사인값을 반환합니다. | Double | ASIN(Sum([전년대비])) | |
ATAN | 해당값의 역탄젠트값을 반환합니다. | Double | ATAN(Sum([전년대비])) | |
CEIL | 해당값의 올림값을 반환합니다. | Double | CEIL([계획비]) | |
COS | 해당값의 코사인값을 반환합니다. | Double | COS(Sum([전년대비])) | |
EXP | 자연로그의 밑 e의 해당값의 제곱 값을 반환합니다. | Double | EXP(Sum([생산비율])) | |
FLOOR | 해당 값의 내림값을 반환합니다. | Double | FLOOR(Sum([계획비])) | |
LOG | 해당값의 대수(Logarithm-밑-지정값)를 반환합니다. | Double | LOG([매출액], 2) | |
LOG10 | 해당값의 대수(Logarithm-밑10)를 반환합니다. | Double | LOG10([매출액]) | |
RAND | 0에서 지정값 사이의 난수를 반환합니다. (지정값이 없을 경우, 1로 자동설정) | Double | RAND() :0~1 사이의 난수 RAND(10) :0~10 사이의 난수 | |
ROUND | 해당값의 지정된 자리수로 표현된 반올림된 값을 반환합니다. | Double | ROUND(105.6,1) à106 | |
SIN | 해당 값의 사인값을 반환합니다. | Double | SIN(Sum([전년대비])) | |
TAN | 해당 값의 탄젠트값을 반환합니다. | Double | TAN(Sum([전년대비])) | |
Date Time | NOW | 현재 시스템의 날짜와 시간을 반환합니다. | DateTime | NOW() -> 20201231170409448 |
TODAY | 현재 시스템의 날짜를 반환합니다. 시간은 00:00:00으로 설정 됩니다. | DateTime | TODAY() -> 20201231 | |
YEAR | 대상 날짜의 년도를 반환합니다. | Integer | YEAR(TODAY()) -> 2020 | |
MONTH | 해당 일자의 월을 반환 합니다. 값은 1~12의 값을 가지게 됩니다. | Integer | MONTH(ToDate("2012-05-05") ) -> 5 | |
DAY | 해당 일자의 일을 반환 합니다. | Integer | DAY(ToDate("2020-05-30") ) ->30 | |
WEEKDAY | 해당 일자의 요일에 해당하는 상수값을 반환합니다. Sunday = 0, Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5, Saturday = 6 | Integer | WEEKDAY(NOW()) WEEKDAY(ToDate("2020-08-01")) -> 6 | |
HOUR | 대상 시간의 시간 값을 반환합니다. 값은 0~23의 값을 가지게 됩니다. | Integer | HOUR(NOW()) HOUR(ToDate(getRecordValue([납기일]))) | |
MINUTE | 대상 시간의 분 값을 반환합니다. 값은 0~59의 값을 가지게 됩니다. | Integer | MINUTE(NOW()) MINUTE(ToDate(getRecordValue([납기일]))) | |
SECOND | 대상 시간의 초 값을 반환합니다. 값은 0~59의 값을 가지게 됩니다. | Integer | SECOND(ToDate(getRecordValue([CREATE_DATE]))) | |
DATEADD | 해당 일자에 특정 단위의 일자(시간)을 더한 일자를 반환합니다. *날자 단위 상수 dtYear : 년 dtQuarter : 분기 dtMonth : 월 dtDay : 일수 dtHour : 시간 dtMinute : 분 dtSecond : 초 | DateTime | 현재 일자에 1년을 추가한 일자를 반환한다. DATEADD(dtYear,1, NOW()) -> 2021 DATEADD(dtYear, 1, DATE(2020, 04, 01)) -> 2021-04-01 오전 12:00:00 DATEADD(dtMonth, -1, DATE(2020, 04, 01)) -> 2020-03-01 오전 12:00:00 | |
DATEDIFF | 일자 간 차이 값을 반환 합니다. *날자 단위 상수 사용 | Integer | DATEDIFF(dtYear, DATE(2000, 04, 01), DATE(2015, 04, 01)) -> 15 DATEDIFF(dtMonth, DATE(2000, 04, 01), DATE(2015, 04, 01)) -> 180 DATEDIFF(dtDay, NOW(), ToDate(“2013-05-05”)) | |
DATEPART | 일자의 각 파트에 해당 하는 값을 반환합니다. *날자 단위 상수 사용 | Integer | DATEPART(dtYear, DATE(2000, 04, 01) ) -> 2000 DATEPART(dtMonth, DATE(2000, 04, 01) ) -> 4 | |
DATE | 넘겨진 파라미터 값을 가지로 새로운 일자를 반환합니다. 4~6 (시,분,초)는 옵션입니다. | DateTime | DATE(2020,2,21) -> : 2020-02-21일을 반환 DATE(2020, 04, 01, 12, 30, 12) -> 2020-04-01 12:30:12 반환 | |
DATE2 | 넘겨진 파라미터 값을 가지고 새로운 일자를 반환합니다. | DateTime | DATE2(0, 0, 1) -> Thu Jan 1 2020 + 1 day 반환 | |
Operators | + | 더하기 | ||
- | 빼기 | |||
* | 곱하기 | |||
/ | 나누기 | |||
% | 비율값 계산 (%로 출력) | |||
^ | 승산 | |||
( ) | 괄호 | |||
< | 작다 | |||
> | 크다 | |||
<= | 작거나 같다 | |||
>= | 크거나 같다 | |||
!= | 같지 않다. | |||
! | 아니다. | |||
== | 같은가 | |||
AND | And | |||
OR | Or | |||
/**/ | 두줄 이상의 텍스트 주석 처리 | |||
// | 한 줄 텍스트 주석 처리 | // 한 줄 주석문 | ||
Constant | CELL_VALUE | 데이터 셀의 값 | Object | |
FILED_KEY | 데이터 셀의 데이터 필드의 키값 | String | ||
FILED_LABEL | 데이터 셀의 데이터 필드의 표시명 | String | ||
IS_GRAND_TOTAL | 이 현재 행이 총계 행이고 이 요약(총계) 필드 유형이 '없음'인 경우 bool 값을 반환 | Boolean | ||
IS_SUB_TOTAL | 이 현재 행이 하위 총계 행이고 이 요약(총계) 필드 유형이 '없음'인 경우 bool 값을 반환 | Boolean |
병합 방식
List Grid 사용 시 셀 병합 타입을 설정합니다. [디자인 - 필드 - 기본] - [병합 가능]을 활성화한 필드에만 적용됩니다.
•None : 디폴트 설정으로 병합을 허용하지 않습니다.
•Vertical : 수직선상에 연결되는 셀의 데이터가 중복이면 무조건 병합합니다.
•VerticalHierachy : 상속구조 최상위의 데이터(제일 왼쪽)부터 순차적으로 수직선상에 연결된 셀의 데이터가 중복이면 병합합니다.(부모의 데이터가 서로 다르면 자식 데이터는 같더라도 병합하지 않습니다.)
참고 : 병합 방식
멀티 헤더
팝업메뉴 - 멀티헤더
•비정형분석 결과를 정형보고서처럼 이용하기 위해 사용합니다.
•멀티헤더의 적용결과 해지 시, 기존설정으로 복구되지 않고 재설정해야 합니다.
틀 고정
틀고정을 통해 다른 영역으로 스크롤하는 동안 특정 영역을 표시된 상태로 유지합니다.
틀 고정 스타일 설정
틀고정 선 색, 선 두께를 통해 Column 틀 고정 색상과 두께를 변경합니다.