Forum Discussion

ThomasWeppler's avatar
ThomasWeppler
Impactful Individual
3 years ago
Solved

Selected a date every x months

Hi Power BI community

 

I have a table with five columns

 

1. Index: An index column

2. Assignment: A Number column that shows diffrent assignment. (In this example we will just look at [Assignment] = 1)

3. Date: A date colum that shows each date from today and the next three years

4. Firstdate: A date colum that shows which day an assingment started. (So in this example where we just look at one assingnment we will have the same date in each row)
5. Interval: A text colum that shows how often an assingment should be done. (It could be "3months" or "4months" or "6months" or anyother number between 1 and 12 followed by months.

 

I want to add a new column that shows 1 if the [Date] is equal to the [Firstdate] and if the [Date] is equal to [Firstdate] + a number of months equal to the periode in the Interval column.

This thread is very similar to this thread: https://community.fabric.microsoft.com/t5/Power-Query/Selecting-a-date-every-x-week/m-p/3270563#M105432
Where the problem was solved for weeks, but this solution doesn't work for months unfortunately.


I really hope someone can give me a hit on what my next step should be. All help is greatly appreciated.

  • Hi ThomasWeppler 

    You can try using 

    Flag =
    IF (
        [Assignment] = 1
            && (
                [Date] = [Firstdate]
                || (
                    [Date] = EDATE ( [Firstdate], INT ( MID ( [Interval], 1, FIND ( "month", [Interval] ) - 1 ) ) )
                        && DAY ( [Firstdate] ) <= DAY ( [Date] )
                )
            ),
        1,
        0
    )

     

    Thank you. Hope this will help

1 Reply

  • Hi ThomasWeppler 

    You can try using 

    Flag =
    IF (
        [Assignment] = 1
            && (
                [Date] = [Firstdate]
                || (
                    [Date] = EDATE ( [Firstdate], INT ( MID ( [Interval], 1, FIND ( "month", [Interval] ) - 1 ) ) )
                        && DAY ( [Firstdate] ) <= DAY ( [Date] )
                )
            ),
        1,
        0
    )

     

    Thank you. Hope this will help