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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
GastroStuermer
Regular Visitor

Compare data of one week with the data of the week before, while the date is chosen via slicer

Hi,

 

I've got some Google Searchconsole Data and I want to create a tile that compares the Average Position on a certain date, which is chosen by a slicer, with the Average Position one week earlier. The following just gives me a "(Blank)":

 

AveragePositionOneWeekEarlier = CALCULATE ( [AveragePosition] ; FILTER ( ALL (GSC[Date]) ; WEEKNUM( GSC[Date] ; 21) = [WeekSelected] - 1))

 

I tried inserting an "ALL" after "WEEKNUM":

 

AveragePositionOneWeekEarlier = CALCULATE ( [AveragePosition] ; FILTER ( ALL (GSC[Date]) ; WEEKNUM( ALL (GSC[Date]) ; 21) = [WeekSelected] - 1))

 

but then I just get an error about multiple Values while only one is expected.

 

The Measures used are the following: 

 

Average Position = AVERAGE('GSC'[Position])

WeekSelected = MAX('OtherTable'[Weeknumber])

 

Can someone help me with that?

 

1 ACCEPTED SOLUTION
v-sihou-msft
Microsoft Employee
Microsoft Employee

@GastroStuermer

 

Since you have date column in your table, you can add WeekNum column and Year column for your calculation.

 

WeekNumber = WEEKNUM('Table'[Date],21)
Year = YEAR('Table'[Date])

Then you can just create two measures to calculate Current Week AVG and Previous Week AVG.

 

 

Current Week AVG = CALCULATE(AVERAGE('Table'[Amount]),FILTER(ALL('Table'),'Table'[WeekNumber]=MAX('Table'[WeekNumber]) && 'Table'[Year]=MAX('Table'[Year]))) 
Previous Week AVG = CALCULATE(AVERAGE('Table'[Amount]),FILTER(ALL('Table'),'Table'[WeekNumber]=MAX('Table'[WeekNumber])-1 && 'Table'[Year]=MAX('Table'[Year]))) 

4.PNG

 

 

Regards,

View solution in original post

2 REPLIES 2
v-sihou-msft
Microsoft Employee
Microsoft Employee

@GastroStuermer

 

Since you have date column in your table, you can add WeekNum column and Year column for your calculation.

 

WeekNumber = WEEKNUM('Table'[Date],21)
Year = YEAR('Table'[Date])

Then you can just create two measures to calculate Current Week AVG and Previous Week AVG.

 

 

Current Week AVG = CALCULATE(AVERAGE('Table'[Amount]),FILTER(ALL('Table'),'Table'[WeekNumber]=MAX('Table'[WeekNumber]) && 'Table'[Year]=MAX('Table'[Year]))) 
Previous Week AVG = CALCULATE(AVERAGE('Table'[Amount]),FILTER(ALL('Table'),'Table'[WeekNumber]=MAX('Table'[WeekNumber])-1 && 'Table'[Year]=MAX('Table'[Year]))) 

4.PNG

 

 

Regards,

HI @v-sihou-msft

 

 

That worked instantly! Thank you! This solution is so elegant and easy 🙂

 

Regards GastroStuermer

Helpful resources

Announcements
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

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.

Top Solution Authors