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).
예를 들어 다음 SELECT 문에 ANSI 인용이 사용되었습니다.
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 문의 날짜 및 시간 서식을 바꿉니다.
Set DirectTimestampFormat='M/D/YY hh:mm:ss[.fff]';