기본 콘텐츠로 건너뛰기

Qlik Sense GeoOperations

Qlik Sense GeoOperations를 통해 이동 영역을 계산하는 함수 및 지리적 계산을 사용할 수 있습니다. 또한 다양한 데이터 소스에서 지리 데이터를 로드할 수 있습니다. Qlik Sense GeoOperations를 통해 다음과 같은 데이터의 지리적 문제를 해결할 수 있습니다.

  • 매장 위치에서 차로 15분 이내에 거주하는 고객 수 파악
  • 장소, 지역 또는 도로 네트워크에 GPS 위치 연결
  • 지방 자치 단체 목록에서 사용자 지정 판매 지역 작성
  • 환자 목록에서 가장 가까운 병원 찾기

GeoOperations 함수는 데이터 로드 스크립트와 시각화 표현식 모두에 대한 스크립팅에서 사용할 수 있습니다. GeoOperations 함수는 각각 데이터를 암시적으로 로드할 수 있습니다. GeoOperations 함수를 사용하여 지리 데이터를 변환하거나 계산할 수도 있습니다.

정보 메모GeoOperations를 사용하는 방법의 예는 GeoOperations 예를 참조하십시오.

기능

  • Qlik Sense SaaS의 스크립트 언어로 제공됩니다.

  • Qlik이 처리할 수 있도록 공간 관계 추출
  • 위치의 로드 시간 조회(맵 차트의 표시 시간 조회 대신 사용)
  • 클러스터 또는 Bin의 포인트 집계
  • 다음과 같이 위치 지정:
    • QlikGeoAnalyticsQlik Sense와 동일한 형식의 점, 선 또는 영역 도형
    • 위도 및 경도 필드
    • 명명된 포인트 또는 영역
  • 다양한 입력 형식에서 지리 데이터를 로드합니다.
  • Qlik에 이미 로드된 데이터에 대한 작업을 사용합니다.

GeoOperations 작동 방식

Qlik Sense GeoOperations는 로드 스크립트의 GeoOperations 확장에 스크립트 및 선택적으로 테이블을 전송하여 작동합니다. 그런 다음 서버 측 확장은 데이터를 반환합니다. GeoOperations는 스크립트와 테이블을 확장으로 보내기 위한 ScriptEval 함수를 제공하는 스크립트 언어에서 "GeoOperations"라는 고급 분석 통합 개체를 사용할 수 있도록 합니다. 예를 들어 다음은 이전에 로드된 MyPoints 테이블에 TravelAreas 작업을 적용하고 여행 지역의 크기/비용에 대한 매개 변수를 지정하는 로드 스크립트입니다.

Load * Extension GeoOperations.ScriptEval('TravelAreas(costValue="10", costUnit="Minutes")', MyPoints);

 

스크립트는 ScriptEval에 첫 번째 매개 변수로 전송되고 테이블은 두 번째 매개변수로 전송됩니다.

GeoOperations는 데이터 집합에서 작동하는 함수입니다. 데이터 집합은 Qlik Sense에 로드된 데이터 또는 지리 파일 또는 위치 서비스와 같은 외부 소스에서 가져옵니다. 스크립트에서 보낸 데이터는 INTABLE이라는 데이터 집합으로 사용할 수 있습니다. 해당 데이터에 추가 매개 변수를 지정하려면 함수 호출 후에 DATASOURCE로 선언해야 합니다. 예:

