집 >데이터 베이스 >MySQL 튜토리얼 >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 중국어 웹사이트의 기타 관련 기사를 참조하세요!