Download presentation
Presentation is loading. Please wait.
Published byGabriella Adelia Nelson Modified over 8 years ago
1
10 DAX Calculation For Tabular or PowerPivot Model
잘레시아 김지원
2
목차 1. DAX Rolling Sum and Average Calculations
2. DAX First Day of Period Calculations 3. DAX Previous Period Calculations 4. DAX Semi-Additives Measures Calculations 5. DAX Use Relationships in a Calculation 7. DAX Year Over Year Growth Calculation 6. DAX YOY Percent Growth Calculation 8. DAX Previous QTD and MTD Calculation 10. DAX YTD, QTD and MTD calculations 9. DAX Previous YTD, Year QTD, Year MTD Calculation
3
1. DAX Rolling Sum and Average Calculations
조회일로부터 n일 사이의 총 합계(Rolling 90 Day Total Sales Amount)와 그의 평균(Rolling 90 Day Average Sales Amount)을 구하는 DAX 계산식 Rolling 90 Day Total Sales Amount : = CALCULATE( [Total Sales Amount] , DATESBETWEEN( 'Date'[Datekey], FIRSTDATE( DATEADD( LASTDATE( 'Date'[Datekey] ),-89,Day )), LASTDATE('Date'[Datekey]) )
4
1. DAX Rolling Sum and Average Calculations
평균(Rolling 90 Day Average Sales Amount)을 구하기 위해 90일 동안 값이 있는 Row 개수(Day Count)를 확인 Day Count: = COUNTX( DATESBETWEEN( 'Date'[Datekey] , FIRSTDATE( DATEADD( LASTDATE('Date'[Datekey]) ,-89,Day )), LASTDATE('Date'[Datekey]) ) , [Total Sales Amount]
5
1. DAX Rolling Sum and Average Calculations
평균(Rolling 90 Day Average Sales Amount) : = DIVIDE([Rolling 90 Day Total Sales Amount] , [Day Count] ) 결과
6
2. DAX First Day of Period Calculations
연초, 분기, 월초 Day Data를 구하는 DAX 계산식 Year Starting Inventory: = CALCULATE( [Starting Inventory] , STARTOFYEAR( 'Date'[Date] ) ) Quarter Starting Inventory: = CALCULATE( [Starting Inventory] , STARTOFQUARTER( 'Date'[Date] ) ) Month Starting Inventory: = CALCULATE( [Starting Inventory] , STARTOFMONTH( 'Date'[Date] ) )
7
2. DAX First Day of Period Calculations
결과
8
3. DAX Previous Period Calculations
바로 지난 년도, 분기, 월의 Data를 구하는 계산식 Previous Month Starting Inventory: = CALCULATE( [Starting Inventory] , PREVIOUSMONTH( 'Date'[Date] ) ) Previous Year Starting Inventory: = CALCULATE( [Starting Inventory] , PREVIOUSYEAR( 'Date'[Date] ) ) Previous Quarter Starting Inventory: = CALCULATE( [Starting Inventory] , PREVIOUSQUARTER( 'Date'[Date] ) )
9
3. DAX Previous Period Calculations
결과
10
4. DAX Semi-Additives Measures Calculations
계좌 잔액이나 재고같이 sum보다는 처음이나 마지막 Data을 구하는 계산식 Starting Inventory: = CALCULATE( [Sum of Inventory] , FIRSTNONBLANK( 'Date'[Datekey] , [Sum of Inventory] ) ) Closing Inventory: LASTNONBLANK( 'Date'[Datekey] , [Sum of Inventory] ) )
11
4. DAX Semi-Additives Measures Calculations
결과
12
5. DAX Use Relationships in a Calculation
Power BI나 PowerPivot, Tabular 등 OLAP 위에 하나의 Data Table 중 두 개의 서로 다른 컬럼이 Lookup Table 하나의 컬럼과 관계를 만들어 각각 기준이 다른 Measure를 구하는 계산식 먼저, 두 개의 서로 다른 컬럼은 Lookup Table의 컬럼과 관계가 맺어져 있어야 USERELATIONSHIP을 사용할 수 있다. Lookup Table의 Datekey와 Data Table의 Datekey를 주관계로, Lookup Table의 Datekey와 Data Table의 Updatedate를 부관계로 지정한다.
13
5. DAX Use Relationships in a Calculation
Lookup Table과 주 관계에 있던 Sales[Datekey] 컬럼을 기준이 아닌 Sales[UpdateDate] 컬럼을 사용하기 위해 다음과 같은 계산식을 사용한다. Total Quantity by Update Date: = CALCULATE( [Total Quantity] , USERELATIONSHIP( Sales[UpdateDate] , 'Date'[Datekey] ) ) 결과
14
7. DAX Year Over Year Growth Calculation
올 한 해 성장을 구하는 계산식 성장 여부를 알기 위해서는 현재 Data와 작년 Data를 구해야 한다. Previous Year Total Sales Amount: = CALCULATE( [Total Sales Amount] , SAMEPERIODLASTYEAR( 'Date'[Datekey] ) ) YOY Growth Total Sales Amount: =[Total Sales Amount]-[Previous Year Total Sales Amount] 결과
15
6. DAX YOY Percent Growth Calculation
올 한 해 성장률을 구하는 계산식 올 해 Data값을 작년 Data값으로 백분율 계산한다. [위 슬라이드 14 Measure를 참고] 방법1 - 산술 연산자 사용 YOY Percent Growth Total Sales Amount: =[YOY Growth Total Sales Amount] / [Previous Year Total Sales Amount] 이 경우 과거 Data가 없을 경우 에러값이 리턴되므로, IFERROR를 추가한다. = IFERROR( [YOY Growth Total Sales Amount]/[Previous Year Total Sales Amount], BLANK() )
16
6. DAX YOY Percent Growth Calculation
방법2 - DIVIDE DAX YOY Percent Growth Total Sales Amount: = DIVIDE( [YOY Growth Total Sales Amount] , [Previous Year Total Sales Amount] ) 결과
17
8. DAX Previous QTD and MTD Calculation
위 슬라이드 3에서 사용한 PREVIOUSQUARTER, PREVIOUSMONTH와 기본적인 개념은 비슷하나 아래의 계산식은 DATESBETWEEN을 사용하여 Day Data까지 내려가므로 좀 더 세부적인 계산식이다. Previous QTD Total Cost: = CALCULATE( [Total Cost] , DATESBETWEEN( 'Date'[Datekey] , FIRSTDATE( PREVIOUSQUARTER( 'Date'[Datekey] ) ), LASTDATE( DATEADD( 'Date'[Datekey],-1,QUARTER )) )
18
8. DAX Previous QTD and MTD Calculation
Previous MTD Total Cost: = CALCULATE( [Total Cost] , DATESBETWEEN( 'Date'[Datekey], FIRSTDATE( PREVIOUSMONTH( 'Date'[Datekey] ) ), LASTDATE( DATEADD( 'Date'[Datekey], -1, MONTH ) ) )
19
10. DAX YTD, QTD and MTD Calculations
조회 날짜의 연말, 분기말, 월말 Data를 구하는 계산식 YTD Total Cost: = CALCULATE( [Total Cost] , DATESYTD( 'Date'[Datekey] ) ) QTD Total Cost: = CALCULATE( [Total Cost] , DATESQTD( 'Date'[Datekey] ) ) MTD Total Cost: = CALCULATE( [Total Cost] , DATESMTD( 'Date'[Datekey] ) )
20
10. DAX YTD, QTD and MTD calculations
결과
21
9. DAX Previous YTD, Year QTD, Year MTD Calculation
조회 날짜 작년의 연말, 분기말, 월말 Data를 구하는 계산식 위 슬라이드 10에서 SAMEPERIODLASTYEAR를 추가하면 된다. Previous YTD Total Cost: = CALCULATE( [YTD Total Cost] , SAMEPERIODLASTYEAR( 'Date'[Datekey] ) ) Previous Year QTD Total Cost: = CALCULATE( [QTD Total Cost] , SAMEPERIODLASTYEAR( 'Date'[Datekey] ) ) Previous Year MTD Total Cost: = CALCULATE( [MTD Total Cost] , SAMEPERIODLASTYEAR( 'Date'[Datekey] ) )
22
9. DAX Previous YTD, Year QTD, Year MTD Calculation
결과
23
출처 tabular-or-power-pivot-model-part-1/ tabular-or-power-pivot-model-part-2/
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.