Load * Extension GeoOperations.ScriptEval('TravelAreas(costValue="10", costUnit="Minutes")

DATASOURCE myPoints INTABLE pointField="Point"', MyPoints);

 

다른 데이터 소스는 항상 선언해야 하며 URL과 같은 매개 변수를 지정해야 합니다. 각 작업에서 사용할 데이터 소스를 지정할 수 있습니다. 기본적으로 작업은 작업 (영어로만 제공)의 각 작업에 대해 설명된 대로 사용 가능한 데이터 집합을 선택합니다.

GeoOperations를 사용할 위치

모든 작업은 데이터 로드 스크립트에서 사용할 수 있습니다. 동적 계산을 활성화하기 위해 맵에 대한 차트 스크립트의 표현식에서 특정 작업을 사용할 수도 있습니다. 선택이 변경될 때마다 작업이 실행됩니다. GeoOperations가 차트에 사용될 때 데이터는 데이터 모델로 이동하지 않으므로 해당 데이터에 대한 추가 분석이 불가능합니다.

GeoOperations 필드 선택 및 이름 바꾸기

GeoOperations 함수는 필드를 반환합니다. 기본적으로 모든 필드가 반환되고 포함됩니다. 관심 있는 특정 필드를 선택하고 선택적으로 이름을 바꾸는 SELECT 문을 GeoOperations 함수 앞에 놓을 수 있습니다. 예를 들어, 이 스크립트는 SELECT를 사용하여 위치 서비스에서 우편 번호 필드 중 두 개만 로드합니다.

Load * Extension GeoOperations.ScriptEval('

SELECT Name as PostalCode, LocationArea FROM

Load() DATASOURCE PostalCodes LOCATIONSERVICE type="PostalCode", country="se"');

 

GeoOperations 스크립트에서 SELECT 문을 사용하는 것은 데이터가 GeoOperations 스크립트에서 선택되지 않은 경우 Qlik Sense에 로드되지 않으므로 Qlik LOAD 문에 필드를 지정하는 것보다 더 효율적일 수 있습니다.

SELECT는 결과에 반환하지 않도록 선택하여 일부 필드 계산을 방지하는 데 사용할 수 있습니다. 예를 들어, Intersects가 반환하는 상대 중첩 필드는 제외할 수 있습니다.

정보 메모

로드 스크립트에서 동일한 작업을 여러 번 사용하는 경우 SELECT 문을 사용하여 필드 이름을 바꿉니다.

제한 사항

데이터 집합의 최대 크기에는 다음 제한 사항이 적용됩니다.

  • 최대 행 수: 50,000
  • 메모리의 최대 데이터 집합 크기: 150MB
  • 라우팅이 있는 최대 행: 400
  • 이름 조회가 있는 최대 행: 20,000

일부 작업은 Qlik 엔진에서 스트리밍 데이터를 지원합니다. Qlik 엔진에서 스트리밍되는 데이터는 더 클 수 있지만 라우팅에 대한 크기 제한은 계속 적용됩니다.

스크립트 구문

GeoOperations로 보낼 수 있는 스크립트의 구문은 다음과 같습니다.

1. 작업

가장 간단한 형태의 스크립트가 작업을 수행합니다.

구문:  

Operation(paramName="paramValue", ...)

 

Cluster(distance="100000")

 

자세한 내용은 작업 및 해당 매개 변수 목록을 참조하십시오.

2. 데이터 집합

두 번째 단계는 적용할 선택한 작업에 대한 데이터 집합을 로드하는 것입니다.

구문:  

Operation(paramName="paramValue", ...)

DATASOURCE name TYPE paramName="paramvalue", ...

 

Within()

DATASOURCE states LOCATIONSERVICE type="STATE", country="US"

 

자세한 내용은 데이터 집합 및 해당 매개 변수 목록을 참조하십시오.

3. 조합하기

데이터 로드 편집기에서 완성된 스크립트는 다음과 같이 표시됩니다.

[MyPointsInStates]:

Load * Extension GeoOperations.ScriptEval(’

Within()

DATASOURCE states LOCATIONSERVICE type=”STATE”, country=”US”

’, MyTable);

 

이 예에서, MyTable은 점, 선, 명명된 영역 또는 기타 지리적 데이터가 포함된 모든 로드된 테이블일 수 있습니다.

4. 필드 필터링

다음을 추가하여 작업 결과를 추가로 필터링할 수 있습니다.

[MyPointsInStates]:

Load * Extension GeoOperations.ScriptEval(’

SELECT Name, states.Name as State FROM

Within()

DATASOURCE states LOCATIONSERVICE type=”STATE”, country=”US”

’, MyTable{Name, Point});

매개 변수 이름과 필드 이름은 대소문자를 구분하지만 작업, 매개 변수 옵션(예: meters, minutes, car 등) 또는 SELECTFROM과 같은 키워드는 구분하지 않습니다.