cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Luiz_Pereira Frequent Visitor
Frequent Visitor

Period of days between 2 weeks

Hi people!
I need to create an period of days.
I have found several ranges of dates, but of days I have not found yet, my filter is not a fixed date.

Example: Whenever I look at the report, I need to see last week, the current week and the following week.
I created dimension filter with Weeknum (now ()), Weeknum (now ()) - 1, Weeknum (now ()) + 1.
So I bring the period I need. But within these weeks I need to bring the days of the week, which starts on Friday of the previous week, and ends on the monday of the current week and another that starts at the Wednesday of the last week, and ends on the Thursday of the current week for exemple.

Someone have any idea how can i do it?


Thank a lot of!
Luiz Pereira
1 ACCEPTED SOLUTION

Accepted Solutions
Community Support Team
Community Support Team

Re: Period of days between 2 weeks

HI @Luiz_Pereira,

 

You can refer to following steps to achieve your requirement.

 

Steps:

1. Add WeekNum to original table and create a what if parameter table with index and day of weeks.

 = WEEKNUM([Date],1)
Calculate table:
Selected = SELECTCOLUMNS(GENERATESERIES(1,7,1),"Index",[Value],"Day of Week",FORMAT([Value],"dddd"))

2. Write a measure to check weeknum and selected day of week to display detail information.

Detail = 
VAR currWeek =
    MAX ( 'Table 2'[weekNum] )
VAR _weeknow =
    WEEKNUM ( TODAY (), 1 )
VAR inRange =
    IF (
        MAX ( 'Table 2'[Date] )
            IN CALCULATETABLE (
                VALUES ( 'Table 2'[Date] ),
                FILTER (
                    ALLSELECTED ( 'Table 2' ),
                    'Table 2'[weekNum]
                        IN {
                        _weeknow - 1,
                        _weeknow,
                        _weeknow + 1
                    }
                        && YEAR ( 'Table 2'[Date] ) = YEAR ( MAX ( 'Table 2'[Date] ) )
                )
            ),
        "Y",
        BLANK ()
    )
VAR selectedIndex =
    SELECTEDVALUE ( 'Selected'[Index] )
RETURN
    IF (
        inRange <> BLANK (),
        CONCATENATEX (
            FILTER (
                VALUES ( 'Table 2'[Date] ),
                IF (
                    currWeek
                        = _weeknow - 1,
                    WEEKDAY ( [Date], 1 ) >= selectedIndex,
                    IF ( currWeek = _weeknow, WEEKDAY ( [Date], 1 ) < selectedIndex )
                )
            ),
            FORMAT ( [Date], "dddd" ),
            ","
        )
    )

3. Create table visual and slicer to show correspondent graph.

62.gif

 

Regards,
Xiaoxin Sheng

Community Support Team _ Xiaoxin Sheng
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.



For learning resources/Release notes, please visit: | |
4 REPLIES 4
Community Support Team
Community Support Team

Re: Period of days between 2 weeks

Hii @Luiz_Pereiram,

 

>>So I bring the period I need. But within these weeks I need to bring the days of the week, which starts on Friday of the previous week, and ends on the monday of the current week and another that starts at the Wednesday of the last week, and ends on the Thursday of the current week for exemple.

I'm not so clear for your description, can you please explain more about these with expected result?

 

Regards,

Xiaoxin Sheng

Community Support Team _ Xiaoxin Sheng
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.



For learning resources/Release notes, please visit: | |
Luiz_Pereira Frequent Visitor
Frequent Visitor

Re: Period of days between 2 weeks

Hi V-shex-msft thanks for reply!

So, i need to bring 3 weeks, current week, previous week and next week, always.

Example considering our current date.
W2 January (day 6 to 12, week Previous).
W3 January (day 13 to 19, us current week),
W4 January (day 20 to 26, next week)

After that, i need to bring the day range with the day name of de week.
So here theres my problem, because, i need to make some ranges:


Exemple: A filter with start ever on Tuesday of the W2 and ends ever Wednesday of W3.
So if we have this.
W2: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday.
W3: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday.
W4: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday.

The filter need to bring this
W2: Tuesday, Wednesday, Thursday, Friday, Saturday.
W3: Sunday, Monday, Tuesday, Wednesday.




Thanks for helping!

 

Luiz_Pereira Frequent Visitor
Frequent Visitor

Re: Period of days between 2 weeks

That's is not possible in Power BI?

Community Support Team
Community Support Team

Re: Period of days between 2 weeks

HI @Luiz_Pereira,

 

You can refer to following steps to achieve your requirement.

 

Steps:

1. Add WeekNum to original table and create a what if parameter table with index and day of weeks.

 = WEEKNUM([Date],1)
Calculate table:
Selected = SELECTCOLUMNS(GENERATESERIES(1,7,1),"Index",[Value],"Day of Week",FORMAT([Value],"dddd"))

2. Write a measure to check weeknum and selected day of week to display detail information.

Detail = 
VAR currWeek =
    MAX ( 'Table 2'[weekNum] )
VAR _weeknow =
    WEEKNUM ( TODAY (), 1 )
VAR inRange =
    IF (
        MAX ( 'Table 2'[Date] )
            IN CALCULATETABLE (
                VALUES ( 'Table 2'[Date] ),
                FILTER (
                    ALLSELECTED ( 'Table 2' ),
                    'Table 2'[weekNum]
                        IN {
                        _weeknow - 1,
                        _weeknow,
                        _weeknow + 1
                    }
                        && YEAR ( 'Table 2'[Date] ) = YEAR ( MAX ( 'Table 2'[Date] ) )
                )
            ),
        "Y",
        BLANK ()
    )
VAR selectedIndex =
    SELECTEDVALUE ( 'Selected'[Index] )
RETURN
    IF (
        inRange <> BLANK (),
        CONCATENATEX (
            FILTER (
                VALUES ( 'Table 2'[Date] ),
                IF (
                    currWeek
                        = _weeknow - 1,
                    WEEKDAY ( [Date], 1 ) >= selectedIndex,
                    IF ( currWeek = _weeknow, WEEKDAY ( [Date], 1 ) < selectedIndex )
                )
            ),
            FORMAT ( [Date], "dddd" ),
            ","
        )
    )

3. Create table visual and slicer to show correspondent graph.

62.gif

 

Regards,
Xiaoxin Sheng

Community Support Team _ Xiaoxin Sheng
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.



For learning resources/Release notes, please visit: | |

Helpful resources

Announcements
Community Highlights

Community Highlights

Find out what's new in the Power BI Community!

Summit North America

Power Platform Summit North America

Register by September 5 to save $200

Virtual Launch Event

Microsoft Business Applications Virtual Launch Event

Watch the event on demand for an in-depth look at the new innovations across Dynamics 365 and the Microsoft Power Platform.

MBAS Gallery

Watch Sessions On Demand!

Continue your learning in our online communities.

Users Online
Currently online: 260 members 2,585 guests
Please welcome our newest community members: