Equivalent to TagTot using multiplication, for example, to calculate a geometric mean
TagTot will provide the sum of event values for a given time range. Customers wishing to calculate the geometric mean could use an equivalent function that multiplies each value together.
Additionally, a specific geometric mean function may be useful as well. (this would include taking the result to the power of (1/n) where n is the number of events in the calculation.
Potential caveats include both floating point precision issues, as well as overflowing a double data type. The calculation may also be quite complicated if the input tag has very frequent events.
A possible workaround at this time would be to import the data into Excel using DataLink and use the built in GEOMEAN function. Other options include custom applications or ACE calculations.
1 comment

Kenneth Barber commented
Another workaround:
Suppose that your data tag is A. Create an eventtriggered expression analysis that outputs ln(A) to tag B. Then use TagMean(B, start, end) * EventCount(B, start, end) to sum the raw, uninterpolated values of B in between the "start" and "end" times. Store this in variable C. In variable D, calculate e^C to get the product of the raw, uninterpolated values of A between the start and the end times.
"ln" is called "Log" and "e^" is called "Exp" in PI System Explorer. We take advantage of these properties of logarithms:
ln(a) + ln(b) + … = ln(a * b * …)
e^ln(a * b * …) = a * b * …There is no function that sums the raw, uninterpolated values of a tag, but there is a function (TagMean) that averages the raw, uninterpolated values of a tag. Multiplying by TagMean by EventCount gets us our sum, assuming that none of your events are system digital states.