SAP Signavio Process Intelligence 내에서 쿼리 생성

Objective

After completing this lesson, you will be able to 개별화된 분석 생성

기본 질의 생성

이제 SiGNAL 구문을 이해했으므로 SAP Signavio Process Intelligence 내에서 코딩할 수 있는 방법을 알아보려고 합니다.

SiGNAL을 사용하여 기본 쿼리로 위젯을 생성하는 방법은 다음 비디오를 참조하십시오.

이제 질문을 들어보겠습니다. 우리는 SiGNAL을 사용하여 주문 및 고객에 대한 결과를 얻고자 합니다. 아래에서 질문을 계속 검토하십시오.

  1. 모든 케이스의 총 주문 금액은 얼마입니까?
  2. 표준 고객의 평균 오더 금액은 얼마입니까?스크린샷은 한쪽에 메트릭을 표시하고 다른 쪽에는 결과 평균 주문 금액을 보여 줍니다.
  3. 상품 유형별로 분할된 오더가 가장 많은 도시는 어디입니까? 누적 막대형 차트에 표시합니다.한 쪽에 메트릭을 표시하고 반대편에 차드 유형으로 분할된 도시별 오더를 보여주는 스크린샷.

SiGNAL 표현식

표현식정의(Definition)예제
산술산술 연산자를 사용하면 숫자 값을 사용하여 수학 연산을 실행할 수 있습니다.더하기, 빼기, 곱하기, 나누기, 모듈로
  • SELECT 할인 / 가격 * 100
  • FROM THIS_PROCESS
비교필터에 비교 연산자를 사용하여 선택할 레코드를 결정할 수 있습니다.보다 작음, 큼, 작거나 같음, 크거나 같음, 같음, 같지 않음
논리적논리식은 논리 연산자를 사용하여 부울 식을 연결하고 참 또는 거짓 값을 반환하도록 평가할 수 있습니다.
  • AND:TRUE 두 조건이 모두 true인 경우
  • IN:TRUE 오른쪽 목록에 왼쪽 값이 포함된 경우
  • NOT: 부울 식을 무시합니다.
  • OR:TRUE 두 조건 중 하나 이상이 참인 경우
조건부조건식은 부울 조건 평가에 종속된 값을 반환합니다.SELECT IF(condition, then, else) 또는 SELECT IF(country='DE', 1.19, 1.0) * 가격
리터럴리터럴은 특정 유형의 고정 값입니다. SIGNAL은 여러 다른 유형의 리터럴을 지원합니다.
  • 부울 리터럴
  • 일자 및 타임스탬프 리터럴
  • 기간 리터럴
  • 숫자 리터럴
  • 문자열 리터럴

노트

SAP Signavio 사용자 가이드의 표현식에 대한 자세한 내용:

SiGNAL - 정렬 기준 및 한도 조항

정렬 기준 기능을 사용하면 특정 기준에 따라 결과 세트를 정렬하여 의미 있는 방식으로 데이터를 구성할 수 있습니다. 한도 기능을 사용하면 결과 세트에 표시되는 레코드 수를 제어하여 가장 관련성이 높은 데이터에만 집중할 수 있습니다.

주문 기준 및 한도 기능의 샘플을 보여주는 스크린샷.

SiGNAL - 별칭

별칭을 사용하면 결과 세트의 열에 임시 이름을 지정하여 쉽게 읽고 이해할 수 있습니다. 이 기능은 쿼리에 집계 함수를 적용할 때 특히 유용합니다.

별칭이 없으면 표현식에 사용된 열과 작업에 따라 이름이 자동으로 생성됩니다. 별칭을 사용하여 열 머리글을 명확하고 의미 있게 만들어 쿼리 결과의 가독성을 높일 수 있습니다.

샘플 별칭 고객 ID 및 주문 금액을 보여주는 스크린샷

하위 쿼리

하위 쿼리는 SELECT 문 내부 또는 다른 하위 쿼리 안에 중첩된 쿼리입니다. 이벤트 레벨에서 데이터를 검색할 수 있는 표현식이 있는 경우 하위 쿼리를 사용할 수 있습니다.

