Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Object Monitor 조건

조건은 언제 새 활동을 감지하고 기록할지 정의합니다. 여러 하위 조건을 포함하고 입력 객체 집합을 여러 개 참조할 수 있습니다.

Event는 개별 사건을 만들고 Threshold는 시간에 따라 true 또는 false 상태를 유지합니다.

Event

객체가 입력에 추가되거나 제거되는 경우, 지표가 증가하거나 감소하는 경우 등을 감지합니다. 각 사건은 특정 시각에 발생하므로 활동 그래프에서 점으로 표시합니다.

다음 예시는 저장한 Sales Opportunity 탐색에 새 객체가 들어오는 경우입니다. 객체가 새로 생성되었거나 기존 객체의 값이 바뀌어 탐색 필터와 일치하게 되면 집합에 추가될 수 있습니다.

일부 Event 조건에는 Threshold 하위 조건이 필요합니다. 이때 두 조건을 모두 만족해야 사건을 기록합니다. 예를 들어 입력에 객체가 이미 N개 이상 있을 때만 객체 수 증가를 감지하도록 구성할 수 있습니다.

Threshold

입력을 평가하여 true 또는 false 상태를 만들고 어느 방향으로든 임계 상태가 바뀌면 활동을 기록합니다. 중첩 하위 조건을 여러 개 구성할 수 있습니다.

예시는 선택한 Sales Opportunity 집합의 amount 합계가 10,000보다 큰지 확인합니다.

Threshold는 실시간 평가를 지원하지 않습니다.

함수 기반 조건

기본 Event 또는 Threshold 규칙으로 표현하기 어려운 논리는 게시한 함수로 계산할 수 있습니다. 함수는 모니터링할 객체 유형의 ObjectSet<>을 입력받아 Boolean 값 하나를 반환해야 합니다.

평가할 때 함수를 호출하고 그 반환값을 이번 평가의 상태로 사용합니다. 이전 상태와 달라지면 활동을 기록합니다. 함수 기반 조건은 Threshold에서만 사용할 수 있으며 실시간 평가는 지원하지 않습니다.

기대 금액보다 실현 금액이 작은지 검사

다음은 TypeScript v1 함수 예시입니다. 생성된 온톨로지 API에 SalesOpportunity 객체 유형이 있고, 숫자 속성 amount가 기대 금액, amountRealized가 실현 금액인 구성을 전제로 합니다.

import { Function } from "@foundry/functions-api";
import { ObjectSet, SalesOpportunity } from "@foundry/ontology-api";

export class MonitorConditions {
    @Function()
    public async calculateOpportunityUnderRealized(
        opportunities: ObjectSet<SalesOpportunity>,
    ): Promise<boolean> {
        const amount = await opportunities.sum(opportunity => opportunity.amount);
        const amountRealized = await opportunities.sum(
            opportunity => opportunity.amountRealized,
        );
        return amount != null
            && amountRealized != null
            && amountRealized < amount;
    }
}

두 집계값이 모두 있을 때 실현 합계가 기대 합계보다 작으면 true입니다. 집계값이 null 또는 undefined이면 false입니다. 0은 유효한 숫자로 비교합니다.

함수를 게시한 뒤 모니터의 입력 집합과 연결합니다. 함수의 일반적인 작성 및 게시 방식은 Functions를 따릅니다.