기본 콘텐츠로 건너뛰기

IntervalMatch

IntervalMatch 접두사는 불연속 숫자 값과 하나 이상의 숫자 간격을 연결하며, 선택적으로 하나 이상의 추가 키의 값을 연결하는 테이블을 만드는 데 사용됩니다.

구문:  

IntervalMatch (matchfield)(loadstatement | selectstatement )

IntervalMatch (matchfield,keyfield1 [ , keyfield2, ... keyfield5 ] ) (loadstatement | selectstatement )

 

IntervalMatch 접두사는 간격을 로드하는 LOAD 또는 SELECT 문 앞에 와야 합니다. IntervalMatch 접두사가 있는 문을 실행하기 전에 불연속 데이터 포인트(아래 예에서는 Time)를 포함하는 필드 및 추가 키를 Qlik Sense로 로드해야 합니다. 이 접두사가 자체적으로 필드를 데이터베이스 테이블에서 읽는 것은 아닙니다. 이 접두사는 로드한 간격과 키의 테이블을 불연속 숫자 데이터 포인트의 추가 열을 포함하는 테이블로 변환합니다. 또한 테이블이 불연속 데이터 포인트, 간격 및 키 필드의 값에 대한 가능한 조합마다 하나의 레코드를 가지도록 레코드의 수를 확장합니다.

간격은 겹칠 수 있으며 불연속 값은 일치하는 모든 간격에 연결됩니다.

IntervalMatch 접두사가 키 필드를 사용하여 확장된 경우, 하나 이상의 불연속 숫자 값과 하나 이상의 숫자 간격을 연결하는 동시에 하나 이상의 추가 키의 값을 연결하는 테이블을 만드는 데 사용됩니다.

정의되지 않은 간격 한계가 무시되지 않도록 하려면 NULL 값을 간격의 하한이나 상한이 되는 다른 필드에 매핑해야 합니다. 이를 위해서는 NullAsValue 문을 사용하거나 불연속 숫자 데이터 포인트를 사용하기 전후에 NULL 값을 숫자 값으로 대체하는 명시적인 테스트를 수행할 수 있습니다.

인수:  

인수
인수설명
matchfield 간격과 연결할 불연속 숫자 값을 포함하는 필드입니다.
keyfield 변환 시 일치시킬 추가 특성이 포함된 필드입니다.
loadstatementorselectstatement결과는 테이블이어야 합니다. 여기서, 첫 번째 필드는 각 간격의 하한 값이 포함되고 두 번째 필드에는 각 간격의 상한 값이 포함됩니다. 또한 일치 키를 사용하는 경우 세 번째 및 후속 필드에는 IntervalMatch 문으로 제공된 키 필드가 포함됩니다. 간격은 항상 완료된 상태입니다. 즉, 간격에는 종료 지점이 포함되어야 합니다. 숫자가 아닌 한계를 지정하면 간격이 무시됩니다(정의되지 않음).

예 1:  

아래의 두 테이블 중 첫 번째 테이블은 여러 불연속 이벤트를 나열하고 두 번째 테이블은 다른 주문의 생산 시작 및 종료 시간을 정의합니다. IntervalMatch 접두사를 사용하면 두 테이블을 논리적으로 연결하여, 예를 들어 생산 중단으로 영향을 받은 주문이나 특정 주문 제품을 생산한 근무조를 확인할 수 있습니다.

EventLog: LOAD * Inline [ Time, Event, Comment 00:00, 0, Start of shift 1 01:18, 1, Line stop 02:23, 2, Line restart 50% 04:15, 3, Line speed 100% 08:00, 4, Start of shift 2 11:43, 5, End of production ]; OrderLog: LOAD * INLINE [ Start, End, Order 01:00, 03:35, A 02:30, 07:58, B 03:04, 10:27, C 07:23, 11:43, D ]; //Link the field Time to the time intervals defined by the fields Start and End. Inner Join IntervalMatch ( Time ) LOAD Start, End Resident OrderLog;

 

이제 OrderLog 테이블에는 추가적인 열인 Time이 포함됩니다. 레코드 수 역시 확장됩니다.

Table with additional column
Time Start End Order

00:00

- - -
01:18 01:00 03:35 A
02:23 01:00 03:35 A
04:15 02:30 07:58 B
04:15 03:04 10:27 C
08:00 03:04 10:27 C
08:00 07:23 11:43 D
11:43 07:23

11:43

D

예 2: (keyfield 사용)

위와 동일한 예로, ProductionLine 을 키 필드로 추가합니다.

EventLog:
LOAD * Inline [
Time, Event, Comment, ProductionLine
00:00, 0, Start of shift 1, P1
01:00, 0, Start of shift 1, P2
01:18, 1, Line stop, P1
02:23, 2, Line restart 50%, P1
04:15, 3, Line speed 100%, P1
08:00, 4, Start of shift 2, P1
09:00, 4, Start of shift 2, P2
11:43, 5, End of production, P1
11:43, 5, End of production, P2
];
 
OrderLog:
LOAD * INLINE [
Start, End, Order, ProductionLine
01:00, 03:35, A, P1
02:30, 07:58, B, P1
03:04, 10:27, C, P1
07:23, 11:43, D, P2
];
 
//Link the field Time to the time intervals defined by the fields Start and End and match the values
// to the key ProductionLine.
Inner Join
IntervalMatch ( Time, ProductionLine )
LOAD Start, End, ProductionLine
Resident OrderLog;

 

이제 아래와 같은 테이블 상자가 생성됩니다.

Tablebox example
ProductionLineTime EventCommentOrderStart End
P1

00:00

0Start of shift 1-- -
P201:000Start of shift 1---
P101:18 1Line stopA01:00 03:35
P102:23 2Line restart 50%A01:00 03:35
P104:15 3Line speed 100%B02:30 07:58
P104:15 3Line speed 100%C03:04 10:27
P108:00 4Start of shift 2C03:04 10:27
P209:00 4Start of shift 2D07:23 11:43
P111:43 5End of production-- -
P211:43 5End of productionD07:23 11:43

이 페이지가 도움이 되었습니까?

이 페이지 또는 해당 콘텐츠에서 오타, 누락된 단계 또는 기술적 오류와 같은 문제를 발견하면 개선 방법을 알려 주십시오!