빅데이터 9

MySQL, 날짜 형식이 내 마음대로 변경 안 된다면..? | CAST함수

데이터를 살펴보다 보면 데이터 형식을 원하는 모습으로 맞춰야 될 때가 자주 있다.특히 날짜..! 데이터 형식 변경 작업에 있어 그 어떤 형식보다도 더 자주 작업을 해 줘야 하는데,특정 날짜 컬럼에서 yyyy-mm-dd 뿐만 아니라 hh-mm-ss 내용까지 함께 반영 될 때가 있기 때문이다. yyyy-mm-dd hh-mm-ss 형식은 초단위까지 표현하는 좀 더 정확한(?) 기입이 필요할 때 쓰이는 시간 표현 방식이다. 하지만 적어도 나의 실무 환경에선 시/분/초 단위까지 확인해야 될 일은 거의(전혀) 없고 연/월/일 까지만 파악하면 되므로, 해당 데이터 형식을 yyyy-mm-dd 로 바꿔 줘야 한다. 이 때 위와 같은 형식으로 입력된 데이터를 DATE_FORMAT 함수로 그 형식을 바꾸려 하다 보면 초 단..

2024.09.01

복잡한 쿼리 간단 정리 함수, WITH 함수(CTE)

업무시 쿼리를 작성하다 보면 반영시킬 내용이 복잡해지면서 쿼리 자체가 길게 늘어지는 경우가 상당히 많습니다.당장 결과 도출을 위해서 어떤 식으로든 작성해도 상관은 없을 수 있지만, 이 쿼리를 누군가 참고할 수 있도록, 혹은 바로 협업 가능하게끔 가독성을 높여 두면그 활용 가치는 훨씬 더 높아지게 됩니다.  그런 차원에서 활용하기 좋은 함수가 있는데요, 바로 WITH 함수입니다. WITH 함수란?WITH함수는 사전적 의미(=함께, 포함된 등)에 맞게 전체 쿼리에 함께 사용되는 또 다른 쿼리를 '함께' 사용할 때 쓰이는 함수입니다. 전체 쿼리 내용이 복잡해 지고, 여러 테이블을 정의해야 된다면 그 특정 쿼리 내에서만 일시적으로 사용 되는 테이블(CTE)들이 계속 생성되기도 하는데요,그런 경우 하위 테이블들 ..

2024.08.18

구글 스프레드시트 데이터 요약 도구 | 피봇 테이블

로우 데이터가 됐던 데이터 마트가 됐던 데이터 구조가 잡히고 데이터가 쌓이다 보면 이 테이블을 통계내고 분석해 보고 싶어진다. 이럴때 특정 함수 수식이나 복잡한 방법 없이도 간단히 데이터를 요약해 볼 수 있다.  바로 피봇 테이블 기능이다. 피봇 테이블(pivot table)?피봇 테이블의 피봇(pivot)은 '회전'이라는 뜻을 갖고 있다. 사용자의 관점에 따라 데이터를 여러 구도로 회전시켜 볼 수 있다 정도로 이해하면 될 것 같다.  피봇 테이블 주요 기능 4가지1. 데이터 그룹화(=요약)대량의 데이터를 원하는 기준에 따라 요약해서 핵심 정보를 쉽게 파악할 수 있다. 2. 데이터 집계그루핑 된 데이터 형식에 맞게 원하는 컬럼의 합계, 평균, 갯수, 최댓값, 최솟값 등의 수치를 집계할 수 있다. 3. 데..

2024.07.24

구글 스프레드시트에서 쉽게 데이터 마트 만드는 함수 2가지

구글 스프렏르시트를 사용하다 보면 다른 출처의 데이터를 그대로, 또는 일부만 옮겨 오고 싶을 때가 있다. 그렇다고 옮겨오고 싶을 때마다 원본 주소를 찾아가 복사/붙여넣기 하기엔 너무 비효율적이다. 이럴 때, 기존에 위치한 원본 데이터의 주소를 불러와 실시간으로 반영 시키는 방법이 크게 두 가지 있다. 1. IMPORTRANGE 함수첫번째 함수는 importrange 함수다.  기본 양식 =importrange(spreadsheet_url, range_string) importrange 함수는 또 다른 구글 시트의 주소 및 데이터 범위를 불러오는 함수이다. 즉, 스프레드시트 툴 내의 데이터만 활용 가능하다는 것이다. 또 다른 특징으로는 해당 시트로 데이터를 불러오는 사람이 원천 데이터 주소의 접근 권한을 ..

2024.07.24

Arrayformula와 같은 역할을 하는 Map 함수, 용도의 차이는?

