해결된 질문
작성
·
372
0
동영상 부분의 내용 따라서 평일 수식 넣었는데,
일요일 [기준일자] 1 작동 잘됩니다.
토요일 [기준일자] 7 작동 안됩니다.
예를 들면 토요일 3, 10, 17, 24, 31 이 평일 3, 10, 17, 24, 31과 동일하게 숫자가 표시되는데 수식 관련 도움좀 주실 수 있나요?
답변 1
0
제가 첨부해서 드렸던 데이터는 2022년 12월 1일부터 12월 31일까지의 태블로에서 캘린더를 제작 할 수 있는 샘플 데이터를 첨부하였습니다. 이때 기준일자를 활용해서 주말과 휴일이라는 새로운 차원을 생성할 수 있는데요. 먼저 주말의 경우에는 DATEPART 함수를 이용하여 생성할 수 있습니다.
DATEPART('weekday', [기준일자])를 입력하면 2022년 12월 1일부터 12월 31일까지 각 각의 기준일자가 무슨 요일인지 숫자로 나타나게 됩니다. 이때, 1부터 7까지 일, 월, 화, 수, 목, 금, 토 순서로 정의됩니다. 따라서 DATEPART('weekday', [기준일자])가 1 또는 7일 경우에 일요일과 토요일을 선택할 수 있게 됩니다.
주말일 경우 날짜 만을 불러오기 위해서 다음과 같은 식을 적용하면 아래의 데이터 보기와 같이 주말일 경우에만 3, 4 10, 11, 17, 18, 24, 25가 나타나는 것을 확인할 수 있습니다.
IF DATEPART('weekday', [기준일자])= 1 OR DATEPART('weekday', [기준일자])= 7
THEN DATEPART('day', [기준일자])
END
반면 평일인 경우에 날짜를 불러오기 위해서는 위에 주말 계산식의 조건문에서 두 조건이 아닌 경우에 날짜를 불러오면 됩니다. 이때 NOT 함수를 사용하면 긴 문장을 만들 필요가 없죠. 따라서 다음과 같은 식을 사용하면 아래 그림과 같이 평일일 경우에만 1, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 19, 20 , 21, 22, 23, 26, 27, 28, 29, 30이 나타나고 나머지는 NULL로 표현되는 것을 알 수 있습니다.
IF NOT(DATEPART('weekday', [기준일자])= 1 OR DATEPART('weekday', [기준일자])= 7)
THEN DATEPART('day', [기준일자])
END
여기까지 따라오셨다면 마크 패널에 생성된 측정값인 주말과 평일을 드래그하면 달력이 완성됩니다.
넵 도와주셔서 정말 감사합니다!