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

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
MikkoL
Frequent Visitor

Week needs data from previous week - problem with filter context?

Hello,

I need to fetch last weeks Sales Orders (SO) in order to calculate current week correctly. I have managed to get last week SOs in cases when I have a SO for an item in the current week, but if there is no SO for a particular item in current week no SO data from last week is fetched😅 I use a MS timeline to select the weeks.

 

For me this feels like I don't access the last week items in the selected weeks context.... (even I can access last weeks SOs)

Here is one version of a measure (note that I need to bind the SO table item to part table in order to get item level data):

PWeekSOs =
VAR LW = WEEKNUM(AVERAGE(OpenSalesRels[ReqDate])) - 1
return
CALCULATE([SOReq Qty],  
    FILTER(ALL(OpenSalesRels),WEEKNUM(OpenSalesRels[ReqDate])=LW &&  OpenSalesRels[CompPart] = MIN(Part[CompPart]))
)
 
MikkoL_0-1740485892689.png

 

 

 

2 ACCEPTED SOLUTIONS
Anonymous
Not applicable

Hi,

Thanks for the solution @bhanu_gautam  offered, and i want to offer some more information for user to refer to.

hello @MikkoL , you can refer to the following sample.

Sample data 

vxinruzhumsft_0-1740538617612.png

Sample  measure

Sum = SUM('Table'[Column2])

Create a new table

Table 2 = SUMMARIZE('Table',[Year],[Weeknum],[Year-Week])

Then create the following measures.

Currentsales =
VAR a =
    CALCULATE (
        SUM ( 'Table'[Column2] ),
        FILTER ( 'Table', 'Table'[Year-Week] IN VALUES ( 'Table 2'[Year-Week] ) )
    )
RETURN
    a
LastSales =
CALCULATE (
    [Sum],
    FILTER (
        'Table',
        [Weeknum]
            = SELECTEDVALUE ( 'Table 2'[Weeknum] ) - 1
            && 'Table'[Year] IN VALUES ( 'Table 2'[Year] )
    )
)

Then put the following field to the matrix.

vxinruzhumsft_1-1740538795608.png

 

Output

vxinruzhumsft_2-1740538818898.png

 

Best Regards!

Yolo Zhu

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

Thank you @Anonymous and @bhanu_gautam for your great help.
Actually here is a solution that works and it is a combination from both of your answers:
BR, Mikko

PWeekSOs2 =
  CALCULATE (
    OpenSalesRels[SOReq Qty],
    FILTER (
        ALL(OpenSalesRels),
        OpenSalesRels[Weeknum] = SELECTEDVALUE ( FilterDates[Weeknum] ) - 1
        && OpenSalesRels[Year] = SELECTEDVALUE( ( FilterDates[Year] )
    )
),
VALUES(Part[CompPart])
)
Preview
 
 
 

View solution in original post

4 REPLIES 4
Anonymous
Not applicable

Hi,

Thanks for the solution @bhanu_gautam  offered, and i want to offer some more information for user to refer to.

hello @MikkoL , you can refer to the following sample.

Sample data 

vxinruzhumsft_0-1740538617612.png

Sample  measure

Sum = SUM('Table'[Column2])

Create a new table

Table 2 = SUMMARIZE('Table',[Year],[Weeknum],[Year-Week])

Then create the following measures.

Currentsales =
VAR a =
    CALCULATE (
        SUM ( 'Table'[Column2] ),
        FILTER ( 'Table', 'Table'[Year-Week] IN VALUES ( 'Table 2'[Year-Week] ) )
    )
RETURN
    a
LastSales =
CALCULATE (
    [Sum],
    FILTER (
        'Table',
        [Weeknum]
            = SELECTEDVALUE ( 'Table 2'[Weeknum] ) - 1
            && 'Table'[Year] IN VALUES ( 'Table 2'[Year] )
    )
)

Then put the following field to the matrix.

vxinruzhumsft_1-1740538795608.png

 

Output

vxinruzhumsft_2-1740538818898.png

 

Best Regards!

Yolo Zhu

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Thank you @Anonymous and @bhanu_gautam for your great help.
Actually here is a solution that works and it is a combination from both of your answers:
BR, Mikko

PWeekSOs2 =
  CALCULATE (
    OpenSalesRels[SOReq Qty],
    FILTER (
        ALL(OpenSalesRels),
        OpenSalesRels[Weeknum] = SELECTEDVALUE ( FilterDates[Weeknum] ) - 1
        && OpenSalesRels[Year] = SELECTEDVALUE( ( FilterDates[Year] )
    )
),
VALUES(Part[CompPart])
)
Preview
 
 
 
bhanu_gautam
Super User
Super User

@MikkoL , Try using

DAX
PWeekSOs =
VAR CurrentWeek = WEEKNUM(AVERAGE(OpenSalesRels[ReqDate]))
VAR LastWeek = CurrentWeek - 1
RETURN
CALCULATE(
[SOReq Qty],
FILTER(
ALL(OpenSalesRels),
WEEKNUM(OpenSalesRels[ReqDate]) = LastWeek
),
VALUES(Part[CompPart])
)




Did I answer your question? Mark my post as a solution! And Kudos are appreciated

Proud to be a Super User!




LinkedIn






Hello Bhanu,

That was super fast reply👍thank you! Unfortunately I got the same answer as with my (now yours is named PWeekSOs4):

MikkoL_0-1740487011960.png

 

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

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

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.