Forum Discussion

rogerdea's avatar
rogerdea
Helper IV
3 years ago
Solved

Comparing Dates between tables

I am struggling to figures out how to compare dates between tables. So any help with best approach is appreciated.  I've tried RELATED function but that wont work.

 

The context is locations are open on certain dates throughout the year [DatesOpen] but not every day, and each location should submit an activity form for each of those days [FormsReceived].  I am trying to determine which dates I am missing forms for.

 

Hopefully the image below is not too small, but i have a 1 to many relationship between the two tables (its a 'many' as there may be NULL dates in there which is bad data), and want to produce a table showing which daes have forms received and which dates dont:

 

 

 

 

Any ideas how to go about doing this?  Been trying for ages and getting nowhere!

 

Thanks

 

  • Anonymous's avatar
    Anonymous
    3 years ago

    Hi  rogerdea ,

     

    Here are the steps you can follow:

    1. Create calculated table.

    Flag =
    var _table1=
    SUMMARIZE(
        'DatesOpen',
        'DatesOpen'[DateOpen],'DatesOpen'[Location],'DatesOpen'[CompKey],
        "DateFrom",
        MAXX(      FILTER(ALL(FormsReceived),'FormsReceived'[CompKey]=EARLIER('DatesOpen'[CompKey])),'FormsReceived'[DateOpen]),
        "FromOutstanding",
        IF(
            'DatesOpen'[CompKey] in SELECTCOLUMNS('FormsReceived',"1",'FormsReceived'[CompKey]),0,1))
    return
    SUMMARIZE(
        _table1,[DateOpen],[DateFrom],[FromOutstanding])

    2. Result:

     

     

    Best Regards,

    Liu Yang

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

4 Replies

  • Arul's avatar
    Arul
    Super User

    rogerdea ,

    Are you expecting this?

    New Table = 
    VAR _tempTable = SUMMARIZE('Date Open','Date Open'[DateOpen],'Date Form'[DateForm])
    RETURN ADDCOLUMNS(_tempTable,"FormOutstanding",IF('Date Form'[DateForm]<>BLANK(),0,1))

    Thanks,

    Arul

    • rogerdea's avatar
      rogerdea
      Helper IV

      Thanks for the reply, but in the _tempTable and SUMMARIZE i cannot get the 'Date Form'[DateForm] in there, as  it does not show in the list of available fields to pick from.

  • Hi,

    In the Result table, why not show only 2 columns - Date and FormOutstanding?  If you are amenable to my approach, then share data in format that can be pasted in an MS Excel file.

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi  rogerdea ,

     

    Here are the steps you can follow:

    1. Create calculated table.

    Flag =
    var _table1=
    SUMMARIZE(
        'DatesOpen',
        'DatesOpen'[DateOpen],'DatesOpen'[Location],'DatesOpen'[CompKey],
        "DateFrom",
        MAXX(      FILTER(ALL(FormsReceived),'FormsReceived'[CompKey]=EARLIER('DatesOpen'[CompKey])),'FormsReceived'[DateOpen]),
        "FromOutstanding",
        IF(
            'DatesOpen'[CompKey] in SELECTCOLUMNS('FormsReceived',"1",'FormsReceived'[CompKey]),0,1))
    return
    SUMMARIZE(
        _table1,[DateOpen],[DateFrom],[FromOutstanding])

    2. Result:

     

     

    Best Regards,

    Liu Yang

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