GETAVG returns the Average of a specified expression. GETAVG is an Advanced Math Toolbox Function.
SYNTAX:
GETAVG(Exp, DateRange, optional TimeIncrement, optional Number of Values)
where :
Exp is any valid WIMS Expression
DateRange is an expression in one of two forms:
1. StartDate TO EndDate
StartDate is a date literal. If StartDate is NoDate, then the function does not calculate and returns the value BLANK.
EndDate is a date literal. If EndDate is NoDate, then the function does not calculate and returns the value BLANK.
2. TimeRangeLiteral
A TimeRangeLiteral Defines start and end dates for a time interval specified. For a listing of available literals, refer to the TimeRange Literal List.
TimeIncrement is an optional parameter that specifies the time frame of the calculation. Default is BYDAY (Daily). For a listing of available literals, refer to the TimeIncrement Literal List.
Number of Values is an optional parameter that specifies the maximum number of values to process in the date range (default is 0). If the value is zero, then the function uses all the real values in the date range. If the number is 5, for example, then the function will only process the first five values in the date range. If the number of values requested are not found within the date range, then the function returns BLANK.
-
If you specify the number of values, you MUST also specify the Time Increment.
-
The order of the dates in Date Range are important. The function will search from the start date to the end date. Therefore, if you want the average of the most recent 10 values specify D to D-30. This will search from the start date (D, i.e. the day being calculated) back to the end date 30 days prior. If you specify D-30 to D it would search from 30 days ago to the day being calculated and therefore find the first 10 values in the date range.
NOTES:
The Advanced Math Toolbox Functions give full flexibility to WIMS users to create new calculations that are not currently available with the existing, predefined functions. Since these functions are very general and very powerful, they do not have a lot of safety checks built into them and must be used with caution. The advanced functions will generally be slightly less efficient than the predefined functions and are not therefore intended to replace the predefined functions.
The main feature of the advanced functions is the ability to specify the date range for the calculations explicitly in the function call. This allows nonstandard time frames to be used for summation, averaging, geometric means, etc. The functions also allow calculations within the function call and thus are no longer limited to just working on a single variable. (i.e., you can now take the sum of C2 * C3)
The range of the advanced functions can be specified in two ways:
-
By explicit dates (i.e., sum all values from the beginning of the month to the end of the month.) See
Date Literals for more information on specifying dates.
-
By maximum number of values within a date range (i.e., sum the first 5 numbers from the start date to the end date) These range specifications apply to most of the custom functions.
EXAMPLES:
Example 1: Quarterly average reported on the last day of the quarter.
GETAVG(C5, QUARTERLY)
C5 : Get the average of variable 5
Quarterly : On a quarterly basis, where the result is stored on the last day of the quarter
Example 2: Monthly average of an hourly variable.
GETAVG(C2, MONTHLY, BYHOUR)
C2 : Get the average of variable 2 (assumed to be hourly for this example)
MONTHLY : On a monthly basis, the result will be stored on the last day of the month
BYHOUR : Informs the AdoCalc engine that this is an hourly variable
Example 3: Average of the last 10 values
GETAVG(C5,D to D-90,BYDAY,10)
C5 : Get the average of variable 5
D to D-90: Search from the day being calculated (D) back 90 days (D-90)
BYDAY : Informs the AdoCalc engine that this is a daily variable
10: Use the first 10 values found.