5 Replies Latest reply: Feb 27, 2014 2:43 PM by Lawrence Bunnell RSS

    Select date range from 2 separate date columns

    Lawrence Bunnell

      I have 2 columns with dates representing the opening and closing of an item.  I have created 4 variables for 2 date ranges 1) OpenDate(vOpenStart, vOpenEnd) and 2) CloseDate (vCloseStart, vCloseEnd) to search with 2 sets of 2 calendar objects for selecting beginning and end dates along with a search button with the following expressions in each set of objects:

       

      Open Date search button:
      = '>=' & Date(vStartDate, 'MM/DD/YYYY') & '<=' & Date(vEndDate, 'MM/DD/YYYY')

       

      Close Date search button:

      = '>=' & Date(vCloseStart, 'MM/DD/YYYY') & '<=' & Date(vCloseEnd, 'MM/DD/YYYY')

       

      calSearch.png

       

      The way it is set up now, I only get one or the other when selecting each one individually, or if I select both, it eliminates the records that don't have both a start and close within the date range. What I need to do is create a single search button to be able to select all of the records where the OpenStart date OR the CloseStart date fall within the date range selected.

       

      Thanks,

       

      Lawrence

        • Re: Select date range from 2 separate date columns
          David Foster

          I suspect that you need to look at creating your 2 calendars as data islands and then incorporate the selected values into set analysis functions to control your result set.

           

          This is a good thread to read Conditional Queries with Data Islands

            • Re: Select date range from 2 separate date columns
              Lawrence Bunnell

              Could you explain further? The date fields are part of a larger dataset that contains a key field. If I create an islands of the calendar date, I don't understand how I would be able to use a set analysis that would show all the records that have key fields with open and close dates within the range if the island table doesn't know which records have associated key fields. Maybe, and quite possibly, I'm missing something.

                • Re: Select date range from 2 separate date columns
                  David Foster

                  Have you had a read of the thread I pointed to?

                   

                  Data islands is an approach for complex (and potentially multi-fact) filters.

                   

                  The basic approach is to create separate data island tables with your 2 lists of dates.

                   

                  In your set analysis you then reference the data island values.

                   

                  e.g.

                   

                  =SUM({<Year="_YEAR">} Amount)

                   

                  where Year is the year in the normal model and _YEAR is the data island.

                    • Re: Select date range from 2 separate date columns
                      Lawrence Bunnell

                      Yes, I've read the article, but I don't see how that explains how to capture both the records that have Open Dates and/or Close Date within the date range. Whether I use an island or not, I still get only the records that have both Open Dates and Close Dates within the range - (not records where the Open Date is prior to the date range selected). In other words, if the date range is 1/1/2014 to 1/31/2014 and the Close Date is 1/1/2014, I'm not getting any records where the Open Date might be 12/15/2013.

                       

                      I was thinking something like this, but this doesn't work either:

                       

                      count({<[OPEN DATE] = {'>=$(=Date(vStartDate))<=$(=Date(vEndDate))'} > + {<[CLOSE DATE] = {'>=$(=Date(vStartDate))<=$(=Date(vEndDate))'} > }[LOAN NUMBER])