유도된 필드 혹은 계산 필드는 데이터 서버나 원본 파일에는 존재하지 않는 값들을 기존 필드들의 값이나 어플리케이션 값들로 실시간 계산해서 저장하고, 그리드 등의 view에서 일반 필드처럼 사용할 수 있도록 한다.
계산되는 값이므로 당연히 사용자가 값을 수정할 수는 없다.
expression이나 callback 속성으로 계산될 값을 지정할 수 있다. 또, 일반 필드와 마찬가지로 dataType을 지정해야 한다. dataType을 지정하지 않은 경우 TEXT로 기본 설정되는 일반 필드와 다르게 NUMBER 형으로 설정된다.
계산 필드들은 DataSet.setFields 호출로 일반 필드와 함께 초기화되는데, 데이터셋에서 유도 필드들은 반드시 일반 필드들 이 후에 추가돼야 한다. 또, sourceFields로 계산 시점에 제한을 줄 수 있다.
var fields = [
...
];
var calcedFields = [
{
fieldName: "amount",
dataType: "number",
expression: "unit_price * quantity"
},
...
];
ds.setFields(fields, calcedFields);