I prefer time-range end date to be exclusive of the end date, because of
the following reasons:

1. Giving a month range end as start of next month is easy, as you need not
remember and get confused with number of days in month : 30, 31, 28/29 (in
february leap year) - wont miss ending days because of mistakes.

2. When you are giving a any range, you need not worry about what
granularity should the time be specified.
For ex, for including time upto 2015-08-01 05th.

Should user specify the following with inclusive ranges?
> 2015-08-01-04 (would be correct, assuming whole of 4 th hour will be
included)
> 2015-08-01-04-59 (would be correct, but what if there is leap second :p )
> 2015-08-01-04-59-000 (wrong, would include only 000th milli second and
not others)
> 2015-08-01-04-59-999 (not sure if we will have leap milli seconds)

Looking forward to see other arguments on making timerange end date
inclusive.

Thanks
Amareshwari

On Wed, Aug 5, 2015 at 2:50 PM, Rajat Khandelwal <[email protected]> wrote:

> Currently the time_range_in clause is inclusive of the start date and
> exclusive of the end date. i.e. time_range_in(time_dimension, date1, date2)
> translates to date1<=time_dimension<date2
>
> Recently there have been multiple discussions regarding this approach in
> our internal forums at InMobi. There have been arguments that as an
> analytics system, it should accept end date inclusive. Starting this thread
> to know opinions of other people regarding both approaches. I'm defining
> and briefly discussing both approaches below:
>
> Approach 1: End date exclusive.
> Disclaimer: I personally prefer this approach and would shamelessly argue
> in its favor. I'll give links to some of the articles that I very much
> agree with (no need to reinvent the wheel of argument)
>
>    1. Views of Anders Kaseorg, MIT PhD student in CS; Cofounder of Ksplice,
>    Inc
>    <
> https://www.quora.com/Why-are-Python-ranges-half-open-exclusive-instead-of-closed-inclusive/answer/Anders-Kaseorg
> >
>    2. Views of Edgar Dijkstra, Creator of Dijkstra's algorithm
>    <http://www.cs.utexas.edu/users/EWD/ewd08xx/EWD831.PDF>
>    3. Both arguments are for generic ranges. I believe time range is also a
>    range and don't see why we need to handle that as a special case.
>
>
> Approach 2: End date inclusive.
>
>    1. Lens query language is a bit like sql and the BETWEEN clause in sql
>    is inclusive of both start and end date.
>    2. Most analytic systems --- including google analytics --- follow this
>    convention
>
>
> I'm posting the question on a bigger forum
> <
> https://www.quora.com/Should-Time-ranges-in-an-analytical-system-be-half-open-or-closed
> >
> as well in hopes of getting more opinions. I request everyone to post their
> views here regarding both approaches.
>
> Regards
>

Reply via email to