Error Messages/40352

< Error Messages
Revision as of 15:49, 1 July 2009 by Lchrisman (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Message Text Examples

The function 'Rank' is not a valid conglomeration function, and thus cannot be used for the «conglomerationFn» parameter (5th parameter) to function MdTable. When it was called, the dimensionality of the result was not as required. A conglomeration function must have the form:
F(A : Array[I] ; I : IndexType)
and must reduce a 1-D array to an atomic value (or at least, the result must not be indexed by I). Example are Sum, Product, Min, Max, and Average.

or

The function 'Cumulate' is not a valid conglomeration function, and thus cannot be used for the «type» parameter to function Aggregate. When it was called, the dimensionality of the result was not as required. A conglomeration function must have the form:
F(A : Array[I] ; I : IndexType)
and must reduce a 1-D array to an atomic value (or at least, the result must not be indexed by I). Example are Sum, Product, Min, Max, and Average.

Cause

When you use the functions MdTable and Aggregate, it can occur that multiple items in the original data map to the same cell in the result. When this happens, the values must be conglomerated (aggregated) in some fashion. By default, these functions sum the values to obtain the result. However, both functions allow you to optionally specify a different form of conglomeration using an optional parameter («conglomerationFn» in MdTable, or «type» in Aggregate). This parameter specifies which function is to be used to combine the multiple values that map to the same cell in the result. The function specified must be an array-reducing function -- one that returns a scalar value when passed a 1-D array of values. This error occurs when the function specified has an acceptable parameter declaration, but the result returned was not reduced to a scalar as expected.

Remedy

If you are specifying your own User-Defined Function for the conglomeration function, you may need to debug your function to make sure that it reduces the result when passed a 1-D array. Otherwise, you may simply need to use a different aggregation function.

Comments


You are not allowed to post comments.