Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago

Check if date falls between two dates

Hi All

 

Hoping someone can help

 

I have a table which contains various data items for clients including a 'last contacted date'.

I need to be able to identify whether the 'last contacted date' falls within a 2-week period of a selected date or a 4 week period.

 

This is for a return that needs to be made so the next time period will be:

 

Number of clients contacted between 01/06/2020 and 14/06/2020 (within the last 2-weeks) and number of clients contacted between 18/05/2020 and 14/06/2020 (within the last 4-weeks).

 

I also need to be able to show by exception which clients have not been contacted in either period so that teams can identify and prioritise who needs to be contacted before the 14/06/2020.

 

Following this return the period will then move on in two-week increments each time.

 

I have a calendar table in my model which I could use, but I can't work out the best measure or calculation to show the data in the way that I need to.

 

Thanks

8 Replies

  • edhans's avatar
    edhans
    Community Champion

    This will return true, false, or "multiple selections" if there isn't one date selected.

     

    Within Two Weeks =
    VAR VendorDate =
        MAX( Vendors[Last Contacted Date] )
    VAR SelectedDates =
        ALLSELECTED( 'Date'[Date] )
    VAR SelectedDate = [Selected Dates]
    VAR DayCount = 14
    VAR DateRange =
        DATESBETWEEN(
            'Date'[Date],
            SelectedDate - DayCount,
            SelectedDate
        )
    VAR WithinDateRange = VendorDate
        IN DateRange
    VAR Result =
        IF(
            HASONEVALUE( 'Date'[Date] ),
            WithinDateRange,
            "Multiple Selections"
        )
    RETURN
        Result
    

     

    The vendor table I mocked up is NOT filtered by the date table (not connected in the model view) because selecting a date removed everything that isn't that exact date. You can modify that to use 28 dates in the DayCount variable.

    If you need more help, please provide sample data and more specifics.
    How to get good help fast. Help us help you.
    How to Get Your Question Answered Quickly
    How to provide sample data in the Power BI Forum

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous ,

     

    Not sure what's your table looks like but you can get the start of last two and last four weeks and end of week by the measure as below.

    start_of_last2_weeks = CALCULATE(MIN('Table'[Date]),WEEKNUM('Table'[Date],2)=WEEKNUM(TODAY(),2)-1)
    
    start_of_last4_weeks = CALCULATE(MIN('Table'[Date]),WEEKNUM('Table'[Date],2)=WEEKNUM(TODAY(),2)-3)
    
    end_of_week = CALCULATE(MAX('Table'[Date]),WEEKNUM('Table'[Date],2)=WEEKNUM(TODAY(),2))

     

    Best Regards,

    Jay

     

    Community Support Team _ Jay Wang

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

      • Anonymous's avatar
        Anonymous
        Not applicable

        HI edhans , Anonymous  and Ashish_Mathur 

         

        Sorry for the late reply

         

        Here is what my data looks like - I have the LatestContactDate is calcuated in the query editor using a conditional column to identify the latest date in either the DateofLatestVisit or LatestContact column. I have then, in the short-term used a fixed measure in the report to come up with the Contacted in Period:

         

        Contacted In Period = if (Tbl_OpenCasesMerged[LatestContactDate]>=Date(2020,06,01) && Tbl_OpenCasesMerged[LatestContactDate]<=Date(2020,06,14),"Last Two Weeks",
        if (Tbl_OpenCasesMerged[LatestContactDate]>=Date(2020,05,18) && Tbl_OpenCasesMerged[LatestContactDate]<=Date(2020,06,14),"Last Four Weeks","Not contacted"))

         

        This is the graph that I am producing

         

         

        What I would like to do is to be able to select a date using a slicer (which could inlcude a date in the future or in the past) and get it to automatically calculate whether the LatestContactDate was in the two weeks or four weeks prior to the selected date or not at all.

         

        Hope that helps with the understanding of what I am trying to do.

         

        Thanks 🙂