![]()  | 
  
    PING
    0.9
    
   Statistical data handling and processing in production environment 
   | 
 
Generate the expression used to calculate the arithmetic mean of a series of variables for each observation in a SQL procedure.
var : (option) variable(s) for which the mean will be returned; the variable(s) listed in var must be already present (i.e., originally coded in the processed table);calcvar : (option) ibid, however the variable(s) listed in calcvar refer to previously calculated variables (e.g. , within the same SELECT statement).expr : expression for calculating the arithmetic mean of a series of variables, to be used within a SQL procedure.
Let us consider the following table dsn1: 
| a | b | 
|---|---|
| -1 | 100 | 
| -2 | 101 | 
| -3 | 102 | 
| -4 | 103 | 
| -5 | 104 | 
Then it is only necessary to run the following SQL procedure:
 so as to create the following table dsn2: 
| absa | mean1 | mean2 | 
|---|---|---|
| 1 | 49.5 | 0 | 
| 2 | 49.5 | 0 | 
| 3 | 49.5 | 0 | 
| 4 | 49.5 | 0 | 
| 5 | 49.5 | 0 | 
since the calls to macros %sql_operation_mean:
return respectively the expressions:
expr1=ifn(not missing(a) or not missing(b), (coalesce(a,0)+coalesce(b,0)) / ((not missing(a))+(not missing(b))), .), andexpr2=ifn(not missing(a) or not missing(calculated absa), (coalesce(a,0)+coalesce(calculated absa,0)) / ((not missing(a))+(not missing(calculated absa))), .).%sql_operation_mean is a wrapper to L. Joseph's original %MeanOf macro. Original source code (no license, no disclaimer) is available at http://www.medicine.mcgill.ca/epidemiology/joseph/pbelisle/MeanOf.html..).%sql_operation_sum, %sql_operation_any, %sql_operation_count.