본문 바로가기

Power BI

(29)
DAX함수 연간누적매출 측정값 만들기 매출 보고서를 작성할 때 기간별로 누적매출금액을 집계하는 경우가 많아요. 여기서는 DAX의 시간 인텔리전스 함수를 활용하여 기간 누적 합계를 작성해 보도록 하죠. 시간 인텔리전스에서 자주 사용하는 DATESYTD와 TOTALYTD를 사용할 것입니다. DATESYTD : 해당하는 연도의 첫번째 날짜(1월1일)부터 마지막 날짜(12월 31일) 사이의 모든 날짜를 테이블형태로 반환합니다. 즉 하나의 값으로 나오는 것이 아니라 여러 값을 가지고 있는 배열이라고 볼 수 있습니다. 마지막 날짜는 선택사항으로 지정하지 않을 경우 작성하지 않아도 되고, 마지막 날짜가 없으면 해당 연도의 마지막 날짜로 집계합니다. * 참고: 파란색 표기는 여러분의 테이블명과 열명, 측정값이름을 사용합니다. DATESYTD( , ) DA..
Power BI Desktop 옵션 설정 Power BI Desktop을 사용하실 때 미리 체크하면 편리한 옵션입니다. 상단 파일탭 클릭 > 옵션 및 설정 > 옵션 클릭하여 옵션창으로 들어갑니다. 1. 데이터 로드 영역의 시간 인텔리전스 체크 해제 시간 인텔리전스의 "새 파일의 자동 날짜/시간"을 체크해 두면 데이터 로드 시에 날짜 및 시간 유형의 필드에 날짜 계층구조가 자동으로 만들어집니다. 따라서 계층구조가 필요한 날짜 필드가 많이 있다면 이 옵션을 해제해 두는 것이 편리합니다. 2. 보안 영역의 지도 사용 설정 지도와 관련된 시각적 개체를 보고서에 삽입할 때 오류가 발생한다면 아래 설정이 체크되어 있는지 확인합니다. 3. 미리보기 기능 Power BI에 새로 나온 기능을 미리 사용해 보고자 할 때 미리 보기 기능에서 해당기능을 체크합니다.
쿼리편집 - 시간 계산 날짜나 시간 필드에 원하는 기간을 더하거나 빼고 싶은 경우에 #duration을 사용할 수 있습니다. 계산결과를 표시할 사용자 지정 열을 추가하고 수식에 #duration을 적용하시면 됩니다. #duration(일수, 시간, 분, 초) 아래는 new_dt_yearmonth라는 필드에 9시간을 더하는 쿼리편집 화면입니다. 새열이름 = [기준필드] + #duration(일수, 시간, 분, 초) 7일 3시간 30분을 더하고 싶다면 아래와 같이 하면 됩니다. 새열이름 = [기준필드] + #duration(7,3,30,0) 물론 아래와 같이 DAX함수로도 시간계산을 할 수는 있습니다. 새열이름 = DATEADD(DateTime[DateKey],-1,year) 그러나 DAX함수로 계산된 측정값은 관계설정에는 사용할..
DAX기초 기본집계함수 SUM, AVERAGE, MIN, MAX DAX함수에서 열의 값을 집계하는 데 필요한 산술기초함수입니다. 산술 기호 +, -, /, * 도 엑셀과 마찬가지로 동일하게 작동합니다. SUM과 AVERAGE는 숫자열에 대해서만 집계가 가능하고 MIN과 MAX 는 텍스트타입의 열에 대해서도 수행합니다. 1. 합계 SUM ( 테이블이름[열이름] ) 2. 평균 AVERAGE ( 테이블이름[열이름] ) 3. 나누기 나누기는 DIVIDE를 사용합니다. DIVIDE(대상값(분자), 나눌값(분모)) DIVIDE(10,2)의 결과값은 5입니다. 0으로 나누는 경우 결과값은 공백입니다. 만약 0으로 나눠지는 경우 공백으로 표시되는 것이 싫다면 대체할 값을 지정할 수 있습니다. DIVIDE(대상값, 나눌값, 0으로 나눴을 때 결과값) 4. 최소값 MIN ( 테이블이름..
DAX함수 연도값 계산하기 여러 연도의 날짜테이블이 따로 있는 경우 특정연도를 표기해야 하는 경우가 있습니다. 먼저 올해값을 표시하기 위해서는 YEAR함수와 TODAY함수를 사용할 수 있습니다. 올해 = YEAR(TODAY()) 올해가 2019년이라면 결과값은 2019 정수입니다. 작년값을 표시하려면 앞에 만든 '올해'측정값을 사용할 수 있습니다. 작년 = [올해] - 1 결과값은 2018 정수입니다. 그러나 연도만 표시하는 경우보다 연도값을 사용해 올해매출/작년매출 등 집계하는 데 활용할 수 있습니다. 올해매출 = CALCULATE( SUM(매출테이블명[매출액컬럼명]), FILTER(매출테이블명, YEAR('매출테이블명'[매출날짜컬럼명]) = [올해] ) ) 작년매출 = CALCULATE( SUM(매출테이블명[매출액컬럼명]), ..
[Tip] Power BI에서 Dynamics 365 옵션셋 라벨표기하는 방법 Dynamics 365 온라인서비스 데이터를 Power BI로 불러온 경우 옵션셋필드가 숫자값만 보여집니다. 옵션셋의 라벨로 표시하기 위해서는 먼저 옵션셋라벨을 먼저 쿼리해야 합니다. Power BI에서 Dynamics 365의 옵션값을 숫자값이 아닌 라벨로 보여주기 위한 방법은 여러가지가 있는데요, 1) 글로벌옵션셋인 경우 메타데이터를 쿼리해서 보여주는 방법 2) 옵션셋테이블을 구성해서 가져온 후 옵션셋마다 테이블을 따로 만든 후 관계를 설정하여 사용하는 방법 3) 옵션셋테이블을 구성해서 가져온 후 DAX함수로 라벨열을 추가하는 방법 1)의 방법은 옵션이 글로벌이 아닌경우 사용할 수 없는 단점이 있으며, 옵션셋이 많을 때는 그만큼 수작업이 많습니다. 2)의 방법도 옵션셋이 많을 때는 옵션셋 숫자만큼 테..
DAX함수 DATEDIFF - 날짜 차이 계산하기 (Power BI 포스팅 중에서 이 글이 가장 조회수가 많습니다. 조회수가 많은 이유도 개인적으로 궁금하고 날짜 차이 계산과 관련하여 더 궁금하신 점이나 해결이 안되는 이슈가 있다면 댓글로 남겨주세요~ 아이디어가 있으면 답변 달아 드릴게요.) DATEDIFF는 두 날짜 사이의 차이를 계산합니다. 예를 들어 테이블에 "시작날짜"와 "종료날짜"가 있다면 아래와 같이 두 날짜 사이의 일수를 계산할 수 있습니다. 일수 = DATEDIFF(시작날짜, 종료날짜, DAY) 열이름 = DATEDIFF(시작날짜, 종료날짜, 계산결과를 표시할 숫자기준) 계산결과를 표시할 숫자기준은 Interval이라고 하는데요, DATEDIFF함수에서는 아래 8가지 Interval을 지원합니다. - SECOND - MINUTE - HOU..
쿼리편집 정렬 쿼리편집에서 열 기준 정렬은 아주 간단합니다. 정렬기준이 되는 열을 선택하고 홈탭 > 정렬 > 정순 또는 역순 아이콘을 클릭하면 정렬됩니다. 그런데 혹시 엑셀처럼 기준을 추가해서 정렬하고 싶으실 때는 수식을 수정하실 수 있습니다. 먼저, 한 번 정렬했을 때 수식은 다음과 같은데요. 해석을 해보면, = Table.Sort(#"변경된 유형",{{"고객번호", Order.Ascending}}) = Table.Sort( #"이전 단계 이름",{{"열 이름",Order.정렬순서}}) 여기에 기준을 추가하려면 {"열 이름",Order.정렬순서}를 ,(콤마)로 구분하여 추가하면 됩니다. 따라서, 위에 쿼리창에서 제품번호 열을 두번째 기준으로 정순정렬하려면 아래와 같이 하면 됩니다. (역순은 Order.Descendi..