[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [office-comment] ForceArray needs to stay
Hi Eike,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.
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).
Having ForceArray at a parameter in the syntax of a function makes no sense to me. In my understanding "ForceArray" is a short-term for using attributes "table:number-matrix-columns-spanned" and "table:number-matrix-rows-spanned" and using the result of the formula in the top-left cell of that spanned area for the entire spanned area, following the rules described in "3.3 Non-Scalar Evaluation (aka 'Array expressions')" part "2) Matrix evaluation".
Some more input from you is needed for me. Kind regards Regina Eike Rathke schrieb am 18.12.2017 um 15:57:
Hi, It came to my ears ;-) there is some discussion that the ForceArray attribute would be redundant as already implied by Array and could be removed. That is not the case. ForceArray is a calculation context attribute, not a parameter type. The ForceArray attribute is described at http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part2.html#ForceArray ForceArray forces all context of the argument and the expression that results in that argument into array mode / matrix evaluation, regardless whether the function is part of an array/matrix formula expression. See 3.3 Non-Scalar Evaluation (aka 'Array expressions') http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part2.html#Non-Scalar_Evaluation 2) Matrix evaluation. I hope that helps. Eike