OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

office-formula message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [office-formula] serial number? Don't we mean serial date?


"Dennis E. Hamilton" <dennis.hamilton@acm.org> wrote on 01/28/2010 
06:49:57 PM:

> 
> RE: [office-formula] serial number? Don't we mean serial date?
> 
> Yes, I have been arguing for two ambient properites (nice term), 
> 
>   - one for the origin-date (what calendar date the serial-day value
> 1 corresponds to, and I wouldn't use "null" in that context) and 
>   - and one specifying the calendar mapping to use. 
> 
> [I would prefer 0 as the origin date, but I am not sure all 
> spreadsheet systems recoognize serial-day number 0 as having a 
> corresponding calendar date.  If we do set 0 as the origin date, we 
> have to allow a calendar mapping to rule out serial-day numbers 0 
> and less just as some might rule out other serial-day numbers in the
> overall allowed range.]
> 

I think we just allow that to be an origin date given in ISO 8601 format. 
That encompasses all observed behavior today.  I'd worry that mandating a 
0-origin date would give significantly lower precision in the 21st century 
(looking at milliseconds, for example) than an origin of 1900 or 1970 
would.


> I think skip-after-feb-1900 is too specific when there is more 
> variability to deal with.  A calendar mapping might also have 
> limits, map serial-date values less than the origin value to some 
> lower limit, etc.  All of that we can leave to the evaluation 
> context and the OpenFormula-hosting specifications that establish 
> those and the variability that is permitted of their conforming 
> implementations.
> 

I think we want a different word here than "calendar mapping".  Calendars 
are something else, e.g., Gregorian, Julian, Jewish, Islamic, etc., and 
encompass not only differences in origin and leap year calculations, but 
also difference in month length and when the new year starts.  I don't 
think we want to go there in this release.

For the question of leap year calculation, I'd accept simply specifying 
the correct Gregorian calculation.  An implementation that varied from 
that definition would have bug and would likely want to document that for 
their users.  I think that reflects the state of leap year calculations 
today -- in some cases it is acknowledged as a bug and documented 
accordingly.  If an implementation wants to flag the presence of such a 
bug, they can do so using sheet-level attribute in their own namespace.

I'd also be willing to consider a minimal solution that addresses the very 
specific issue of Excel and the 1900 leap year.  But it is still 
mysterious to me exactly what the ramifications of that bug are, 
especially its intersections with the date basis calculations, yearfrac(), 
etc.  If you recall, some of the day counting conventions did special 
operations on februaries depending on whether it had 28 or 29 days.  It 
isn't clear how much that bug trickles through he entire system.

We could also just define the Gregorian calendar alone, but then put in a 
note that calculations involving date ranges that include February 28th 
1900 through March 1st 1900 have implementation-defined behavior.

In any case, I don't want to introduce a general-purpose framework for 
describing calendar calculation defects.


> I think this is an appropriate foundation for OpenFormula-hosting 
> specifications and their implementations to converge on a worthwhile
> set of common cases over time.  It appeals to me that OpenFormula 
> can stay intact and neutral with respect to that.
> 
>  - Dennis
> 
> 
> 
> -----Original Message-----
> From: Andreas J. Guelzow [mailto:andreas.guelzow@concordia.ab.ca] 
> Sent: Thursday, January 28, 2010 13:20
> To: office-formula@lists.oasis-open.org
> Subject: RE: [office-formula] serial number? Don't we mean serial date?
> 
> On Thu, 2010-01-28 at 14:17 -0700, robert_weir@us.ibm.com wrote:
> > If we go down that path, then this goes into the "evaluation context" 
that 
> > we've been talking about, an ambient property called "EPOCH" or 
> > "DATE-ORIGIN" or something like that.  Then Part 1 can map a 
sheet-level 
> > attribute to that context property.
> 
> the null-date attribute is supposed to do that. We just also need to
> have attribute skip-after-feb-1900 and a corresponding ambient property.
> 
> Andreas
> 
> > 
> > -Rob
> > 
> > "Dennis E. Hamilton" <dennis.hamilton@acm.org> wrote on 01/28/2010 
> > 03:23:15 PM:
> > > 
> > > RE: [office-formula] serial number? Don't we mean serial date?
> > > 
> > > Rob, that's a nice breakdown of the cases.
> > > 
> > > My vote is on the lines of #4 to support the spreadsheet 
ecumenicalism 
> > that
> > > seems to be part of the OpenFormula thrust and also to give the
> > > OpenFormula-hosting specifications and their implementations the 
> > discretion
> > > that might be required for them to embrace OpenFormula.
> > > 
> > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe from this mail list, you must leave the OASIS TC that
> > generates this mail.  Follow this link to all your TCs in OASIS at:
> > https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 

> > 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe from this mail list, you must leave the OASIS TC that
> generates this mail.  Follow this link to all your TCs in OASIS at:
> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe from this mail list, you must leave the OASIS TC that
> generates this mail.  Follow this link to all your TCs in OASIS at:
> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 
> 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]