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

 


Help: OASIS Mailing Lists Help | MarkMail Help

office-comment message

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


Subject: Re: [office-comment] ForceArray needs to stay


Hi Eike,

the purpose of the attribute is clear now.

It seems, that the description in the spec needs improvement.

Kind regards
Regina

Eike Rathke schrieb am 18.12.2017 um 18:41:
Hi Regina,

On Monday, 2017-12-18 17:49:37 +0100, Regina Henschel wrote:

it is not clear to me. The description currently contains "This means that
no implied intersection is performed, instead where a reference to a single
cell is expected and multiple cells are provided, iteration over the
multiple cells is performed and results are stored in an array that is
passed on."

But in case of the functions MDETERM e.g. (and others listed in
https://issues.oasis-open.org/browse/OFFICE-3942) there is not "a single
cell is expected", but the parameter is expected to be an array.

Focus on "forces the context of the expression that results in that
argument into array mode" (or "forces calculation of the argument's
expression into non-scalar array mode" as ODFF states).
Best some example:

Cells A1:A3 := {-1,-2,-3}
SUMPRODUCT(ABS(A1:A3))
results in 6 because it forces array context on the expression
ABS(A1:A3), where ABS() expects a scalar value and without array context
would take the implicit intersection of the formula cell's position and
the range A1:A3 and return one single value. In array evaluation context
it iterates over the values A1:A3 and returns an array of results.

From the practice of Shift+Ctrl+Enter, which I assume forces to non-scalar
mode, this is not a property of a special function, but the property of the
entire expression. For example I can use an expression like
"=MDETERM(A2:C4)+E2:E5" in scalar mode (=intersection) or in non-scalar mode
(=iteration).

This is a non-sufficient example though because A2:C4 can be converted
to Array anyway. The +E2:E5 is not affected by MDETERM's ForceArray
argument.

In my understanding "ForceArray" is a short-term for using attributes
"table:number-matrix-columns-spanned" and "table:number-matrix-rows-spanned"

ForceArray is completely unrelated to those attributes.

  Eike




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