Power BI--DAX 기능 요약
다음으로 이동: /p/35982521
?1.1 연 누계 계산--TOTALYTD 함수
?예를 들어 연도 계산- 현재까지 누적판매금액:
p>
[연도누적금액]:=
TOTALYTD([판매금액],
'역년 '[날짜])
# 시간 구분 지점을 추가하려면 다음과 같이 작성하세요:
[연도 누적 구분 금액]: =
TOTALYTD ([판매액],
'역년'[날짜],
'역년'[date]lt; DATE(2016, 6, 1))
# 같은 방법으로 분기누계 누적계산-TOTALQTD, 월누계 계산-TOTALMTD
1.2 전년도/분기/전년도 매출액 계산 월--DATEADD 함수
[전년도 매출액]: =
CALCULATE([판매액],
? DATEADD('역년' [ Date], -1, YEAR))? --YEAR는 QUARTER, MONTH, DAY로 변경할 수 있습니다.
? --시간을 뒤로 이동하려면 -1을 1로 변경하세요.
1.3 전년 동기/월간 비교 계산
# 월별 비교--전년 동기 대비 올해 월간 매출액 월별 증가율
[전년도 매출액]:=
CALCULATE([판매액],
? DATEADD('역년'[date ], -1, YEAR)) p>
[전년 대비]: =
DIVIDE([판매액]-[전년도 매출액],
? [전년도 매출액])
# 월별 비교 - 이번 달과 전월의 매출 증가율
[전월 매출]: = p>
CALCULATE([판매액],
? DATEADD('역년' [날짜], -1, MONTH))
[흑백]: = p>
DIVIDE([판매액]-[전월 매출액],
? [전월 매출액])
1.4 두 날짜 사이의 기간 계산 Interval--DATEDIFF
[시간 간격]: =
DATEDIFF([시작 날짜],
[종료 날짜],
'Y') --매개변수 "Y"는 각각 월과 일에 해당하는 "M" 또는 "D"로 변경됩니다.
--시간과 분을 계산하기 위해 HOUR, MINUTE, SECOND로 변경할 수도 있습니다.
1.5 기타 날짜 및 시간 함수:
DATE(2009, 7, 8)? --결과는 '2009/7/8 0:00:00'을 반환합니다.
DATEVALUE("2009/8/1")? --텍스트 형식의 날짜를 날짜 및 시간 형식의 날짜로 변환하고 결과를 반환합니다.
'2009/8/1 0: 00:00'
DATEADD([날짜], 3, DAY)? --날짜 덧셈 및 뺄셈 함수
EOMONTH([날짜], 3)? --지정된 날짜를 반환합니다. 이전 또는 이후의 개월 수
다음 달 말일의 날짜
EDATE([date], 3) -- 시작 날짜 이전 또는 이후의 개월 수에 해당하는 날짜를 반환합니까?
YEAR(), MONTH(), DAY(), HOUR(), MINUTE(), SECOND()
NOW() --현재 날짜와 시간을 반환합니다. TODAY() --? 현재 날짜?
WEEKDAY([date], 1)? --요일, 매개변수 1은 일요일부터 계산, 매개변수 2는 월요일부터 계산을 나타냅니다.
매개변수 3은 주부터 계산 계산은 처음부터 시작하지만 토요일에 끝납니다.
WEEKNUM([date], 1) --연도의 주, 1은 일요일부터 계산이 시작됨을 의미하고, 2는 월요일부터 계산이 시작됨을 의미합니까?
2.1 ALL, ALLEXCEPT, ALLSELECTED
ALL(테이블/열)? --ALL은 전체 테이블 또는 특정 필드의 필터링 조건을 지우는 데 사용되며 일반적으로 함께 사용됩니다. CALCULATE 사용
ALLEXCEPT(테이블/열) --지정된 열에 적용된 필터를 제외한 테이블의 모든 컨텍스트 필터를 제거합니다.
ALLSELECTED(테이블/열) --제거 다른 상황별 필터나 명시적 필터를 유지하면서 현재 쿼리와 줄의 열
2.2 CALCULATE(lt;expressiongt;,lt;filter1gt;,lt;filter2gt;...)
p>--Calculate는 여러 테이블에 적용 가능
? Calculate가 AND 관계를 사용할 경우 조건 사이에 ','를 직접 추가할 수 있지만, 'or'를 표현할 때는 반드시 ','를 사용해야 합니다. '||' 및 조인을 위한 두 조건은 동일한 열을 참조해야 합니다.
? 계산에서 "[열] = 고정값"을 필터링할 수 없는 경우 필터/전체/값 필터를 함께 사용할 수 있습니다.
2.3 FILTER(테이블, lt; filtergt;)? --반환 값: 필터링된 행 데이터만 포함된 테이블
--필터링 시 테이블이 행 단위로 스캔되므로 많은 계산이 필요하므로 해당 테이블을 선택합니다. 필터링은 가능한 한 조회 테이블이어야 합니다.
p>2.4 HASONEVALUE(lt;columnNamegt;) --columnName의 컨텍스트를 하나의 고유한 값으로만 필터링하면
? TRUE를 반환합니다. 그렇지 않으면 거짓입니다.
2.5 RELATED(lt;columnngt;)? --"다"측의 테이블에 "일"측의 열 값을 추가합니다.
RELATEDTABLE(lt;tableNamegt ;) -- "다" 쪽에 연결된 테이블 데이터를 "일" 쪽 열에 추가합니다.
반환되는 것은 테이블입니다.
2.6 VALUES(lt ;TableNameOrColumnNamegt;)? -- 지정된 테이블 또는 열의
? 고유 값을 포함하는 열 테이블을 반환합니다. 즉, 중복된 값은 제거되고 고유한 값만 반환됩니다.
2.7 EARLIER 함수:
예를 들어 "제품 이름"과 "판매 금액"이라는 두 개의 데이터 열이 있습니다.
이를 바탕으로 각 상품의 판매량 순위를 계산하고자 한다.
? COUNTROWS(
FILTER('상품 판매표',
? EARLIER('상품 판매표'[판매 금액])lt;'상품 판매 Table '[판매액])
? ) 1
? --EARLIER=현재 행, 현재 행에 따라 행별로 스캔, SUMX FILTER EARLIER
Power Pivot에서 흔히 사용하는 함수 조합으로 Early는 데이터의 각 행에 대해 계산을 수행하므로
계산량은 이론적으로 데이터 행 수의 제곱과 동일합니다. 10행의 데이터가 있으면 100번을 계산해야 합니다.
따라서 데이터 양이 많을 경우 모델 계산이 느려질 수 있으므로 주의해야 합니다. .
3.1 CONTAINS(InternetSales, [ProductKey], 214, [CustomerKey], 11185)
--고객 11185에 대한 제품 214의 인터넷 판매가 있습니까?
3.2 ISBLANK(열) --열의 값이 비어 있는지 확인
3.3 ISNONTEXT(열)? --값이 텍스트가 아닌지 확인
3.4 ISNUMBER(열)? --값이 숫자인지 확인
3.5 ISTEXT(열) --값이 텍스트인지 확인
3.6 ISLOGICAL(열) - -값이 논리값인지 확인
4.1 IF(logical_testgt;,lt;value_if_truegt;, value_if_false)
? --첫 번째 매개변수 조건으로 제공되는 값을 만족하는지 확인합니다. . 조건이 TRUE이면 값이 반환되고,
조건이 FALSE이면 다른 값이 반환됩니다. 사용법은 Excel과 유사합니다.
4.2 SWITCH(lt; 표현식gt;, 조건 1, 값 1, 조건 2, 값 2)? --값 목록을 기반으로 표현식을 평가하고
가능한 여러 결과 표현식 중 하나를 반환합니다.
5.1 SUMX(table, lt;expressiongt;)? --SUMX는 CALCULATE와 유사한 기능을 가지고 있지만 SUMX는 반복 함수이며 많은 양의 계산이 필요합니다. AVERAGEX, MINX에도 동일하게 적용됩니다.
5.2 SUM(), MAX(), MIN(), SQRT()
? -중복 제거 후 열에 포함된 요소 수를 계산합니다.
? COUNTROWS()? --테이블의 행 수를 계산합니다.
? COUNT()? 열에 있는 숫자를 포함하는 셀 수
? COUNTA()? --열에 비어 있지 않은 셀 수를 계산합니다.
? 열의 빈 셀 수
5.3 DIVIDE(분자, 분모)? --DAX에 나누기가 포함된 경우 DIVIDE를 사용해야 합니다.
5.4 CROSSJOIN(lt;table1gt;, lt ;table2gt;)? --데카르트 곱 테이블 생성
? SUMMARIZE (lt;tablegt;, lt;groupBy_columnNamegt;, lt;namegt;, lt;expressiongt;)
? --table, 데이터 테이블을 반환하는 DAX 식입니다.
groupBy_columnName은 이 열에 있는 값을 사용하여 요약 그룹을 생성합니다. 이 매개변수는 표현식이 될 수 없습니다.
이름, 전체 또는 요약 열에 지정된 이름이며 큰따옴표로 묶입니다.
식, 단일 스칼라 값을 반환하는 DAX 식입니다. 여기서 식은 행/컨텍스트별로 여러 번 평가됩니다.
? GENERATE(lt; table1gt;, lt; table2gt;)--데카르트 곱 테이블 생성
6.1 LEFT(), RIGHT(), MID(), FIND() , SEARCH(), LEN() ---문자열 추출 함수
6.2 REPLACE(), SUBSTITUTE()? --문자열 대체 함수
6.3 TRIM(), LOWER () , UPPER()
6.4 FORMAT 함수에서 날짜 형식에 대한 사용자 정의 설정은 다음과 같습니다.