목록전체 글 (105)
개발은 처음이라 개발새발
IF문을 활용하면 처음부분과 마지막 부분의 라벨을 다르게 표시할 수 있는데요. 우선 계산 필드를 같이 보겠습니다. /*FIRST&LAST */ IF FIRST()=0 THEN 'FIRST' ELSEIF LAST()=0 THEN 'LAST' ELSE 'NORMAL' END 막대차트 라벨링과 크게 다르지 않은 구문인데 여기서 특이한 것은 FIRST() = 0 / LAST () = 0 일 겁니다. "FIRST() = 0"이란 첫 지점에서 얼마나 떨어져 있는지 나타낸다고 보면 됩니다. 그렇다면 FIRT() = 0은 시작점이라는 것을 뜻합니다. 이렇게 계산 필드를 만들어 색상에 적용하면 위와 같이 시작점과 끝점을 다르게 라벨링하는 표를 생성할 수 있습니다.
태블로에는 여러 기능이 있지만 이번에는 IF, IIF문을 통해 구간을 설정해서 라벨링 하는 작업을 진행해보겠습니다. IF문은 파이썬을 다뤄본 분들에게 굉장히 익숙하지만 IIF문은 뭘까 싶으실텐데요. IIF문은 조건이 하나일 때 간편하게 사용하기 좋은 조건문입니다. IF & IIF문을 사용하려면 데이터 패널에서 계산된 필드를 만들어 사용하면 되는데요. 우선 IIF문을 보도록하겠습니다. /* 일 평균 고객(IIF) */ IIF(AVG([Cust Cnt])>= 200,'200명 이상','200명 미만') 이렇게 IIF문을 활용해 200명을 기준으로 라벨링을 해봤습니다. 그렇다면 IF문을 사용해보겠습니다. /* 일 평균 고객(IF) */ IF AVG([Cust Cnt]) >= 200 THEN '200명 이상' ..
전편: 2024.02.13 - [태블로] - [Tableau] 매개변수 만들어서 활용하기 [Tableau] 매개변수 만들어서 활용하기 태블로에서 매개변수를 활용해 외화단위의 차트를 원화로 표출할 수 있도록 할 수 있습니다. 그렇다면 매개변수는 어떻게 만들까요? 방법은 간단합니다. 우선 [데이터패널]에서 우클릭을 한 후 data-so-hard.tistory.com 지난 글에서 매개변수를 통해 단위 변환을 만들었다면, 이번엔 지표를 매개변수로 만들어 지표들을 설정할때마다 수치 변동을 보여주는 매개변수를 생성해보도록 하겠습니다. 그럴려면 우선 매개변수를 만들어야 합니다. 매개변수 만들기는 [데이터패널]에서 우클릭을 한 후 [매개변수 만들기]를 클릭합니다. 제가 가지고 있는 브라질 이커머스 자료에서는 매출 뿐만..
태블로에서 매개변수를 활용해 외화단위의 차트를 원화로 표출할 수 있도록 할 수 있습니다. 그렇다면 매개변수는 어떻게 만들까요? 방법은 간단합니다. 우선 [데이터패널]에서 우클릭을 한 후 [매개변수 만들기]를 클릭합니다. [매개변수 만들기]를 클릭한 후 만들 매개변수를 설정하면 되는데요. 여기서 이름을 정하고 [허용 가능한 값]에서 목록을 클릭 후 직접 지정해줄 수 있습니다. 저는 브라질 헤알 단위를 한국 원화로 변환하는 결과를 보여주고 싶기에 처음은 기존 데이터인 브라질 헤알과 값에는 1을 추가 버튼을 누른 후에는 원화 값을 추가합니다. 이후에 매개변수를 적용한 데이터 필드를 새로 만들어야 하는데요. 그러기 위해서는 적용할 데이터를 우클릭한 후 [만들기] > [계산된 필드]를 클릭합니다. 전 판매 가격에..
-- ROW_NUMBER() : 중복 없는 순위 (고유) -- RANK() : 동점일 때 중복 순위(공동 등수) -- + 공동 순위자가 있을 때 그 수만큼 -- 건너뛰고 다음 등수를 매김 -- DENSE_RANK() : 동점일 때 중복 순위(공동 등수) --+ 순위를 연속으로 매김 SQL상에서 순위를 매기는 방법은 ROW_NUMBER() / RANK() / DENSE_RANK() 세가지가 있다. 이 함수들을 사용할 때 함께 붙어오는 것이 있는데 OVER()이다. OVER() 안에는 ORDER BY를 통해 조회시 표출 되는 조건을 붙일 수 있고 PARTITION BY를 통해 순위를 구분하는 또 하나의 조건을 설정할 수 있다. WITH TB AS ( SELECT 'A' AS NAME, 'class1' AS ..
SELECT * REPLACE('대체할 값'AS'컬럼명') SQL에서도 불러올 값을 간단하게 혹은 금액 같은 경우 원화에 맞게 환산해 대체할 수 있는 함수가 있습니다. REPLACE()함수를 활용하면 됩니다. 예제는 아래와 같습니다. -- REPLACE()함수 예제 SELECT * REPLACE(price * 10000 AS price) FROM `olist.olist_order_items`
SELECT * EXCEPT('제외할 컬럼') SQL에서 필요 없는 컬럼을 빼고 불러오고 싶은 경우, 간단한 방법은 필요한 컬럼을 모두 적는 것이지만 필요한 컬럼이 굉장히 많고 필요 없는 컬럼이 적을 경우 EXCEPT 함수를 사용하는 게 현명하다. --EXCEPT() 함수 예제 SELECT * EXCEPT(shipping_limit_date, freight_value) FROM `olist.olist_order_items`
DATE_TRUNC('날짜', '남기는 부분') DATETIME_TRUNC( '날짜', '남기는 부분') TIMESTAMP_TRUNC( '날짜', '남기는 부분') ※ 추출할 부분 ※ YEAR : 연도 (결과: 해당 연도의 첫날) MONTH : 월 (결과: 해당 월의 첫날) DAY : 일 (결과: 해당 날짜의 0시 0분) WEEK : 주(기본 일요일 시작) (결과: 해당 주차의 첫 날(일)) WEEK(MONDAY) : 주(월요일 시작) (결과: 해당 주차의 첫 날(월)) QUARTER : 분기 (결과: 해당 분기의 첫 날) HOUR : 시 MINUTE : 분 SECOND : 초 -- 원하는 정보까지만 추출하는 DATE/DATETIME/TIMESTAMP_TRUNC SELECT order_purchase_t..
** EXTRACT('추출할 부분' FROM '날짜 컬럼') 날짜에서 일부분만 추출하고 싶을 때 SQL에서는 EXTRACT 함수를 사용한다. ※ 추출할 부분 ※ YEAR : 연도 MONTH : 월 DAY : 일 DAYOFWEEK : 요일(0: 월요일 ~ 6: 토요일) WEEK : 주(기본 일요일 시작) WEEK(MONDAY) : 주(월요일 시작) QUARTER : 분기 HOUR : 시 MINUTE : 분 SECOND : 초 -- 필요한 값만 추출하는 EXTRACT SELECT order_purchase_timestamp, EXTRACT(YEAR FROM order_purchase_timestamp) AS YEAR, EXTRACT(QUARTER FROM order_purchase_timestamp) AS ..
SELECT DATE(2016, 12, 25) AS date_ymd, DATE(DATETIME '2016-12-25 23:59:59') AS date_dt, DATE(TIMESTAMP '2016-12-25 05:30:00+07', 'Asia/Seoul') AS date_tstz; SELECT DATETIME(2008, 12, 25, 05, 30, 00) AS datetime_ymdhms, DATETIME(TIMESTAMP '2008-12-25 05:30:00+00', 'Asia/Seoul') AS datetime_tstz DATE(): 연도/ 월/ 일만 표출 DATETIME(): 연도/월/일 시:분:초까지 표출 TIMESTAMP: DATETIME과 동일하게 표출되지만 읽는 곳의 지역에 따라 상대적인 시간..