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

A new Data Days event is coming soon! This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. Don't miss out.

Reply
po
Post Prodigy
Post Prodigy

Get % difference in sales with promotion of product

Hi ,

 

Looking to determine the effect of certain events on sales e.g. promotion of product.

 

e.g. have sales table and rows which flagged if sale occured during event e.g promotion of a product 

customer

, product

, sales_qty

, sale_date

, 'Promotion active_flag'

 

example data

joe bloggs

, beans

,10

,'01-jun-2020'

,'Promotion Active'

 

joe bloggs

, beans

,2

,'01-MAY-2020'

'No promotion'

 

Want to see sales of these 

 

User can select sales date e.g. if select 01-jun-2020' onwards t0 '30-jun-2020', have below

CALCULATE(AVERAGE('Sales'[Sales Qty]),'Epos Sales'[Event Descriptor]="Promotion Active")

However, if say user selects as partciular date, only want the avarge in formula below to take into account the corresponding day of week.  How can we best achieve this?

 

CALCULATE(AVERAGE(' Sales'[Sales Qty]),'Sales'[Event Descriptor]="No Promotion Active",ALL('Sales'[Sales Date]))
 
Thanks

 

4 REPLIES 4
Fowmy
Super User
Super User

@po 

Can you explain this part?

"However, if say user selects as partciular date, only want the avarge in formula below to take into account the corresponding day of week.  How can we best achieve this?"

Did I answer your question? Mark my post as a solution! and hit thumbs up


Subscribe and learn Power BI from these videos

Website LinkedIn PBI User Group

Hi,

 
Thanks for reply.
 
 
What means is that user can select a date via a slicer, which is all dates after promotion started.
 
If say they select a date which is a wednesday, wish to compare the sales on this date to an average of wed sales before the prmotion started 
 
Believe have managed to do this va below but may be better way?
 
 
 
SWITCH(weekday(max('Sales'[Sales Date]),1)-1
,0,CALCULATE(AVERAGE(' Sales'[Sales Qty]),ALL(' Sales'[Sales Date]),' Sales'[ Descriptor]="Before promotion",'Calendar'[Day of Week]=0)
,1,CALCULATE(AVERAGE(' Sales'[Sales Qty]),ALL(' Sales'[Sales Date]),' Sales'[ Descriptor]="Before promotion",'Calendar'[Day of Week]=1)
,2,CALCULATE(AVERAGE(' Sales'[Sales Qty]),ALL(' Sales'[Sales Date]),' Sales'[ Descriptor]="Before promotion",'Calendar'[Day of Week]=2)
,3,CALCULATE(AVERAGE(' Sales'[Sales Qty]),ALL(' Sales'[Sales Date]),' Sales'[ Descriptor]="Before promotion",'Calendar'[Day of Week]=3)
,4,CALCULATE(AVERAGE(' Sales'[Sales Qty]),ALL(' Sales'[Sales Date]),' Sales'[ Descriptor]="Before promotion",'Calendar'[Day of Week]=4)
,5,CALCULATE(AVERAGE(' Sales'[Sales Qty]),ALL(' Sales'[Sales Date]),' Sales'[ Descriptor]="Before promotion",'Calendar'[Day of Week]=5)
,6,CALCULATE(AVERAGE(' Sales'[Sales Qty]),ALL(' Sales'[Sales Date]),' Sales'[ Descriptor]="Before promotion",'Calendar'[Day of Week]=6)
)

@po 

 

Use this measure:

 

 

Sales Before Promo Avg same Week Day = 
VAR _WeekDay =  WEEKDAY(SELECTEDVALUE(Sales[Sales Date]))
RETURN
CALCULATE(
    AVERAGE(Sales[Sales Qty]),
    Sales[Descriptor]="Before promotion",
    FILTER(ALL(Sales),WEEKDAY(Sales[Sales Date])=_WeekDay)
)

 

 

 

If you are satisfied with my answer, please mark it as a solution so others can easily find it.

APPRECIATE KUDOS!


Subscribe to ExcelFort

Did I answer your question? Mark my post as a solution! and hit thumbs up


Subscribe and learn Power BI from these videos

Website LinkedIn PBI User Group

Thanks - will give it a try

Helpful resources

Announcements
May Power BI Update Carousel

Power BI Monthly Update - May 2026

Check out the May 2026 Power BI update to learn about new features.

Fabric SQL PBI Data Days

Data Days 2026 coming soon!

Sign up to receive a private message when registration opens and key events begin.

New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.