운영 레벨과 이들이 제공하는 데이터의 유형이 서로 다릅니다.

  • 일반 하위 쿼리는 케이스 레벨에서 작동하며 테이블을 리턴합니다.
  • 이벤트 레벨 하위 쿼리는 이벤트 레벨에서 작동하여 스칼라 값을 반환합니다.

테이블에서 케이스 특성은 case_id, 오더 금액, 도시 라는 제목 아래에 표시됩니다. 이벤트 특성은 event_name, end_time, system user 제목 아래에 표시됩니다.

노트

하위 쿼리에 대해 자세히 알아보려면 SAP Signavio 사용자 가이드 를 방문하십시오.

DATE_TRUNC

DATE_TRUNC를 사용하면 세부 정보를 제거하여 타임스탬프를 특정 시간 단위로 제한할 수 있습니다. 이렇게 하면 타임스탬프를 연도, 분기, 월, 평일, 시간, 분, 초 또는 밀리초 등의 더 넓은 시간 단위로 단순화할 수 있습니다.

Date_Trunc

NOW()

NOW()는 현재 시간과 지정된 타임스탬프 사이의 기간을 계산하는 데 도움이 됩니다.

NOW()

기간

DUATION을 사용하면 기간이 지정된 임계값을 충족하는지 또는 초과하는지 평가할 수 있습니다. 시간 기준 문자열 형식(예: '3weeks', '4days', '3hours', '5minutes', '6seconds', '7밀리초')을 지원합니다.

기간

고급 쿼리 생성

이제 기본 쿼리에 대한 이해를 바탕으로 고급 쿼리를 사용하여 이를 한 단계 업그레이드해야 합니다. 새로운 유형의 절과 연산자에 대해 살펴보고, 마지막으로 실제 연습을 통해 학습한 내용을 적용합니다.

SiGNAL: FILTER 절

필터(WHERE)를 사용하면 집계 함수의 입력을 필터링할 수 있습니다.

사용 케이스: 총계와 비교할 케이스 또는 값의 하위 세트를 필터링합니다.

SELECT 식, FILTER(WHERE 조건), FROM 테이블/프로세스

SiGNAL: 매칭 연산자

일치를 사용하면 용어 MATCHES로 표시되는 특정 태스크 순서에 따라 케이스를 필터링할 수 있습니다. SiGNAL은 다음과 같은 매칭 연산자를 지원합니다.

매칭 연산자내역
A → B"A" 바로 뒤에 "B"(생략 가능)
A ~ B"A"는 간접 또는 직접 뒤에 "B"가 옵니다.
^ A순서가 특정 케이스에서 "A"로 시작함
NULL"A" 값이 NULL임
A 아님"A"가 아닌 모든 값
A NOT B"A" 바로 뒤에 "B"가 아닌 값이 옵니다.
A NOT(B|C)"A" 뒤에 "B"나 "C"가 아닌 값이 옵니다.
(A|B)"A" 또는 "B"
B $특정 케이스에서는 순서가 "B"로 끝납니다.
임의"A"는 케이스의 어느 곳에서나 발생

SiGNAL: BEHAVIOR MATCHES 연산자

BEHAVIOUR MATCHES 연산자를 사용하면 태스크 순서와 관련이 없는 표현식을 사용하여 MATCHES를 더 필터링할 수 있습니다. 지정된 표준 판매 프로세스를 따르는 케이스만 매칭하려면 MATCHES로 충분합니다. 예를 들어 표준 판매 프로세스에는 "고객 오더 수령", "지급 수령" 및 "상품 출하 표준" 이벤트가 해당 오더에 포함되어 있고 그 이전 또는 이후의 다른 이벤트는 포함되지 않는다고 가정해 보겠습니다.

BEHAVIOR MATCHES는 여분의 필터링 기준의 포함을 허용하여 이 개념을 확장한다. 예를 들어, 표준 프로세스를 따르는 매칭 케이스 외에도 이전 오더가 표준 프로세스를 따랐더라도 특정 시간 후에 오더가 출하된 케이스만 포함할 수 있습니다. BEHAVIOR MATCHES는 우리가 그렇게 할 수 있습니다.