Class SQLFunctionVariance
- java.lang.Object
-
- com.arcadedb.query.sql.function.SQLFunctionAbstract
-
- com.arcadedb.query.sql.function.math.SQLFunctionVariance
-
- All Implemented Interfaces:
SQLFunction
- Direct Known Subclasses:
SQLFunctionStandardDeviation
public class SQLFunctionVariance extends SQLFunctionAbstract
Compute the variance estimation for a given field.This class uses the Weldford's algorithm (presented in Donald Knuth's Art of Computer Programming) to avoid multiple distribution values' passes. When executed in distributed mode it uses the Chan at al. pairwise variance algorithm to merge the results.
References- Cook, John D. Accurately computing running variance.
- Knuth, Donald E. (1998) The Art of Computer Programming, Volume 2: Seminumerical Algorithms, 3rd Edition.
- Welford, B. P. (1962) Note on a method for calculating corrected sums of squares and products. Technometrics
- Chan, Tony F.; Golub, Gene H.; LeVeque, Randall J. (1979), Parallel Algorithm.
- Author:
- Fabrizio Fortino
-
-
Field Summary
Fields Modifier and Type Field Description static String
NAME
-
Fields inherited from class com.arcadedb.query.sql.function.SQLFunctionAbstract
name
-
-
Constructor Summary
Constructors Modifier Constructor Description SQLFunctionVariance()
protected
SQLFunctionVariance(String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
aggregateResults()
A function can make calculation on several records before returning a result.Object
execute(Object iThis, Identifiable iCurrentRecord, Object iCurrentResult, Object[] iParams, CommandContext iContext)
Process a record.Object
getResult()
Only called when function aggregates results after all records have been passed to the function.String
getSyntax()
Returns a convenient SQL String representation of the function.-
Methods inherited from class com.arcadedb.query.sql.function.SQLFunctionAbstract
config, getName, toString
-
-
-
-
Field Detail
-
NAME
public static final String NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SQLFunctionVariance
public SQLFunctionVariance()
-
SQLFunctionVariance
protected SQLFunctionVariance(String name)
-
-
Method Detail
-
execute
public Object execute(Object iThis, Identifiable iCurrentRecord, Object iCurrentResult, Object[] iParams, CommandContext iContext)
Description copied from interface:SQLFunction
Process a record.iCurrentRecord
- : current recordiCurrentResult
- TODOiParams
- : function parameters, number is ensured to be within minParams and maxParams.iContext
- : object calling this function- Returns:
- function result, can be null. Special cases : can be null if function aggregate results, can be null if function filter results : this mean result is excluded
-
aggregateResults
public boolean aggregateResults()
Description copied from interface:SQLFunction
A function can make calculation on several records before returning a result.Example of such function : sum, count, max, min ...
The final result of the aggregation is obtained by calling
SQLFunction.getResult()
- Specified by:
aggregateResults
in interfaceSQLFunction
- Overrides:
aggregateResults
in classSQLFunctionAbstract
- Returns:
- true if function aggregate results
-
getResult
public Object getResult()
Description copied from interface:SQLFunction
Only called when function aggregates results after all records have been passed to the function.- Specified by:
getResult
in interfaceSQLFunction
- Overrides:
getResult
in classSQLFunctionAbstract
- Returns:
- Aggregation result
-
getSyntax
public String getSyntax()
Description copied from interface:SQLFunction
Returns a convenient SQL String representation of the function.Example :
myFunction( param1, param2, [optionalParam3])
This text will be used in exception messages.
- Returns:
- String , never null.
-
-