Power BI
설정, 파일 옵션에서 전역에서 설정
데이터 가져오기 - 자세히
기타 - 파이썬스크립트
Chapter 08. DAX 함수 활용
1. 날짜 테이블 만들기
1) 테이블 새로 만들기; 모델링 탭 > 계산 그룹 > 새 테이블
2) 필요한 날짜만큼의 DATE 필드를 구성하기
① Calendar = CALENDAR ( DATE(2019,01,01), DATE(2019,12,31) )
② Calendar = ADDCOLUMNS(
Calendar(Min('판매'[날짜]), Max('판매'[날짜])),
"연도", Format([Date], "yyyy") ,
"분기", Format([Date], "Q") & "분기",
"월No", Month([Date]) ,
"월(영문)", Format([Date], "mmm"),
"연월", Format([Date], "YYYY-MM"),
"월", Format([Date], "mm"),
"요일", Format([Date], "aaa"),
"요일No", WeekDay([Date],2),
"주", WeekNum([Date])
)
③ 날짜 오름차순 정렬하기
- 년월일은 서식을 *2001-03-14 형식 적용
- Jan, Fab, Mar ~ 열기준 정렬 '월No'
- 월, 화, 수 ~ 열기준 정렬 '요일No'
2. 측정값 관리
1) 계산열 : 각 테이블에 추가
측정값 : 특정 테이블에 포함시킬 필요없이 따로 보관, 관리 가능
2) 측정값 관계 테이블 작성
테이블 만들기: 홈 탭 > 데이터 그룹 > 데이터 입력
3) 측정값 이동하기
기존 측정값 클릭 > 측정도구 탭 > 구조 그룹 > 홈 테이블: 새 테이블
3. 빠른 수식 작성
1) 중복 제거된 개수: 값 영역의 필드 우클릭 > 개수(고유)
2) 총합계의 백분율:
값 영역의 필드 우클릭 > 다음으로 값 표시 > 총합계의 백분율
4. 유용한 DAX 함수 :
1) 조건함수
① 권역명 = IF ( [시도] = "서울특별시", "수도권", "지역(기타)" )
권역명 = IF ( [시도] = "서울특별시" || [시도]="인천광역시"
|| [시도] = "경기도", "수도권","지역(기타)" )
* || = or, && = and
권역명 = IF ( [시도] IN {"서울특별시","인천광역시","경기도"},
"수도권", "지역(기타)" )
② 수량구간 = Switch ( True( ), [수량] < 10, "10미만",
[수량] >= 10 && [수량} < 20, "20미만",
[수량] >= 20 && [수량} < 30, "30미만", "30이상) )
2) 필터된 값을 대상으로 합계나 평균을 구하는 함수
① CALCULATE함수:
지정된 필터로 수정한 컨텍스트(행)에서 식을 계산하고 결과값을 반환함.
매출_수도권 = CALCULATE(SUM('판매[매출금액] ) 계산열,
FILTER('지역', [권역명] = "수도권" )
매출_수도권 = CALCULATE ( [총매출금액] 측정값,
FILTER('지역', [권역명] = "수도권" )
② FLITER ( <tabel>, <filter> )
매출_기타 = CALCULATE(SUM('판매[매출금액] ),
FILTER('지역', [권역명] < > "수도권" )
③ 주요거래처만 추출해서 매출을 표시하고 싶을 때
매출 = SUMX ( '판매', [단가] * [수량] * (1-[할인율] ) )
매출_거래처별 = SUMX (FILTER('판매, [거래처코드] = 1 ||
[거래처코드] = 4 ), [매출금액] )
* SUM 함수는 단순 열을 합계만 구해주기 때문
④ 전월매출 = CALCULATE( [총매출금액],
DATEADD('calendar'[Date], -1, Month)
전년매출 = CALCULATE( [총매출금액],
DATEADD('calendar'[Date], -1, Year)
전월대비 증감률 = DIVIDE ( [총매출금액] ? - [전월매출],
[전월매출] )
전년대비 증감율 = DIVIDE ( [총매출금액] - [전년매출],
[전년매출] )
전년동월_매출 = CALCULATE([총매출금액],
SAMEPERIODLASTYEAR('calendar[Date])
⑤ 누계_당월 = CALCULATE([총매출액],
DATESMTD('calendar'[Date])
* 선택월 1일부터 특정시점 날짜의 누적 계산
누계_금년 = CALCULATE([총매출액],
DATESYTD ('calendar'[Date])
* 선택연도 1일부터 특정시점 날짜의 누적 계산
⑥ 변수 사용 함수 VAR < name > = <expression>
기간별 매출 DATESBETWEEN( <dates>, <start_date>, <end_date> )
⑦ 구성 비율
구성비_수도권 = DIVIDE( [매출_수도권], [총매출금액] )
구성비_기타 = DIVIDE( [매출_기타], [총매출금액] )
⑧ 적용된 필터를 해제하고 측정값 구하기
ALL ( [필터를 지우려는 테이블], <필터를 지우려는 열> )
ALLSELECTED ( [필터를 지우려는 테이블], <필터를 지우려는 열> )
* 적용된 필터 해제하나 슬라이서와 같은 외부 적용한 필터는 유지됨.
비율_전체 = DIVEDE ([총매출금액] 필터가 적용된 금액,
CALCULATE ( [총매출금액] 필터해제된 금액,
ALL('판매')필터해제열 )
비율_조건 = DIVEDE ([매출_수도권] 필터가 적용된 금액,
CALCULATE ( [매출_수도권] 필터해제된 금액,
ALLSELECTED('판매')필터해제열 )
5. 빠른 측정값: 테이블 도구 > 계산 그룹 > 빠른 측정값
1) 계산 창
범주별 집계 / 필터 / 시간 인텔리전스 / 합계
수학 연산 / 텍스트
2) 필드 창
6. DAX 참조, 빠른 측정 갤러리
댓글
댓글 쓰기