On-demand 템플릿 응용 프로그램 만들기
On-demand 템플릿 응용 프로그램은 하나의 중요한 차이점이 있는 일반 Qlik Sense 응용 프로그램입니다. 해당 로드 스크립트에는 데이터 소스에서 만들어진 쿼리를 공식화하는 데 사용되는 데이터 바인딩 표현식이 포함되어 있습니다. 이러한 데이터 바인딩 표현식은 On-demand 응용 프로그램 생성 시간에 사용되어 선택 응용 프로그램의 선택 상태에서 값을 읽고 이 값을 템플릿 응용 프로그램 스크립트에 바인딩하여 생성된 응용 프로그램에 사용자가 제어하는 데이터 하위 집합이 로드되도록 합니다.
템플릿 응용 프로그램은 일반적으로 선택 응용 프로그램과 동일한 데이터 소스에 연결됩니다. 선택 응용 프로그램의 로드 스크립트는 데이터 볼륨을 줄이기 위해 일반적으로 집계된 데이터를 로드하면서 중요한 차원 및 측정값의 대화형 시각화를 제공합니다. 템플릿 응용 프로그램의 로드 스크립트는 보다 세밀한 데이터의 제어된 하위 집합을 로드하는 쿼리를 사용합니다.
템플릿 응용 프로그램은 다른 사용자가 On-demand 응용 프로그램을 생성할 수 있도록 시트를 공개해야 합니다. 자세한 내용은 시트, 시트 그룹, 북마크 및 스토리에 대한 액세스 권한 부여을 참조하십시오.
템플릿 응용 프로그램의 구조
템플릿 응용 프로그램은 On-demand 응용 프로그램 탐색 링크를 사용하여 선택 응용 프로그램에 연결됩니다. 응용 프로그램 탐색 링크에는 On-demand 응용 프로그램에 데이터가 로드될 때 쿼리되는 레코드 수를 제어하는 속성이 포함되어 있습니다. 템플릿 응용 프로그램의 로드 스크립트에는 On-demand 응용 프로그램에 데이터를 로드할 때 실행되는 쿼리를 공식화하는 데 사용되는 선택 응용 프로그램의 필드 데이터를 지정하는 데이터 바인딩 표현식이 포함되어 있습니다.
데이터 바인딩 표현식의 새로운 구문은 2020년 6월에 도입되었습니다. 수량 제약 조건, _n 접미사 및 서식 사양을 포함하여 이전 구문 및 접두사 od_, ods_, odo_, odso_ 및 odb_는 전과 마찬가지로 동작합니다. 응용 프로그램이 2020년 6월 이전의 Qlik Sense 버전에서 작동해야 하는 경우 이전 구문을 사용합니다. 이전 구문의 경우 On-Demand 템플릿 응용 프로그램 만들기(이전 버전)를 참조하십시오.
새 접두사를 사용할 때 _n 접미사는 지원되지 않습니다.
기본 데이터 바인딩 표현식의 양식은 다음과 같습니다:
$(odag_FIELDNAME)
odag_ 접두사는 선택 응용 프로그램의 선택 상태를 템플릿 응용 프로그램을 복사하여 생성되는 On-demand 응용 프로그램의 로드 스크립트에 바인딩하는 데 사용됩니다. odag 접두사 다음에 오는 데이터 바인딩 표현식 부분은 선택 응용 프로그램의 필드와 일치하는 이름이어야 합니다. On-demand 응용 프로그램이 생성되면 선택 응용 프로그램의 현재 선택 상태는 각 필드에 바인딩할 원하는 값을 가져오는 데 사용됩니다. 새로 생성된 On-demand 응용 프로그램의 로드 스크립트에 있는 $(odag_FIELDNAME) 표현식은 발생할 때마다 선택 응용 프로그램의 선택 상태에서 해당 필드에 대해 선택된 값 목록으로 대체됩니다.
더 전문화된 데이터 바인딩을 위한 다른 접두사도 사용할 수 있습니다. 특수 사례에 맞게 조정하는 방법 및 로드 문 최적화에 대해 자세히 알아보려면 On-Demand 템플릿 응용 프로그램의 바인딩 표현식을(를) 참조하십시오.
On-Demand 바인딩을 로드 스크립트의 SELECT 및 WHERE 문에 직접 삽입할 수 있습니다. 바인딩을 WHERE 문에 직접 추가하면 문에서 다른 조건과 함께 조합하기가 더 쉽습니다.
로드 스크립트를 만들 때 자리 표시자 변수 $(odagActive)를 추가할 수 있습니다. 이렇게 하면 모든 데이터를 로드하지 않고 동적 보기에 대한 마스터 차트를 만들 수 있도록 샘플 데이터를 템플릿 응용 프로그램에 로드할 수 있습니다.
템플릿 응용 프로그램의 스크립트를 변경하고 새로운 바인딩 변수를 삽입하는 경우, 기존 응용 프로그램 탐색 링크를 바꾸기 위해 새로운 On-Demand 응용 프로그램 탐색 링크를 만들어야 합니다. 그렇지 않으면 해당 템플릿 응용 프로그램을 사용하는 기존 On-Demand 응용 프로그램에 해당 필드에 대한 선택 항목이 전송되지 않습니다.
다음 예에서 샘플 On-Demand 템플릿 로드 스크립트를 설명합니다.
몇 가지 샘플 데이터 추가
이 예에서는 바인딩이 완료되지 않은 경우에도 응용 프로그램을 로드할 수 있도록 샘플 값을 추가합니다.
IF '$(odagActive)'='' THEN
trace ODAG variables not inserted! Loading sample data.;
SET 'odag_Origin Code' = '''LAX''';
SET 'odag_Destination Code' = '''JFK''';
SET odagn_Year = 2015;
SET odag_Quarter = '''1''';
SET 'odag_Ticket Carrier Code' = '''CA''';
SET 'odag_Fare Class' = '''X''';
END IF;
템플릿 응용 프로그램에서 데이터 로드
다음은 샘플 데이터를 로드하고 생성된 odag_FIELDNAME 바인딩으로 필터링하기 위한 샘플 로드 스크립트입니다. odagn_<필드 이름> 바인딩은 이중 값에서 숫자를 선택하고 기본적으로 인용 부호를 사용하지 않습니다.
SQL SELECT *
FROM FlightDB.Flights
WHERE "Origin Code" IN ($(odag_Origin Code))
AND "Destination Code" IN ($(odag_Destination Code))
AND "Year" IN ($(odagn_Year))
AND "Quarter" IN ($(odag_Quarter))
AND "Ticket Carrier Code" IN ($(odag_Ticket Carrier Code))
AND "Fare Class" IN ($(odag_Fare Class));
단일 사인온(SSO)
On-demand 응용 프로그램은 SSO를 지원하는 데이터 소스와 함께 단일 사인온(SSO)을(를) 사용할 수 있습니다. 엔진 및 데이터 소스는 SSO를 허용하도록 구성해야 합니다.
SSO에 대해 엔진 및 데이터 소스를 구성한 후 템플릿 응용 프로그램은 템플릿 응용 프로그램 스크립트에 다음 구문을 추가하여 SSO를 활성화해야 합니다.
///!ODAG_SSO
On-demand 앱 서비스는 On-demand 응용 프로그램이 생성될 때 및 다시 로드될 때마다 스크립트를 구문 분석합니다.
On-demand 응용 프로그램이 SSO에서 로드되면 최종 사용자의 ID가 데이터 소스로 전송됩니다. 최종 사용자는 템플릿 응용 프로그램의 데이터 연결에서 사용되는 소스에 대한 액세스 권한이 있어야 합니다. 더 큰 데이터 집합이 선택된 경우에도 사용자가 해당 소스에서 액세스할 수 있는 데이터만 로드됩니다.