기타/Python

250728_파이썬(무슨요일인지 맞추기), 태블로 기초

baektree 2025. 7. 28. 20:37

요약/나만의 인사이트

  • 태블로 로그인 절차가 까다로운 것 같다. 그만큼 보안에 각별히 신경쓰는 듯 하다.
  • drill and drop down 하는 형태로 태블로의 기능은 그렇게 어려운 것 같진않다. 굉장히 직관적이고 간편하다.
  • 중요한 건 이것을 통해 내가 보고 싶은것, 파악해야 할 것 즉 목표이고 그것을 어떻게 구현할 수 있을까라는 관점이다.
  • 따라서 튜터님의 강의를 들을 때 이 시각화 자료를 통해서 무엇을 알고 싶은것일까? 무엇을 해결하고 싶은 것일까? 등의 자세로 수업에 임해야겠다.

새롭게 알게 된 것

  • 태블로
    • 테이블 구분 : 차원 / 측정값
      • 차원은 구분된 항목이고
      • 측정값은 순익, 매출 등 숫자 값
    • 차원 → 측정값으로 사용할 수 있다.
      • e.g. 마우스 우클릭 후 마크의 텍스트로 끌고오면 카운트, 최대값등의 수치를 사용할 수 있다.
    • 건단가 = 총 매출 / 주문건수와 같은 새로운 필드를 계산된 필드로 만들 수 있다.
    • 취소건수를 알고 싶으면 주문건수를 텍스트에 넣고 필터에 stats를 넣어서 취소한 것만 필터링한 숫자를 구할 수 있다.
    • 필터링 하는 방법
      1. 필터 필드에 년/월 하나씩 차례로 클릭한다.
      2. 대시보드에서 필터값을 매긴 시트항목의 필터를 클릭해 년/월을 추가해준다.
      3. 단일값 드롭다운 후 제목 옆에 붙여준다.
      4. 필터는 워크시트 단위로 적용되기 때문에 대시보드 전체에 적용되게 하기 위해서 **“워크시트에 적용 > 이 데이터 원본을 사용하는 모든 항목”**을 적용해준다.
      5. 대시보드는 퍼블릭, 클라우드, 로컬에 저장할 수 있다.
      6. 클라우드는 조직 구성원관 소통, 기준선 이하일시 알람기능, 공유 등이 가능하다.
      7. 태블로는 twb/twbx 두가지 파일포맷으로 나눠진다.
      8. twbx는 이미지, 원본 데이터가 패키지로 담겨있는 파일이다.
  • 코드타카 특정일자의 요일 구하기
    # 1. 요일 리스트 만들기
    # days = ["FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"]
    
    # 2. 각 달의 일수 정의(윤년):
    # month_days = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    
    # 3. (a,b)까지의 총 일수 계산
    # 1월부터 (a-1)월까지 모든 일수를 더하고,
    # 그 다음 b일을 더하면 전체 경과 일수가 나온다.
    
    # 4. 요일 계산
    #전체 경과일수를 7일로 나눴을 때의 나머지를 이용해 요일을 찾는다.
    # 1/1 => 7로 나누면 나머지1  / 요일: days[나머지-1]요일
    # 1/2 => 7로 나누면 나머지2 /  요일: days[나머지-1]요일
    
    # 4월 18일 요일 구하기
    
    def solution(a, b):
        days = ["FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"] #1/1부터 금토일 월화수 리스트로 만들기
        month_days = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] #각 월의 일수 리스트로 만들기
        month_plus = 0
    
        for i in range(1, a): #1부터 a월까지 날짜수를 합산하기 위해 순회
          days_of_month =  month_days[i-1] #만약 4/18을 구하고 싶으면 3월까지의 날짜 수 합산
          month_plus += days_of_month
        total = month_plus + b #거기에다 18일 더하기
    
        day_index = total % 7 #7로 나눴을 때 나머지가 인덱스인 요일 구하기
        return days[day_index-1]
    
    solution(4, 18)
    
    
    • 다른 풀이
    • def solution(a, b):
      	days = ["FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"]
      	month_days = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
      	
      	total = sum(month_days[:a - 1]) + (b - 1) # b-1을 더하는 이유: 1월 1일 = total 0일차로 맞추기
      	return days[total % 7]
      ​
       
    • 요일 리스트 days생성, 1월 1일이 금요일이므로 기준일이 days[0]
    • 각 월의 일 수 담은 리스트 month_days 생성
    • sum(month_day[:a - 1]) 1월부터 (a-1)까지의 일수 합산 ex) 4/18이라면 month[0:3]이니까 1월부터 3월까지의 합산
    • b-1 : 현재 달의 b일 → 1월 1일을 0일차로 보정하려고 -1을 함, 그럼 바로 인덱스로 요일을 알아낼 수 있음.
    • days[total % 7] 전체 경과일수를 7로 나눈 나머지를 days 리스트의 인덱스로 사용
    • 일차 나머지 인덱스 요일
      0일차 0 0 fri
      1일차 1 1 sat
      2일차 2 2 sun
      b-1일차 x x  

다음에 적용해 볼 것

  • 로그인 이슈로 느린 학습자가 된 것 같아 마음이 쓰였지만, 그럼에도 나는 포기하지 않고 계속해서 나아가는 사람이라는 점 명심하며 열심히 학습에 임해야겠다.
  • 오늘도 정말정말 수고 많았다. 내일은 듀얼 모니터를 가지고 더 재밌에 학습해보자고!
  • 위클리 문제(?) 세션 문제 한번 풀어보고 해설 보기
  • SQL도 한 문제는 풀어야 감을 잃지 않을 것 같으니 내일부터 코드타카 다시 돌입!