/* <maxl version="11.1.1" encoding="UTF-8"/> */
/**
* This script registers methods of the class Statistics as global custom-defined functions
* Usage: Log in to MaxL Shell, then call: msh reglobal.mxl
*
*/
/**
* Register function average
*/
CREATE MACRO '@JAVG'(GROUP)
AS '@_JAVG(@@S)'
SPEC '@JAVG(expList)'
COMMENT 'Computes the average of non-missing values in a data set (expList)';
CREATE FUNCTION '@_JAVG'
AS 'com.hyperion.essbase.calculator.Statistics.avg(double [])';
/**
* Register function weighted average
*/
CREATE FUNCTION '@JAVGW'
AS 'com.hyperion.essbase.calculator.Statistics.avg(double [],double [])'
SPEC '@JAVGW(@LIST(expList), @LIST(weightExpList))'
COMMENT 'Computes the weighted average of non-missing values in a data set (expList)';
/**
* Register functions average and weighted average with a skip instruction.
* These functions will be used through macros, so no spec/comment specified.
* Since these functions will not be used directly, the names start with '@_'.
*/
CREATE FUNCTION '@_JAVGS'
AS 'com.hyperion.essbase.calculator.Statistics.avg(int,double [])';
CREATE FUNCTION '@_JAVGWS'
AS 'com.hyperion.essbase.calculator.Statistics.avg(int,double [],double [])';
/**
* Register macro for average with a skip instruction
*/
CREATE MACRO '@JAVGS'(SINGLE,GROUP)
AS
'@@IFSTRCMP (@@1, SKIPNONE)
@_JAVGS (0, @@2)
@@ELSE
@@IFSTRCMP (@@1, SKIPMISSING)
@_JAVGS (1, @@2)
@@ELSE
@@IFSTRCMP (@@1, SKIPZERO)
@_JAVGS (2, @@2)
@@ELSE
@@IFSTRCMP (@@1, SKIPBOTH)
@_JAVGS (3, @@2)
@@ELSE
@@ERROR (@@L1, @_INVALIDSKIP)
@@ENDIF
@@ENDIF
@@ENDIF
@@ENDIF'
SPEC '@JAVGS(SKIPNONE|SKIPZERO|SKIPMISSING|SKIPBOTH, expList)'
COMMENT 'Computes the average value of a data set (expList) with skip instructions';
/**
* Register macro for weighted average with a skip instruction
*/
CREATE MACRO '@JAVGWS'(SINGLE,SINGLE,SINGLE)
AS
'@@IFSTRCMP (@@1, SKIPNONE)
@_JAVGWS (0, @@2, @@3)
@@ELSE
@@IFSTRCMP (@@1, SKIPMISSING)
@_JAVGWS (1, @@2, @@3)
@@ELSE
@@IFSTRCMP (@@1, SKIPZERO)
@_JAVGWS (2, @@2, @@3)
@@ELSE
@@IFSTRCMP (@@1, SKIPBOTH)
@_JAVGS (3, @@2, @@3)
@@ELSE
@@ERROR (@@L1, @_INVALIDSKIP)
@@ENDIF
@@ENDIF
@@ENDIF
@@ENDIF'
SPEC '@JAVGWS(SKIPNONE|SKIPZERO|SKIPMISSING|SKIPBOTH, @LIST(expList), @LIST(weightExpList))'
COMMENT 'Computes the weighted average value of a data set (expList) with skip instructions';
/**
* Register function correlation
*/
CREATE FUNCTION '@JCORR'
AS 'com.hyperion.essbase.calculator.Statistics.correlation(double [],double [])'
SPEC '@JCORR(@LIST(expList1), @LIST(expList2))'
COMMENT 'Computes the correlation coefficient between two data sets (expList1 and expList2)';
/**
* Register function weighted correlation
*/
CREATE FUNCTION '@JCORRW'
AS 'com.hyperion.essbase.calculator.Statistics.correlation(double [],double [],double [])'
SPEC '@JCORRW(@LIST(expList1), @LIST(expList2), @LIST(weightExpList))'
COMMENT 'Computes the weighted correlation coefficient between two data sets (expList1 and expList2)';
/**
* Register function count
*/
CREATE MACRO '@JCOUNT'(GROUP)
AS '@_JCOUNT(@@S)'
SPEC '@JCOUNT(expList)'
COMMENT 'Computes the count of non-missing elements in a data set (expList)';
CREATE FUNCTION '@_JCOUNT'
AS 'com.hyperion.essbase.calculator.Statistics.count(double [])';
/**
* Register function count with a skip instruction.
* This function will be used through macros, so no spec/comment specified.
* Since this function will not be used directly, the name starts with '@_'.
*/
CREATE FUNCTION '@_JCOUNTS'
AS 'com.hyperion.essbase.calculator.Statistics.count(int,double [])';
/**
* Register macro for count with a skip instruction
*/
CREATE MACRO '@JCOUNTS'(SINGLE,GROUP)
AS
'@@IFSTRCMP (@@1, SKIPNONE)
@_JCOUNTS (0, @@2)
@@ELSE
@@IFSTRCMP (@@1, SKIPMISSING)
@_JCOUNTS (1, @@2)
@@ELSE
@@IFSTRCMP (@@1, SKIPZERO)
@_JCOUNTS (2, @@2)
@@ELSE
@@IFSTRCMP (@@1, SKIPBOTH)
@_JCOUNTS (3, @@2)
@@ELSE
@@ERROR (@@L1, @_INVALIDSKIP)
@@ENDIF
@@ENDIF
@@ENDIF
@@ENDIF'
SPEC '@JCOUNTS(SKIPNONE|SKIPZERO|SKIPMISSING|SKIPBOTH, expList)'
COMMENT 'Computes the number of elements of a data set (expList) with skip instructions';
/**
* Register function covariance
*/
CREATE FUNCTION '@JCOVAR'
AS 'com.hyperion.essbase.calculator.Statistics.covariance(double [],double [])'
SPEC '@JCOVAR(@LIST(expList1), @LIST(expList2))'
COMMENT 'Computes the covariance between two data sets (expList1 and expList2)';
/**
* Register function weighted covariance
*/
CREATE FUNCTION '@JCOVARW'
AS 'com.hyperion.essbase.calculator.Statistics.covariance(double [],double [],double [])'
SPEC '@JCOVARW(@LIST(expList1), @LIST(expList2), @LIST(weightExpList))'
COMMENT 'Computes the weighted covariance between two data sets (expList1 and expList2)';
/**
* Register function geometric mean
*/
CREATE MACRO '@JGEOMEAN'(GROUP)
AS '@_JGEOMEAN(@@S)'
SPEC '@JGEOMEAN(expList)'
COMMENT 'Computes the geometric mean of a data set (expList)';
CREATE FUNCTION '@_JGEOMEAN'
AS 'com.hyperion.essbase.calculator.Statistics.geomean(double [])';
/**
* Register function weighted geometric mean
*/
CREATE FUNCTION '@JGEOMEANW'
AS 'com.hyperion.essbase.calculator.Statistics.geomean(double [],double [])'
SPEC '@JGEOMEANW(@LIST(expList), @LIST(weightExpList))'
COMMENT 'Computes the weighted geometric mean of a data set (expList)';
/**
* Register function harmonic mean
*/
CREATE MACRO '@JHARMEAN'(GROUP)
AS '@_JHARMEAN(@@S)'
SPEC '@JHARMEAN(expList)'
COMMENT 'Computes the harmonic mean of a data set (expList)';
CREATE FUNCTION '@_JHARMEAN'
AS 'com.hyperion.essbase.calculator.Statistics.harmean(double [])';
/**
* Register function weighted harmonic mean
*/
CREATE FUNCTION '@JHARMEANW'
AS 'com.hyperion.essbase.calculator.Statistics.harmean(double [],double [])'
SPEC '@JHARMEANW(@LIST(expList), @LIST(weightExpList))'
COMMENT 'Computes the weighted harmonic mean of a data set (expList)';
/**
* Register function kurtosis
*/
CREATE MACRO '@JKURT'(GROUP)
AS '@_JKURT(@@S)'
SPEC '@JKURT(expList)'
COMMENT 'Computes the kurtosis of a data set (expList)';
CREATE FUNCTION '@_JKURT'
AS 'com.hyperion.essbase.calculator.Statistics.kurt(double [])';
/**
* Register function weighted kurtosis
*/
CREATE FUNCTION '@JKURTW'
AS 'com.hyperion.essbase.calculator.Statistics.kurt(double [],double [])'
SPEC '@JKURTW(@LIST(expList), @LIST(weightExpList))'
COMMENT 'Computes the weighted kurtosis of a data set (expList)';
/**
* Register function max
* There is only one function with this name, so no need to specify the signature
*/
CREATE MACRO '@JMAX'(GROUP)
AS '@_JMAX(@@S)'
SPEC '@JMAX(expList)'
COMMENT 'Computes the maximum of a data set (expList)';
CREATE FUNCTION '@_JMAX'
AS 'com.hyperion.essbase.calculator.Statistics.max';
/**
* Register function median
* There is only one function with this name, so no need to specify the signature
*/
CREATE MACRO '@JMEDIAN'(GROUP)
AS '@_JMEDIAN(@@S)'
SPEC '@JMEDIAN(expList)'
COMMENT 'Computes the median of a data set (expList)';
CREATE FUNCTION '@_JMEDIAN'
AS 'com.hyperion.essbase.calculator.Statistics.median';
/**
* Register function min
* There is only one function with this name, so no need to specify the signature
*/
CREATE MACRO '@JMIN'(GROUP)
AS '@_JMIN(@@S)'
SPEC '@JMIN(expList)'
COMMENT 'Computes the minimum of a data set (expList)';
CREATE FUNCTION '@_JMIN'
AS 'com.hyperion.essbase.calculator.Statistics.min';
/**
* Register function mode
* There is only one function with this name, so no need to specify the signature
*/
CREATE MACRO '@JMODE'(GROUP)
AS '@_JMODE(@@S)'
SPEC '@JMODE(expList)'
COMMENT 'Computes the mode of a data set (expList)';
CREATE FUNCTION '@_JMODE'
AS 'com.hyperion.essbase.calculator.Statistics.mode';
/**
* Register function percentile
*/
CREATE MACRO '@JPTILE'(SINGLE, GROUP)
AS '@_JPTILE(@@1, @@SH1)'
SPEC '@JPTILE(percent,expList)'
COMMENT 'Computes the specified (percent) percentile of a data set (expList)';
CREATE FUNCTION '@_JPTILE'
AS 'com.hyperion.essbase.calculator.Statistics.percentile(double,double [])';
/**
* Register function product
*/
CREATE MACRO '@JPROD'(GROUP)
AS '@_JPROD(@@S)'
SPEC '@JPROD(expList)'
COMMENT 'Computes the product of non-missing values in a data set (expList)';
CREATE FUNCTION '@_JPROD'
AS 'com.hyperion.essbase.calculator.Statistics.product(double [])';
/**
* Register function weighted product
*/
CREATE FUNCTION '@JPRODW'
AS 'com.hyperion.essbase.calculator.Statistics.product(double [],double [])'
SPEC '@JPRODW(@LIST(expList), @LIST(weightExpList))'
COMMENT 'Computes the weighted product of non-missing values in a data set (expList)';
/**
* Register function quartile
* There is only one function with this name, so no need to specify the signature
*/
CREATE MACRO '@JQTILE'(SINGLE, GROUP)
AS '@_JQTILE(@@1, @@SH1)'
SPEC '@JQTILE(quart,expList)'
COMMENT 'Computes the specified (quart) quartile of a data set (expList)';
CREATE FUNCTION '@_JQTILE'
AS 'com.hyperion.essbase.calculator.Statistics.quartile';
/**
* Register function rank
* There is only one function with this name, so no need to specify the signature
*/
CREATE MACRO '@JRANK'(SINGLE, GROUP)
AS '@_JRANK(@@1, @@SH1)'
SPEC '@JRANK(value,expList)'
COMMENT 'Computes the rank of a value in a data set (expList)';
CREATE FUNCTION '@_JRANK'
AS 'com.hyperion.essbase.calculator.Statistics.rank';
/**
* Register function skewness
*/
CREATE MACRO '@JSKEW'(GROUP)
AS '@_JSKEW(@@S)'
SPEC '@JSKEW(expList)'
COMMENT 'Computes the skewness of a data set (expList)';
CREATE FUNCTION '@JSKEW'
AS 'com.hyperion.essbase.calculator.Statistics.skew(double [])';
/**
* Register function weighted skewness
*/
CREATE FUNCTION '@JSKEWW'
AS 'com.hyperion.essbase.calculator.Statistics.skew(double [],double [])'
SPEC '@JSKEWW(@LIST(expList), @LIST(weightExpList))'
COMMENT 'Computes the weighted skewness of a data set (expList)';
/**
* Register function stdev
*/
CREATE FUNCTION '@JSTDEV'(GROUP)
AS '@_JSTDEV(@@S)'
SPEC '@JSTDEV(expList)'
COMMENT 'Computes the standard deviation of non-missing values in a data set (expList)';
CREATE FUNCTION '@_JSTDEV'
AS 'com.hyperion.essbase.calculator.Statistics.stdev(double [])';
/**
* Register function weighted stdev
*/
CREATE FUNCTION '@JSTDEVW'
AS 'com.hyperion.essbase.calculator.Statistics.stdev(double [],double [])'
SPEC '@JSTDEVW(@LIST(expList), @LIST(weightExpList))'
COMMENT 'Computes the weighted standard deviation of non-missing values in a data set (expList)';
/**
* Register functions stdev and weighted stdev with a skip instruction.
* These functions will be used through macros, so no spec/comment specified.
* Since these functions will not be used directly, the names start with '@_'.
*/
CREATE FUNCTION '@_JSTDEVS'
AS 'com.hyperion.essbase.calculator.Statistics.stdev(int,double [])';
CREATE FUNCTION '@_JSTDEVWS'
AS 'com.hyperion.essbase.calculator.Statistics.stdev(int,double [],double [])';
/**
* Register macro for stdev with a skip instruction
*/
CREATE MACRO '@JSTDEVS'(SINGLE,GROUP)
AS
'@@IFSTRCMP (@@1, SKIPNONE)
@_JSTDEVS (0, @@2)
@@ELSE
@@IFSTRCMP (@@1, SKIPMISSING)
@_JSTDEVS (1, @@2)
@@ELSE
@@IFSTRCMP (@@1, SKIPZERO)
@_JSTDEVS (2, @@2)
@@ELSE
@@IFSTRCMP (@@1, SKIPBOTH)
@_JSTDEVS (3, @@2)
@@ELSE
@@ERROR (@@L1, @_INVALIDSKIP)
@@ENDIF
@@ENDIF
@@ENDIF
@@ENDIF'
SPEC '@JSTDEVS(SKIPNONE|SKIPZERO|SKIPMISSING|SKIPBOTH, expList)'
COMMENT 'Computes the standard deviation value of a data set (expList) with skip instructions';
/**
* Register macro for weighted standard deviation with a skip instruction
*/
CREATE MACRO '@JSTDEVWS'(SINGLE,SINGLE,SINGLE)
AS
'@@IFSTRCMP (@@1, SKIPNONE)
@_JSTDEVWS (0, @@2, @@3)
@@ELSE
@@IFSTRCMP (@@1, SKIPMISSING)
@_JSTDEVWS (1, @@2, @@3)
@@ELSE
@@IFSTRCMP (@@1, SKIPZERO)
@_JSTDEVWS (2, @@2, @@3)
@@ELSE
@@IFSTRCMP (@@1, SKIPBOTH)
@_JSTDEVS (3, @@2, @@3)
@@ELSE
@@ERROR (@@L1, @_INVALIDSKIP)
@@ENDIF
@@ENDIF
@@ENDIF
@@ENDIF'
SPEC '@JSTDEVWS(SKIPNONE|SKIPZERO|SKIPMISSING|SKIPBOTH, expList, weightExpList)'
COMMENT 'Computes the weighted standard deviation value of a data set (expList) with skip instructions';
/**
* Register function stdevp
*/
CREATE MACRO '@JSTDEVP'(GROUP)
AS '@_JSTDEVP(@@S)'
SPEC '@JSTDEVP(expList)'
COMMENT 'Computes the standard deviation(p) of non-missing values in a data set (expList)';
CREATE FUNCTION '@JSTDEVP'
AS 'com.hyperion.essbase.calculator.Statistics.stdevp(double [])';
/**
* Register function weighted stdevp
*/
CREATE FUNCTION '@JSTDEVPW'
AS 'com.hyperion.essbase.calculator.Statistics.stdevp(double [],double [])'
SPEC '@JSTDEVPW(@LIST(expList), @LIST(weightExpList))'
COMMENT 'Computes the weighted standard deviation(p) of non-missing values in a data set (expList)';
/**
* Register functions stdevp and weighted stdevp with a skip instruction.
* These functions will be used through macros, so no spec/comment specified.
* Since these functions will not be used directly, the names start with '@_'.
*/
CREATE FUNCTION '@_JSTDEVPS'
AS 'com.hyperion.essbase.calculator.Statistics.stdevp(int,double [])';
CREATE FUNCTION '@_JSTDEVPWS'
AS 'com.hyperion.essbase.calculator.Statistics.stdevp(int,double [],double [])';
/**
* Register macro for stdevp with a skip instruction
*/
CREATE MACRO '@JSTDEVPS'(SINGLE,GROUP)
AS
'@@IFSTRCMP (@@1, SKIPNONE)
@_JSTDEVPS (0, @@2)
@@ELSE
@@IFSTRCMP (@@1, SKIPMISSING)
@_JSTDEVPS (1, @@2)
@@ELSE
@@IFSTRCMP (@@1, SKIPZERO)
@_JSTDEVPS (2, @@2)
@@ELSE
@@IFSTRCMP (@@1, SKIPBOTH)
@_JSTDEVPS (3, @@2)
@@ELSE
@@ERROR (@@L1, @_INVALIDSKIP)
@@ENDIF
@@ENDIF
@@ENDIF
@@ENDIF'
SPEC '@JSTDEVPS(SKIPNONE|SKIPZERO|SKIPMISSING|SKIPBOTH, expList)'
COMMENT 'Computes the standard deviation(p) value of a data set (expList) with skip instructions';
/**
* Register macro for weighted stdevp with a skip instruction
*/
CREATE MACRO '@JSTDEVPWS'(SINGLE,SINGLE,SINGLE)
AS
'@@IFSTRCMP (@@1, SKIPNONE)
@_JSTDEVPWS (0, @@2, @@3)
@@ELSE
@@IFSTRCMP (@@1, SKIPMISSING)
@_JSTDEVPWS (1, @@2, @@3)
@@ELSE
@@IFSTRCMP (@@1, SKIPZERO)
@_JSTDEVPWS (2, @@2, @@3)
@@ELSE
@@IFSTRCMP (@@1, SKIPBOTH)
@_JSTDEVPS (3, @@2, @@3)
@@ELSE
@@ERROR (@@L1, @_INVALIDSKIP)
@@ENDIF
@@ENDIF
@@ENDIF
@@ENDIF'
SPEC '@JSTDEVPWS(SKIPNONE|SKIPZERO|SKIPMISSING|SKIPBOTH, expList, weightExpList)'
COMMENT 'Computes the weighted standard deviation(p) value of a data set (expList) with skip instructions';
/**
* Register function sum
*/
CREATE MACRO '@JSUM'(GROUP)
AS '@_JSUM(@@S)'
SPEC '@JSUM(expList)'
COMMENT 'Computes the sum of a data set (expList)';
CREATE FUNCTION '@_JSUM'
AS 'com.hyperion.essbase.calculator.Statistics.sum(double [])';
/**
* Register function weighted SUM
*/
CREATE FUNCTION '@JSUMW'
AS 'com.hyperion.essbase.calculator.Statistics.sum(double [],double [])'
SPEC '@JSUMW(@LIST(expList), @LIST(weightExpList))'
COMMENT 'Computes the weighted sum of a data set (expList)';
/**
* Register function var
*/
CREATE MACRO '@JVAR'(GROUP)
AS '@_JVAR(@@S)'
SPEC '@JVAR(expList)'
COMMENT 'Computes the variance of non-missing values in a data set (expList)';
CREATE FUNCTION '@_JVAR'
AS 'com.hyperion.essbase.calculator.Statistics.var(double [])';
/**
* Register function weighted var
*/
CREATE FUNCTION '@JVARW'
AS 'com.hyperion.essbase.calculator.Statistics.var(double [],double [])'
SPEC '@JVARW(@LIST(expList), @LIST(weightExpList))'
COMMENT 'Computes the weighted variance of non-missing values in a data set (expList)';
/**
* Register functions var and weighted var with a skip instruction.
* These functions will be used through macros, so no spec/comment specified.
* Since these functions will not be used directly, the names start with '@_'.
*/
CREATE FUNCTION '@_JVARS'
AS 'com.hyperion.essbase.calculator.Statistics.var(int,double [])';
CREATE FUNCTION '@_JVARWS'
AS 'com.hyperion.essbase.calculator.Statistics.var(int,double [],double [])';
/**
* Register macro for var with a skip instruction
*/
CREATE MACRO '@JVARS'(SINGLE,GROUP)
AS
'@@IFSTRCMP (@@1, SKIPNONE)
@_JVARS (0, @@2)
@@ELSE
@@IFSTRCMP (@@1, SKIPMISSING)
@_JVARS (1, @@2)
@@ELSE
@@IFSTRCMP (@@1, SKIPZERO)
@_JVARS (2, @@2)
@@ELSE
@@IFSTRCMP (@@1, SKIPBOTH)
@_JVARS (3, @@2)
@@ELSE
@@ERROR (@@L1, @_INVALIDSKIP)
@@ENDIF
@@ENDIF
@@ENDIF
@@ENDIF'
SPEC '@JVARS(SKIPNONE|SKIPZERO|SKIPMISSING|SKIPBOTH, expList)'
COMMENT 'Computes the variance value of a data set (expList) with skip instructions';
/**
* Register macro for weighted variance with a skip instruction
*/
CREATE MACRO '@JVARWS'(SINGLE,SINGLE,SINGLE)
AS
'@@IFSTRCMP (@@1, SKIPNONE)
@_JVARWS (0, @@2, @@3)
@@ELSE
@@IFSTRCMP (@@1, SKIPMISSING)
@_JVARWS (1, @@2, @@3)
@@ELSE
@@IFSTRCMP (@@1, SKIPZERO)
@_JVARWS (2, @@2, @@3)
@@ELSE
@@IFSTRCMP (@@1, SKIPBOTH)
@_JVARS (3, @@2, @@3)
@@ELSE
@@ERROR (@@L1, @_INVALIDSKIP)
@@ENDIF
@@ENDIF
@@ENDIF
@@ENDIF'
SPEC '@JVARWS(SKIPNONE|SKIPZERO|SKIPMISSING|SKIPBOTH, expList, weightExpList)'
COMMENT 'Computes the weighted variance value of a data set (expList) with skip instructions';
/**
* Register function varp
*/
CREATE MACRO '@JVARP'(GROUP)
AS '@_JVARP(@@S)'
SPEC '@JVARP(expList)'
COMMENT 'Computes the variance(p) of non-missing values in a data set (expList)';
CREATE FUNCTION '@_JVARP'
AS 'com.hyperion.essbase.calculator.Statistics.varp(double [])';
/**
* Register function weighted varp
*/
CREATE FUNCTION '@JVARPW'
AS 'com.hyperion.essbase.calculator.Statistics.varp(double [],double [])'
SPEC '@JVARPW(@LIST(expList), @LIST(weightExpList))'
COMMENT 'Computes the weighted variance(p) of non-missing values in a data set (expList)';
/**
* Register functions varp and weighted varp with a skip instruction.
* These functions will be used through macros, so no spec/comment specified.
* Since these functions will not be used directly, the names start with '@_'.
*/
CREATE FUNCTION '@_JVARPS'
AS 'com.hyperion.essbase.calculator.Statistics.varp(int,double [])';
CREATE FUNCTION '@_JVARPWS'
AS 'com.hyperion.essbase.calculator.Statistics.varp(int,double [],double [])';
/**
* Register macro for varp with a skip instruction
*/
CREATE MACRO '@JVARPS'(SINGLE,GROUP)
AS
'@@IFSTRCMP (@@1, SKIPNONE)
@_JVARPS (0, @@2)
@@ELSE
@@IFSTRCMP (@@1, SKIPMISSING)
@_JVARPS (1, @@2)
@@ELSE
@@IFSTRCMP (@@1, SKIPZERO)
@_JVARPS (2, @@2)
@@ELSE
@@IFSTRCMP (@@1, SKIPBOTH)
@_JVARPS (3, @@2)
@@ELSE
@@ERROR (@@L1, @_INVALIDSKIP)
@@ENDIF
@@ENDIF
@@ENDIF
@@ENDIF'
SPEC '@JVARPS(SKIPNONE|SKIPZERO|SKIPMISSING|SKIPBOTH, expList)'
COMMENT 'Computes the variance(p) value of a data set (expList) with skip instructions';
/**
* Register macro for weighted varp with a skip instruction
*/
CREATE MACRO '@JVARPWS'(SINGLE,SINGLE,SINGLE)
AS
'@@IFSTRCMP (@@1, SKIPNONE)
@_JVARPWS (0, @@2, @@3)
@@ELSE
@@IFSTRCMP (@@1, SKIPMISSING)
@_JVARPWS (1, @@2, @@3)
@@ELSE
@@IFSTRCMP (@@1, SKIPZERO)
@_JVARPWS (2, @@2, @@3)
@@ELSE
@@IFSTRCMP (@@1, SKIPBOTH)
@_JVARPS (3, @@2, @@3)
@@ELSE
@@ERROR (@@L1, @_INVALIDSKIP)
@@ENDIF
@@ENDIF
@@ENDIF
@@ENDIF'
SPEC '@JVARPWS(SKIPNONE|SKIPZERO|SKIPMISSING|SKIPBOTH, expList, weightExpList)'
COMMENT 'Computes the weighted variance(p) value of a data set (expList) with skip instructions';