[BigQuery/빅쿼리-SQL] 여러 개의 값 비교(case식, sign함수, greatest함수, least함수)
·
SQL
하나의 레코드에 포함된 여러 개의 값을 비교해보는 방법입니다. 연도 별 각 분기의 매출 테이블을 아래와 같이 형성해 주었습니다. 분기별 매출 증감 판정 SQL에서 하나의 레코드가 가지고 있는 값을 select문으로 한 번에 볼 수 있습니다. CASE 식을 이용해 조건을 걸어주고 1분기보다 2분기의 매출이 많은 경우 '+' 같으면 공백, 적은 경우 '-'을 출력하며, 매출액 차이는 'different_q2-q1'으로 출력하며 SIGN함수를 적절히 이용하면 CASE 식보다 더욱 간단하게 증감을 알아낼 수 있습니다. https://cloud.google.com/bigquery/docs/reference/standard-sql/mathematical_functions?hl=ko#sign 수학 함수 | BigQu..
[BigQuery/빅쿼리-SQL] 문자열 연결 (CONCAT 함수)
·
SQL
데이터를 분석할 때 다양한 값을 비교하거나 여러 값을 집약하여 하나의 값으로 만드는 경우가 많다. 값을 조작하고 목적에 대해 정리해보고 레코드에 포함된 다른 값을 조합하여 새로운 값을 집계하는 방법을 알아보자. 문자열 연결하기 https://cloud.google.com/bigquery/docs/reference/standard-sql/string_functions?hl=ko#concat 문자열 함수 | BigQuery | Google Cloud 의견 보내기 문자열 함수 이 문자열 함수는 STRING 및 BYTES 데이터 유형이라는 두 가지 값에 작동합니다. STRING 값은 올바르게 구성된 UTF-8이어야 합니다. STRPOS와 같은 위치 값을 반환하는 함수는 이 cloud.google.com CONC..
[BigQuery/빅쿼리-SQL] 결손 값을 디폴트 값으로 대치 (COALESCE 함수)
·
SQL
숫자 또는 문자열을 다룰 때 중간에 NULL이 들어있는 경우에 NULL과 문자열을 결합하면 NULL이 된다. 또한 NULL과 사칙연산을 할 때도 NULL이 된다. 이러한 경우 반드시 데이터를 가공해야 한다. https://cloud.google.com/bigquery/docs/reference/standard-sql/conditional_expressions?hl=ko#coalesce 조건식 | BigQuery | Google Cloud 의견 보내기 조건식 조건식은 입력의 평가 순서에 제약을 적용하며 기본적으로 단락을 통해 왼쪽에서 오른쪽으로 평가되며 선택된 출력 값만을 평가합니다. 반대로, 정규 함수의 모든 입력은 cloud.google.com COALESCE함수를 사용했으며, 쿼리의 예를 보며 설명을..
[BigQuery/빅쿼리-SQL] 날짜, 타임스탬프 다루기(날짜/시간 함수, 날짜 date형, 문자열 함수)
·
SQL
로그 데이터를 처리할 시 날짜 또는 타임 스탬프와 같은 시간정보가 많이 활용된다. 하지만 미들웨어에 따라 자료형, 함수에 큰 차이가 있다. 현재 날짜와 타임스탬프를 추출해보자! 지정한 값의 날짜와 시각 데이터를 추출하기 https://cloud.google.com/bigquery/docs/reference/standard-sql/conversion_functions?hl=ko#cast 변환 함수 | BigQuery | Google Cloud 의견 보내기 변환 함수 BigQuery는 다음 변환 함수를 지원합니다. 이러한 데이터 유형 변환은 명시적이지만 일부 변환은 암시적으로 발생할 수 있습니다. 암시적 및 명시적 변환에 대한 자세한 내 cloud.google.com 날짜와 시각에서 특정 필드를 추출하는 법..
[BigQuery/빅쿼리-SQL] 문자열을 배열로 분해하기 (split 함수, split_part 함수)
·
SQL
빅데이터 분석에서 제일 많이 사용되는 자료형은 문자열이다. 문자열 자료형은 범용적인 자료형으로 더 세부적으로 분해해서 사용해야 한다. 앞에서 사용한 접근 로그 샘플을 기반으로 페이지 계층을 나누어 보았다. 배열의 인덱스는 일반적으로 1로 시작한다. 하지만 빅쿼리는 배열의 인덱스를 0부터 시작하고자 하면 OFFSET, 1부터 시작하고자 하면 ORDINAL을 지정한다. 추가로 배열의 길이 이상의 인덱스에 접근하고자 하면 보통 NULL값이 나오지만 빅쿼리는 오류를 리턴한다. NULL로 리턴하고자하면 SAFE_OFFSET or SAFE_ORDINAL을 지정해야 한다는 점을 유의하자!
[BigQuery/빅쿼리-SQL] URL에서 요소 추출하기 (url함수, 정규 표현식, regexp_extract함수, net.host 함수)
·
SQL
현장에서 분석 요건과 로그 조건을 검토하지 않고 최소한의 요건만 저장해두는 경우가 있습니다. 이때 url을 기반으로 요소들을 추출해봅시다. 첫 번째로 referrer를 이용하여 어떤 웹페이지를 거쳐 왔는지 판별해봅시다. net.host 함수를 사용했습니다. Net 함수 | BigQuery | Google Cloud 의견 보내기 Net 함수 NET.IP_FROM_STRING NET.IP_FROM_STRING(addr_str) 설명 IPv4 또는 IPv6 주소를 텍스트(STRING) 형식에서 네트워크 바이트 순서의 이진(BYTES) 형식으로 변환합니다. 이 함수는 addr_str에 다음 형 cloud.google.com URL에서 경로와 요청 매개변수 값을 추출 상품과 관련된 레포트 작성 시 어떤 상품이 열..