비밀번호

커뮤니티2

구글애널리틱스[Google Analytics]구글애널리틱스 커뮤니티입니다.

[GA4] 빅쿼리 Struct 이란?

 

이번 글은 빅쿼리의 Struct 에 대해 정리해보도록 하겠습니다.

https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#struct_type

 

 

 

[빅쿼리의 Struct 이란?]

Struct 은 빅쿼리 UI 상에서는 Record 라고 표현됩니다.

이렇게 유형이 'Record'인 항목들은 공통점이 하나 있는데요,

바로 쿼리 결과를 봤을 때, 열의 이름이 aaa.bbb 형식이란 점 입니다.

 

간단하게 보자면 struct 구조를 통해 전체 테이블 안에 있는 특정 열들이

한 묶음으로 구분될 수 있게 됩니다.

 

[Struct 를 만드는 방법]

Struct 을 만들 수 있는 방법은 여러가지가 있습니다.

[1] 소괄호

SELECT ('육식동물','초식동물','잡식동물') animal

 

[2] STRUCT <타입>

SELECT STRUCT<STRING, INT64,STRING>('정뿌시',26,'직장인') PERSONAL_INFORMATION


아래처럼 TYPE 앞에서 각 열들에 대한 이름을 정의해줄 수 있습니다.

 

 

 

[3] ARRAY (SELECT AS STRUCT)

추가로, ARRAY 와 STRUCT 은 혼합하여서도 사용이 가능합니다.

그 중 ARRRAY 안에 STRUCT 있는 형태는

ARRAY (SELECT AS STRUCT ~ ) 으로 쓸 수 있습니다.

 

이렇게 ARRAY 안에 STRUCT 이 3개 존재하는 거죠.

 

 

SELECT

      ARRAY (

        SELECT AS STRUCT '정뿌시' AS NAME ,26 AS AGE ,'컨설턴트' AS JOB

        UNION ALL

        SELECT AS STRUCT '이요니' AS NAME ,26 AS AGE ,'공무원' AS JOB

        UNION ALL

        SELECT AS STRUCT '오현디' AS NAME ,26 AS AGE ,'방송PD' AS JOB

      )  AS `GROUP1_INFO`

 

 

정리하면,

 

STRUCT 은 빅쿼리의 RECORD 유형으로

테이블 안에서 또 다른 테이블을 구성하는 것과 유사하다고 이해할 수 있다. (개념상)

ARRAY 가 대괄호였다면 STRUCT은 소괄호로 만들 수 있고,

ARRAY 안에도 STRUCT 을 만들 수 있다.

 

로 정리하겠습니다.



그럼 오늘 글은 여기에서 마치겠습니다 :)

 

소통할 부분 있다면 언제든 댓글 남겨주세요.

감사합니다!

전체댓글0