data modeling
관계 설정
- 여러 테이블의 데이터 분석 수행
- 관계 설정을 통해 올바른 계산 결과값 표시하거나 시각화
- 테이블마다 기본키(PK) 필요하며 데이터 형식이 호환 되어야 함
자동 검색으로 관계 만들기
- 파일 탭 > 가져오기 > 파워 피벗, 파워 뷰 > 매출현황.xlsx
- 자동으로 관계를 검색해서 만들어 줌
- 모델 > 홈 탭 > 관계 관리 > 자동 검색 > 닫기
- [거래처]와 [판매] 테이블의 관계는 1: *(다) 관계선 확인
수동으로 관계 만들기
- 날짜와 판매 테이블 관계 설정
- 모델 > 홈 탭 > 관계 관리 > 새로 만들기 >
- 관계 만들기 > 날짜, 판매 테이블 > 날짜 필드 선택
- 날짜와 판매 테이블에 1:다 연결선 생성 됨
- 모델 보기 > 날짜 테이블 > 날짜 필드 > 판매 테이블 > 날짜 필드 > 드래그 & 드롭 으로도 생성 가능
관계 편집
- 분류, 제품 분류 테이블 관계 편집
- 연결선 > 더블 클릭 > 양쪽 테이블 분류 코드 선택
- 연결선 > 마우스 오버로드 > 관계 필드 선택 됨
관계 삭제
DAX(Data Analysis Expressions) 수식
- 로드된 모델에 수식 등 작성 시 사용
- 수식 또는 함수, 연산자 및 상수 컬렉션
DAX 구문
- 계산된 열(측정값) = 함수(테이블 이름[열 이름])
- ex) 총수량 = SUM('판매'[수량])
기본 DAX 함수
- Year([date]) : 연도 4자리 숫자로 표시
- Month([date]) : 1~12까지 월을 숫자로 표시
- Day([date]) : 1~31까지 일을 숫자로 표시
- Sum([coloumn]) : 열에 있는 모든 숫자의 합
- AVERAGE([coloumn]) : 열에 있는 모든 숫자의 평균
- COUNT([coloumn]) : 열에 있는 모든 숫자의 개수
계산 열
- 새로운 열을 만들어 각 행의 값을 계산하거나 DAX식을 추가한 열
날짜 정보
날짜 열에 연도 열 추가
- 데이터 보기 > 날짜 테이블 > 테이블 도구 탭 > 계산 그룹 > 새 열
- 수식 입력줄 > 연도 = [날짜].[연도]
날짜 열에 분기 열 추가
- 데이터 보기 > 날짜 테이블 > 테이블 도구 탭 > 계산 그룹 > 새 열
- 분기 = [날짜].[QuarterNo] & "분기"
날짜 열에 월No 열 추가
- 데이터 보기 > 날짜 테이블 > 테이블 도구 탭 > 계산 그룹 > 새 열
- 월No = MONTH([날짜])
날짜 열에 월(영문) 열 추가
- 데이터 보기 > 날짜 테이블 > 테이블 도구 탭 > 계산 그룹 > 새 열
- 월(영문) = FORMAT([날짜],"mmm")
매출 분석
- 판매 테이블을 기반으로 매출금액, 매출원가, 매출이익 작성
매출금액
- 데이터 보기 > 판매 테이블 > 테이블 도구 탭 > 계산 그룹 > 새 열
- 매출금액 = [단가]
*
[수량] *
(1-[할인율])
- 열도구 >
'
천단위 구분 > 소수점 0
매출원가
- 데이터 보기 > 판매 테이블 > 테이블 도구 탭 > 계산 그룹 > 새 열
- 매출원가는 제품 테이블의 원가 필요 > RELATED() 사용
- 매출원가 = RELATED('제품'[원가]) * [수량]
- 열도구 >
'
천단위 구분 > 소수점 0
매출이익
- 데이터 보기 > 판매 테이블 > 테이블 도구 탭 > 계산 그룹 > 새 열
- 매출이익 = [매출금액] - [매출원가]
- 열도구 >
'
천단위 구분 > 소수점 0
측정값
- 열을 추가하지 않고 필요한 값으로 계산해 놓기
- 테이블이나 각종 차트에서 시각화 시 사용
총매출금액과 매출이익률
총매출금액
- 데이터보기 > 테이블 도구 > 계산 그룹 > 새 측정값
- 총매출금액 = SUM('판매'[매출금액])
- 열도구 >
'
천단위 구분 > 소수점 0
총매출이익
- 데이터보기 > 테이블 도구 > 계산 그룹 > 새 측정값
- 총매출이익 = SUM('판매'[매출이익])
- 열도구 >
'
천단위 구분 > 소수점 0
매출이익률
- 데이터보기 > 테이블 도구 > 계산 그룹 > 새 측정값
- DIVIDE() 함수 사용, 0으로 나눌시 0으로 값 추가
- 매출이익률 = DIVIDE([총매출금액],[총매출이익],0)
- 열도구 >
%
> 소수점 2
거래건수와 평균단가
거래건수
- 데이터보기 > 테이블 도구 > 계산 그룹 > 새 측정값
- 거래건수 = COUNT('판매'[판매ID])
- 열도구 >
'
천단위 구분 > 소수점 0
평균단가
- 데이터보기 > 테이블 도구 > 계산 그룹 > 새 측정값
- 평균단가 = AVERAGE('판매'[단가])
- 열도구 >
'
천단위 구분 > 소수점 0
측정값 사용
- 보고서 > 시각화 > 테이블 추가
- 시각화 > 필드 > 값 > '분류'[분류명] , '판매'[거래건수],[평균단가],[매출금액],[매출이익],[매출이익률] 필드 추가
열기준 정렬
'날짜'[월(영문)] 별 '판매'[매출금액] 시각화
- 시각화 > 꺽은 선형 그래프 > 축 > '날짜'[월(영문)], 값 > '판매'[매출금액]
- 영문월로 시각화 할 경우 Apr, Aug, Dec 순으로 표시
- Jan, Feb, Mar로 정렬 되야함
- 영문월 필드에 수자형 필드 매핑 설정
- 데이터 보기 > '날짜'[영문월] > 열 도구 > 정렬 그룹 > 열 기준 정렬 > 월No
- 시각화 > 꺽은 선형 그래프 > 축 > '날짜'[월(영문)], 값 > '판매'[매출금액]
- 시긱화 개체 `...' 메뉴 > 축 정렬 > '날짜'[월(영문)] ,내림, 오름 선택
데이터 범주
- 정확한 위치를 표현하기 위해 데이터 범주 지정
위치 정보
- 맵에 시도나 시군구 추가 하면 대부분 잘 표시 되나 일부 다른 지역에 나타남
- 보고서 > 필드 > '지역'[시도] 체크 > 지도 표시됨
- 시각화 > 크기 > '판매'[매출금책] 추가 > 강원도, 제주 표시 되지 않음
데이터 범주 지정
- 데이터 > '지역'[시도] > 열도구 > 속성 > 데이터 범주 > 시/도 선택
- 데이터 > '지역'[시도] > 열도구 > 속성 > 데이터 범주 > 구/군/시 선택
- 보고서 > 변경된 지도 확인
- 시각화 > 위치 > 시/도, 구/군/구 넣어보며 확인
데이터 그룹 설정
- 여러 값을 하나로 결합
- 시도를 수도권 등으로 그룹화
- 주문 수량을 0~9, 10~19로 범주화
- 텍스트는 목록으로 숫자는 bin으로 그룹화나 범주화
데이터 그룹 만들기
목록 범주화
- 데이터 > '지역'[시도] > 열 도구 > 그룹 > 데이트 그룹 > 새 데이터 그룹
- 그룹 대화상자 > 이름 : 권역명
- 경기,서울,인천 > 그룹화 > 수도권
- 경상남북도,대구,부산,울산 > 그룹화 > 경상권
- 전라남북도,광주 > 그룹화 > 전라권
- 나머지 > 기타
- '지역'[권역명] 추가 확인
시긱화
- 보고서 > 가로 막대형 차트 > 필드 > 축 : '지역'[권역명], 범례:'지역'[시도], 값:'판매'[매출금액]
숫자 범주화
- 판매 테이블 데이터 10단위로 그룹화
- 보고서 > 묶은 세로 막대형 차트 > 필드 > 축 : '판매'[수량], 값:'판매'[수량]
- 0~20 사이에 많이 몰려 있음
- 데이터 > '판매'[수량] > 열 도구 > 그룹 > 데이트 그룹 > 새 데이터 그룹
- 그룹 대화상자 > 이름 : 수량구간
- 그룹 대화상자 > 그룹 유형 : Bin
- 그룹 대화상자 > bin 형식 : bin 크기
- 그룹 대화상자 > bin 크기 : 10
- '판매'[수량구간] 추가 확인
시긱화
- 보고서 > 묶은 세로 막대형 차트 > 필드 > 축 : '판매'[수량구간], 값:'판매'[수량]
데이터 그룹 편집
- 편집할 데이터 그룹 선택 : '판매'[수량구간]
- 데이터 > '판매'[수량] > 열 도구 > 그룹 > 데이트 그룹 > 데이터 그룹 편집