Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.

Reply
meena16_vibrant
Frequent Visitor

Need DAX Help

I used below measure to create average of 3 years of sales
AVG Sales =
var sales_2019=CALCULATE([salesvalue],'Date'[Month]=201812)
var sales_2020=CALCULATE([salesvalue],'Date'[Month]=201912)
var sales_2021=CALCULATE([salesvalue],'Date'[Month]=202012)
var avg_sales= (sales_2019+sales_2020+sales_2021)/3
return avg_sales

 

In the line chart I have to show comparison of dec 2021 sales vs avg sales in last 3 yrs

 

X axis - Dec month dates
Y axis - Sales and Avg sales

 

Avg sales trend is not showing in line chart but in card it shows. AVG values are blank.

I want to show dec sales vs avg sales(3yrs) for each dates in line chart. Could you please help me to get the DAX

1 ACCEPTED SOLUTION
FreemanZ
Super User
Super User

hi   @meena16_vibrant 

 

try like:

 
AVG Sales =
var sales_2019=CALCULATE([salesvalue], DATEADD('Date'[Date], -3, YEAR))
var sales_2020=CALCULATE([salesvalue], DATEADD('Date'[Date], -2, YEAR))
var sales_2021=CALCULATE([salesvalue], DATEADD('Date'[Date], -1, YEAR))
var avg_sales= (sales_2019+sales_2020+sales_2021)/3
return avg_sales

 

View solution in original post

3 REPLIES 3
ppm1
Solution Sage
Solution Sage

Here's a measure you can try instead. Note you can use the IN syntax to avoid replicate measures like you have for each year to improve performance.

Avg Past 3 Yrs =
VAR thisdate =
    MAX ( 'Date'[Date] )
VAR thismonth =
    MONTH ( thisdate )
VAR thisyear =
    YEAR ( thisdate )
RETURN
    CALCULATE (
        AVERAGEX ( DISTINCT ( 'Date'[Month] ), [Total Sales] ),
        //use your measure instead of [Total Sales]
        ALL ( 'Date' ),
        'Date'[Monthnumber] = thismonth,
        //use the Monthnumber and Year columns (whole numbers) in your Date table; create if needed
        'Date'[Year] >= thisyear - 3
            && 'Date'[Year] < thisyear
    )

 

Pat

Microsoft Employee
FreemanZ
Super User
Super User

hi   @meena16_vibrant 

 

try like:

 
AVG Sales =
var sales_2019=CALCULATE([salesvalue], DATEADD('Date'[Date], -3, YEAR))
var sales_2020=CALCULATE([salesvalue], DATEADD('Date'[Date], -2, YEAR))
var sales_2021=CALCULATE([salesvalue], DATEADD('Date'[Date], -1, YEAR))
var avg_sales= (sales_2019+sales_2020+sales_2021)/3
return avg_sales

 

 It worked.Thanks for your help.

Helpful resources

Announcements
FabCon Global Hackathon Carousel

FabCon Global Hackathon

Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.