구글 시트에서 Arrayformula 함수를 사용하다 보면 유사한 함수를 쉽게 접할 수 있다. 바로 Map함수다. Map 함수도 Arrayformula 함수와 마찬가지로 일정 행 또는 열에 같은 수식을 나열하는 역할을 한다. 처음엔 '아 비슷한 함수구나' 하고 그때 그때 떠오르는 함수로 활용할 수 있지만 계속 사용하다 보면 어떤 차이점이 있는지 의문점이 들 때가 있다.의문점을 넘어 어떤 상황이 각각 더 효율적인가? 를 떠올리게 된다면 이 글을 참고해 보면 좋겠다.  단순연산 단순 연산에 대한 결과를 출력하고자 할 때, Arrayformula 함수의 속도가 더 빠르다.  그 이유는 예시를 통해 살펴 보자. 예시) =ARRAYFORMULA(A2:A100 * 2) =MAP(A2:A100, LAMBDA(a, a..

2024.07.23

구글 스프레드시트, 반복 함수 한 번에 적용시키고 싶다면? | Arrayformula

스프레드시트에서 작업을 하다보면 동일한 연산을 나열해야 되는 경우가 상당히 많다. 이런 경우 수식이 시작되는 첫 번째 행을 복사하여 데이터의 끝, 혹은 아예 시트 최하단까지 복사/붙여넣기를 하면 되긴 하는데, 이는 굉장히 비효율적이므로, 수식 한 번에 내가 원하는 데이터를 나타낼 수 있도록 함수를 다시 짜 주는 것이 좋다. 그 대표적인 함수가 바로 arraryformula다.  Arrayformula? 이 함수를 사용하면 지정한 범위까지의 데이터를 그대로 가져오거나 또는 수식을 걸어 원하는 범위까지의 데이터 연산이 가능하다. 불필요한 함수 복사/붙여넣기가 필요 없게 된다. 각 셀에 복사/붙여넣기도 딱히 불편하지 않은데 굳이 이 함수를 써야 하나..? 굳이 써야 할 이유가 있다. 바로 데이터 정확도를 최대..

2024.07.23

업무상 실수를 줄이는 3가지 방법

나는 일 할 때 실수가 많다. 특히 지금 같이 데이터 다루는 일을 하다 보면 짜잘짜잘(?)한 실수들이 굉장히 많이 일어난다. 인턴을 포함하면 4번째 회사인데, '내가 이렇게 실수가 많은 사람이었나' 싶을 정도로 실수가 많다. 일에 대한 진지함, 열정은 그 어느때 보다 높다고 자부한다. 그런데도 자꾸 실수가 반복되다 보니 이를 줄일 수 있는 방법을 떠올렸고, 실천중이다. 1. 실수 내역을 다 적어라실수를 했으면 일단 다 적는다. 사소한 실수라도 우선 다 적고 보면 꽤 많이 보일 것이다.그 중 내 통제를 벗어난 내용은 모두 지운다. 어차피 내 손을 벗어나 일어난 일은 실수라기 보다 '사고'에 가깝기 때문이다. 굳이 좋게 생각한다면 예외 상황을 맞이 했을 때  2. 실수 방지 및 정상 여부 검증 시스템을 만들..

2024.07.15

처음 도전하는 데이터 시각화 | 데이터 분석의 꽃, 대시보드

업무 중 처음으로 대시보드 제작 업무를 맡았다.기존 대시보드로는 봐야될 내용이 너무 많아 오히려 하나도 눈에 들어오기 어려운 형태였다."전체적인 내용은 간소화하면서 명확히 보여줄 내용에 집중하기"말은 쉽지만 막상 뭘 어떻게 보여줘야 되나 생각해 보면 막막했다. 시작 전 몇 차례 단계를 정해놓고 그대로 실행에 옮겼다. 1. 열람 대상 선정(누가? 왜?)우선 이 대시보드를 누가, 왜 보는 지에 대해 생각해야 한다. 매일 실적 보고를 하면서도 누가, 왜 보는지, 보고 나서 어떤 액션을 취할지 한 번도 깊게 생각해 본 적 없었다. 막연히 늘 해오던 일이기 때문에 해 왔을 뿐 이 보고의 목적과 의미 따위(?)는 관심 밖이었다.그러나 대시보드를 새로 제작하게 되면서 가장 먼저 떠올리게 된 부분이 바로 '누구를 위해..

2024.07.15

데이터 전처리의 중요성 | 머신러닝 EDA? 엑셀부터 차근차근

데이터 분석가 초심자로서 요즘 가장 중요하다고 느끼는 부분이 있다. 바로 데이터 전처리이다. 데이터 전처리가 제대로 되지 않은 상태에서 데이터 집계를 하게 되면 처음엔 아무리 사소했을 지라도 결국엔 '스노우볼(snow ball)효과' 처럼 그 끝엔 꽤나 참담한? 결과를 얻을 수 있다. 내가 그랬다. ● 엑셀을 소홀히 하지 말자.. '절대'이론으로 처음 배운 '데이터 전처리'라고 한다면 EDA가 있는데 그 당시에는 머신러닝, 딥러닝 등 고차원 수준에서만 사용하는 행위로 여겼다.엑셀, 구글시트 등 보다 보편적인 데이터 업무 환경에서부터 전처리 과정을 생활화 해 두는 게 바람직하고, 결과적으로도 훨씬 더 나은 작업물을 낼 수 있다.나같이 데이터를 많이 다뤄보지 않고 국비 교육을 통해 데이터를 다루기 시작한 사..

2024.07.09