본문 바로가기

한국어/구글 애널리틱스 4 (GA4)

[BigQuery] BigQuery에서 결과 데이터를 구글 시트로 내보냈을 때 user_pseudo_id가 잘리는 문제와 해결 방법

문제 상황

BigQuery에서 쿼리 결과 데이터를 Google Sheets로 내보낼 때, user_pseudo_id 값이 일부 잘리는 현상이 발생합니다.

  • 예시:
    • BigQuery에서 보이는 값: 2135223330.1731889237
    • Google Sheets에서 보이는 값: 2135223330.173189 (뒷부분 잘림)

이 문제는 Google Sheets가 데이터를 불러올 때 자동으로 숫자로 인식하고, 숫자의 소수점 자리수를 제한하면서 발생합니다. user_pseudo_id가 고유 식별자인데도, 숫자로 처리되면서 원본 값이 손실되는 것입니다.

 


 

문제 원인

  1. Google Sheets의 데이터 자동 형식화
    • Google Sheets는 숫자처럼 보이는 데이터를 자동으로 숫자로 처리합니다.
    • 숫자로 처리될 경우, 소수점 자리수는 제한되고 일부 값이 잘릴 수 있습니다.
  2. BigQuery 데이터 형식
    • BigQuery에서 user_pseudo_id는 본래 문자열(String) 데이터입니다.
    • 하지만 Google Sheets로 데이터를 내보낼 때, 문자열이 아닌 숫자로 처리되며 문제가 발생합니다.

 


 

해결 방법: BigQuery에서 따옴표(') 추가

BigQuery 쿼리 결과를 Google Sheets로 내보내기 전에, 값 앞에 따옴표(')를 추가하여 문자열로 처리하도록 만듭니다.
이 방법을 통해 Google Sheets에서 user_pseudo_id가 텍스트로 인식되어, 값이 잘리지 않고 온전히 표시됩니다.

해결 쿼리

 
  • FORMAT('%s', user_pseudo_id): user_pseudo_id를 문자열로 변환.
  • CONCAT("'", ...): 값 앞에 따옴표(')를 붙여 Google Sheets에서 텍스트로 처리되도록 강제.
SELECT CONCAT("'", FORMAT('%s', user_pseudo_id)) AS userPseudoId 
FROM `your_project_id.dataset_name.table_name`

 


 

결과 확인

  1. BigQuery 출력: '2135223330.1731889237
  2. Google Sheets 출력: '2135223330.1731889237
    • 값이 정확히 표시되고, 잘리지 않습니다.

 


 

이 방법으로 BigQuery에서 Google Sheets로 데이터를 내보낼 때 발생하는 user_pseudo_id 잘림 문제를 쉽게 해결할 수 있습니다! 😊