Class 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
    • Constructor Detail

      • SQLFunctionVariance

        public SQLFunctionVariance()
      • SQLFunctionVariance

        public SQLFunctionVariance​(String iName,
                                   int iMinParams,
                                   int iMaxParams)
    • 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 record
        iCurrentResult - TODO
        iParams - : 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
      • 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.