Direct Discovery 변수
Direct Discovery 시스템 변수
시각화에 대한 Direct Discovery 쿼리 결과에 캐싱 한계를 설정할 수 있습니다. 이 한계에 도달하면 새로운 Direct Discovery 쿼리가 수행될 때 Qlik Sense가 캐시를 지웁니다. Qlik Sense는 지정된 제한 시간 동안 소스 데이터에 선택 내용을 쿼리하고 다시 캐시를 만듭니다. 선택 내용의 각 조합 결과는 개별적으로 캐시됩니다. 즉, 각 선택 내용에 대해 개별적으로 캐시가 새로 고침되므로 한 번 선택하면 선택한 필드에만 해당하는 캐시가 새로 고침되고, 두 번째로 선택하면 관련 필드에 해당하는 캐시가 새로 고침됩니다. 두 번째 선택에 첫 번째 선택에서 새로 고침된 필드가 포함된 경우 캐싱 한계에 도달하지 않았다면 캐시에서 해당 필드가 다시 업데이트되지 않습니다.
Direct Discovery 캐시는 테이블 시각화에 적용되지 않습니다. 테이블 선택은 매번 데이터 소스를 쿼리합니다.
한계 값은 초 단위로 설정해야 합니다. 기본 캐시 한계는 1800초(30분)입니다.
DirectCacheSeconds에 사용되는 값은 DIRECT QUERY 문이 실행될 때 설정된 값입니다. 실행 중에 이 값을 변경할 수는 없습니다.
연결 풀링 기능을 사용하여 데이터베이스에 대한 비동기, 병렬 호출을 수행할 수 있습니다. 풀링 기능을 설정하기 위한 로드 스크립트 구문은 다음과 같습니다.
숫자 설정은 시트를 업데이트할 때 Direct Discovery 코드에서 사용해야 하는 데이터베이스 연결의 최대 수를 지정합니다. 기본 설정은 1입니다.
Direct Discovery는 일부 데이터베이스(특히 SQL Server)에서 요구하는 대로 확장 문자열 리터럴(N’<확장 문자열>’)에 대한 SQL 표준 형식을 사용하여 확장된 유니코드 데이터 선택을 지원할 수 있습니다. 이 구문은 스크립트 변수 DirectUnicodeStrings를 통해 Direct Discovery에서 사용할 수 있습니다.
이 변수를 'true'로 설정하면 문자열 리터럴 앞에 ANSI 표준 와이드 문자 표식 “N”을 사용할 수 있습니다. 데이터베이스에 따라 이 표준을 지원하지 않을 수 있습니다. 기본 설정은 'false'입니다.
Qlik Sense 개체에서 DIMENSION 필드 값을 선택하면 소스 데이터베이스에 대한 쿼리가 생성됩니다. 쿼리에서 그룹화가 필요할 경우 Direct Discovery는 DISTINCT 키워드를 사용하여 고유한 값만 선택합니다. 하지만 일부 데이터베이스에는 GROUP BY 키워드가 필요합니다. 고유한 값에 대한 쿼리에서 DISTINCT 대신 GROUP BY를 생성하려면 DirectDistinctSupport를 'false'로 설정합니다.
DirectDistinctSupport가 true로 설정된 경우 DISTINCT가 사용됩니다. 설정하지 않았을 때의 기본 동작은 DISTINCT를 사용하는 것입니다.
높은 집합 크기 다중 테이블 시나리오에서는 큰 IN 절을 생성하는 대신 SQL 쿼리에서 하위 쿼리를 생성할 수 있습니다. 이는 DirectEnableSubquery를 'true'로 설정하여 활성화됩니다. 기본값은 'false'입니다.
Teradata 쿼리 구간 설정 변수
Teradata 쿼리 구간 설정 기능을 통해 엔터프라이즈 응용 프로그램과 기본 Teradata 데이터베이스를 함께 사용하여 계정 관리, 우선 순위 지정 및 워크로드 관리를 더 효과적으로 수행할 수 있습니다. 쿼리 구간 설정을 사용하면 쿼리 주변에 사용자 자격 증명과 같은 메타데이터를 래핑할 수 있습니다.
두 가지 변수를 사용할 수 있는데, 둘 다 평가 후 데이터베이스로 전송되는 문자열입니다.
이 문자열은 데이터베이스에 대한 연결이 생성되면 전송됩니다.
예를 들어, OSuser()가 WA\sbt를 반환하는 경우 이는 SET QUERY_BAND = 'Who=WA\sbt;' FOR SESSION;으로 평가되고, 이는 연결이 만들어질 때 데이터베이스로 전송됩니다.
이 문자열은 각 단일 쿼리에 대해 전송됩니다.
Direct Discovery 문자 변수
쉼표 이외의 문자를 필드 구분 기호로 사용해야 하는 데이터베이스에 대한 Direct Query 문에서 필드 구분 기호로 사용할 문자를 설정할 수 있습니다. 지정된 문자는 SET 문에서 작은따옴표로 묶어야 합니다.
생성된 쿼리에서 문자열을 인용하는 데 사용할 문자를 지정할 수 있습니다. 기본값은 작은따옴표입니다. 지정된 문자는 SET 문에서 작은따옴표로 묶어야 합니다.
생성된 쿼리에서 ANSI가 아닌 식별자 인용을 사용하도록 지정할 수 있습니다. 현재 사용할 수 있는 유일한 ANSI가 아닌 인용은 GoogleBQ입니다. 기본값은 ANSI입니다. (ANSI, ansi, Ansi)와 같이 대문자, 소문자, 대/소문자를 혼용하여 사용할 수 있습니다.
예를 들어, ANSI 인용은 다음 SELECT 문에서 사용됩니다.
DirectIdentifierQuoteStyle이 "GoogleBQ"로 설정된 경우 SELECT 문은 다음과 같이 인용을 사용합니다.
생성된 쿼리에서 식별자의 인용을 제어하는 문자를 지정할 수 있습니다. 이는 하나의 문자(예: 큰따옴표) 또는 2개의 문자(예: 대괄호 쌍)로 설정할 수 있습니다. 기본값은 큰따옴표입니다.
Direct Discovery 필드가 테이블 시각화에 사용되는 경우 표시되는 행의 수를 제한하기 위해 임계값이 설정됩니다. 기본 임계값은 1000 레코드입니다. 기본 임계값 설정은 로드 스크립트의 DirectTableBoxListThreshold 변수를 설정하여 변경할 수 있습니다. 예:
임계값 설정은 Direct Discovery 필드를 포함하는 테이블 시각화에만 적용됩니다. 인 메모리 필드만 포함하는 테이블 시각화에는 DirectTableBoxListThreshold 설정이 적용되지 않습니다.
임계값 제한보다 적은 수의 레코드가 선택될 때까지는 테이블 시각화에 필드가 표시되지 않습니다.
Direct Discovery 숫자 해석 변수
정의된 소수점 구분 기호는 Direct Discovery를 사용하여 데이터를 로드하기 위해 생성된 SQL 문에서 통화의 소수점 기호를 바꿉니다. 이 문자는 DirectMoneyFormat에서 사용한 문자와 일치해야 합니다.
기본값은 '.'입니다.
정의된 기호는 Direct Discovery를 사용하여 데이터를 로드하기 위해 생성된 SQL 문의 통화 서식을 바꿉니다. 천 단위 구분 기호에 대한 통화 기호는 포함할 수 없습니다.
기본값은 '#.0000'입니다.
정의된 시간 서식은 Direct Discovery를 사용하여 데이터를 로드하기 위해 생성된 SQL 문의 시간 서식을 바꿉니다.
정의된 날짜 서식은 Direct Discovery를 사용하여 데이터를 로드하기 위해 생성된 SQL 문의 날짜 서식을 바꿉니다.
Set DirectDateFormat='MM/DD/YYYY';
정의된 서식은 Direct Discovery를 사용하여 데이터를 로드하기 위해 생성된 SQL 문에서 생성된 SQL 문의 날짜 및 시간 서식을 바꿉니다.
Set DirectTimestampFormat='M/D/YY hh:mm:ss[.fff]';