Loading

Snowflake 연결 시 Tableau가 Snowflake에 표시되는 것과 다른 타임스탬프를 반환함

게시 일자: Aug 24, 2022
상세 설명

Snowflake에 연결할 때 Tableau가 Snowflake에 표시되는 타임스탬프와 다른 타임스탬프를 반환합니다. 이 문제는 TIMESTAMP_TZ 및 TIMESTAMP_LTZ 필드 유형으로 작업하거나 데이터베이스에서 current_timestamp를 반환할 때, 최종 사용자의 컴퓨터가 해당 계정/세션의 TIMEZONE 매개 변수에 지정된 것과 다른 표준 시간대로 설정되어 있거나 Snowflake 데이터베이스가 다른 표준 시간대에 위치하는 경우에 발생할 수 있습니다. 

Tableau는 로컬 컴퓨터 표준 시간대의 타임스탬프를 사용하여 데이터베이스를 쿼리하기 때문에 Snowflake의 표준 시간대가 다른 경우 반환된 데이터가 잘못되거나 데이터가 전혀 반환되지 않을 수 있습니다.

다른 표준 시간대에 있는 Snowflake에 연결할 때 current_timestamp 및 now()가 서로 다른 값을 반환하는 것도 주의해야 합니다. 즉, now()는 데이터 원본 표준 시간대의 날짜를 반환하고 current_timestamp는 로컬 컴퓨터 표준 시간대의 날짜를 반환합니다.

Cause

이는 현재 예상된 동작입니다. Snowflake ODBC 드라이버를 사용할 경우 Snowflake TIMEZONE 설정을 클라이언트가 따르지 않습니다. Snowflake에서 지정된 표준 시간대가 있는 필드가 항상 로컬 컴퓨터 표준 시간대의 시간을 반환합니다.

이 동작에 대한 자세한 내용은 다음 Snowflake 커뮤니티 게시물을 참조하십시오. ODBC/JDBC TIMESTAMP_LTZ 및 타사 클라이언트(영문)

 
솔루션
Tableau가 Snowflake에 지정된 것과 동일한 표준 시간대의 타임스탬프를 반환하도록 하려면 다음 옵션 중 하나를 사용합니다.
 
  1. 데이터베이스에서 모든 날짜/시간 필드를 TIMESTAMP_NTZ 필드 유형으로 변경하거나 사용자 지정 SQL을 사용하여 필드를 이 유형으로 캐스팅합니다.
  2. Snowflake 관리자에게 요청하여 TIMEZONE 매개 변수 설정이 사용자 로컬 컴퓨터의 표준 시간대와 일치하도록 사용자 계정을 업데이트합니다.
  3. Tableau에서 초기 SQL을 사용하여 해당 세션의 TIMEZONE 매개 변수를 로컬 컴퓨터의 표준 시간대와 일치하도록 변경합니다.
ALTER SESSION SET TIMEZONE = 'UTC';

 

추가 자원
두 값의 차이는 문제 ID: 669546이 20183에 릴리스될 때 도입되었습니다. Tableau Cloud 도움말 "NOW()는 데이터 원본 서버 시간을 반환합니다."에 설명된 것처럼 current_time이 Tableau Desktop에서 기본적으로 호출되지 않기 때문에 이 값은 로컬 시스템 표준 시간대로 드라이버에서 직접 반환됩니다.

 
Knowledge 기사 번호

001471936

 
로드 중
Salesforce Help | Article