집 >데이터 베이스 >MySQL 튜토리얼 >BigQuery의 UNPIVOT 연산자는 표 형식 데이터를 어떻게 재구성할 수 있나요?
테이블 형식의 데이터를 보다 유연하고 사용하기 쉬운 형식으로 재구성해야 하는 경우가 많습니다. BigQuery에서 UNPIVOT 연산자는 이 변환을 위한 강력한 솔루션을 제공합니다.
다음 예를 고려하세요.
원래 테이블 구조:
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 |
UNPIVOT을 사용한 SQL 쿼리:
SELECT product, value AS sales, OFFSET AS quarter FROM UNNEST(FLATTEN( ARRAY( STRUCT('Q1' AS OFFSET, Q1 AS value), STRUCT('Q2' AS OFFSET, Q2 AS value), STRUCT('Q3' AS OFFSET, Q3 AS value), STRUCT('Q4' AS OFFSET, Q4 AS value) ) )) AS UNNESTED ORDER BY product, quarter;
이 쿼리는 ARRAY 및 STRUCT 함수를 사용하여 원본 테이블의 각 행. 그런 다음 FLATTEN 함수를 사용하여 배열의 각 구조체에서 구조체 필드(판매 및 분기)를 추출합니다. 마지막으로 UNNEST 연산자를 사용하여 ARRAY에서 개별 값을 추출합니다.
결과 테이블은 제품, 매출 및 분기 열이 포함된 원하는 형식이 됩니다.
위 내용은 BigQuery의 UNPIVOT 연산자는 표 형식 데이터를 어떻게 재구성할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!