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

 


Help: OASIS Mailing Lists Help | MarkMail Help

office message

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


Subject: [OASIS Issue Tracker] Commented: (OFFICE-3494) Part 2 6.13 AddCURRENTVALUE function



    [ http://tools.oasis-open.org/issues/browse/OFFICE-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=22925#action_22925 ] 

Dennis Hamilton commented on OFFICE-3494:
-----------------------------------------

Andreas,

So what you are saying is that the table:base-cell-address is the address to which all relative references in the formula are relative.

Now I understand what Eike was claiming.  Thank you.

So, somehow the HOST-REFERENCE-RESOLVER notices any situation like that in references it is being given from the formula evaluator and realizes that it should resolve the references accordingly.

So the examples I gave don't reveal what the complexities are, especially if the base cell is not mentioned directly in the formula.  I need to think about that.

But for my three test cells, I gather that the formulas turn into:

 <!-- This is cell [$'Sheet 1'.$A$1] --> 

   <table:table-cell 
         table:content-validation-name="+C23=42" 
         office:value-type="float" 
         office:value="17" 
         /> 

   the condition "is-true-formula([.A1]+[.C23]+[.$C$23]=42)" 
   becomes is-true-formula([$'Sheet 1'.$A$1]+[$'Sheet 1'.$C$23]+$'Sheet 1'$C$23]=42")


<!-- This is cell [$'Sheet 1'.$X$12] --> 

   <table:table-cell 
         table:content-validation-name="+C23=42" 
         office:value-type="float" 
         office:value="-1.5" 
         /> 

   the condition "is-true-formula([.A1]+[.C23]+[.$C$23]=42)" 
   becomes is-true-formula([$'Sheet 1'.$X$12]+[$'Sheet 1'.$Z$34]+$'Sheet 1'$C$23]=42")


<!-- This is cell [$'Sheet X'.$BB$11] 
          
   <table:table-cell 
         table:content-validation-name="+C23=42" 
         office:value-type="float" 
         office:value="0.05E-6" 
         /> 

   the condition "is-true-formula([.A1]+[.C23]+[.$C$23]=42)" 
   becomes is-true-formula([$'Sheet X'.$BB$11]+[$'Sheet X'.$BD$33]+$'Sheet X'$C$23]=42")


I assume that even this will work:

<table:content-validation 
      table:name="mode-swing" 
      table:base-cell-address="A5" 
      table:condition="is-true-formula(AVERAGE([.A1:A10]) > (MAX([A1:A10])+MIN([A1:A10])/2)" 
      /> 

and this does a lot more than what CURRENTVALUE( ) can possibly accomplish.

OK, I will withdraw the CURRENTVALUE( ) resolution.  But we need to make sure that the definition of table:base-cell-address is clear.



> Part 2 6.13 Add CURRENTVALUE function
> -------------------------------------
>
>                 Key: OFFICE-3494
>                 URL: http://tools.oasis-open.org/issues/browse/OFFICE-3494
>             Project: OASIS Open Document Format for Office Applications (OpenDocument) TC
>          Issue Type: Sub-task
>          Components: OpenFormula, Part 2 (Formulas)
>    Affects Versions: ODF 1.2 CD 05
>            Reporter: Dennis Hamilton
>            Assignee: Dennis Hamilton
>             Fix For: ODF 1.2 CD 06
>
>
> The CURRENTVALUE( ) function is an additional Information Function that provides access to the existing value in the context for which the OpenFormula formula is being evaluated.
> This function corresponds to the current-content( ) function defined in ODF 1.2 style:condition and table:condition attributes and it has the same purpose:
> Whenever the evaluation is in a context where there is a current value, that value is made available to the evaluation as the result of CURRENTVALUE( ).  [Note: a current value need not be associated with a specific cell or even a table, depending on the context in which the evaluation is employed.]
> Whenever the current value is that of a table cell, that value is delivered in the same manner as if CURRENTVALUE( ) were a reference to that cell.
> CURRENTVALUE( ) is a special form of reference that delivers a value based on the context of evaluation.
> When there is no current value available, CURRENTVALUE( ) returns an error-type value.   If the current value is an error-type value, that error is returned.
> Evaluation of CURRENTVALUE( ) shall not induce recalculation.  It does not constitute a recursive reference of any kind.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


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