> 데이터 베이스 > MySQL 튜토리얼 > BigQuery에서 데이터 피벗을 해제하는 방법은 무엇인가요?

BigQuery에서 데이터 피벗을 해제하는 방법은 무엇인가요?

Susan Sarandon
풀어 주다: 2024-12-23 03:19:09
원래의
938명이 탐색했습니다.

How to Unpivot Data in BigQuery?

BigQuery에서 데이터를 피벗 구조에서 비피봇 구조로 변환하는 방법

BigQuery에서는 피벗 테이블을 피벗되지 않은 형식으로 변환합니다. 여기에는 데이터를 보다 표 형식으로 표현하는 작업이 포함됩니다. 이를 달성하려면 다음 단계를 고려하세요.

UNPIVOT 연산자 사용(권장)

이제 BigQuery는 이 변환을 단순화하는 전용 UNPIVOT 연산자를 제공합니다. 이 연산자를 사용하면 회전할 피벗 열(예: Q1, Q2, Q3, Q4)과 결과 열(예: 매출, 분기)을 지정할 수 있습니다.

SQL 구문:

SELECT product, UNPIVOT(value FOR quarter IN (Q1, Q2, Q3, Q4)) AS sales_quarter
FROM pivoted_table
로그인 후 복사

중첩 사용 쿼리

UNPIVOT 연산자가 도입되기 전에는 BigQuery 사용자가 중첩 쿼리를 사용하여 피벗 해제를 달성할 수 있었습니다.

SQL 구문:

SELECT product,
  (SELECT value FROM UNNEST(SAFE_CAST(STRUCT(NULL AS name, Q1 AS "value") AS STRUCT<name STRING, value STRING>))) AS Q1,
  (SELECT value FROM UNNEST(SAFE_CAST(STRUCT(NULL AS name, Q2 AS "value") AS STRUCT<name STRING, value STRING>))) AS Q2,
  (SELECT value FROM UNNEST(SAFE_CAST(STRUCT(NULL AS name, Q3 AS "value") AS STRUCT<name STRING, value STRING>))) AS Q3,
  (SELECT value FROM UNNEST(SAFE_CAST(STRUCT(NULL AS name, Q4 AS "value") AS STRUCT<name STRING, value STRING>))) AS Q4
FROM pivoted_table
로그인 후 복사

예시 데이터 변환

다음 예에서는 피벗 테이블을 변환합니다.

product | Q1 | Q2 | Q3 | Q4
-------------------------------
Kale    | 51 | 23 | 45 | 3
Apple   | 77 | 0  | 25 | 2
로그인 후 복사

피벗 테이블로:

product | sales | quarter
-------------------------------
Kale    | 51    | Q1
Kale    | 23    | Q2
Kale    | 45    | Q3
Kale    | 3     | Q4
Apple   | 77    | Q1
Apple   | 0     | Q2
Apple   | 25    | Q3
Apple   | 2     | Q4
로그인 후 복사

위 내용은 BigQuery에서 데이터 피벗을 해제하는 방법은 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