`PsiTruncate ([min], [max], [type])`

PsiTruncate is used to restrict the values of samples from an uncertain variable’s distribution or a PSI Statistic function to lie within the range from min to max.  Supported PsiStatistics functions are:  PsiKurtosis, PsiMax, PsiMean, PsiMedian, PsiMin, PsiMode, PsiPercentile, PsiPercentileD, PsiRange, PsiSkewness, PsiStdDev, PsiTarget, PsiTargetD and PsiVariance.

This property accepts "empty" arguments for both the min and max parameters.  If not provided, the default of -1E+30 will be used for min and the default of 1E+30 will be used for max.

A third optional argument, type, was added in V2019.  If a 1 is passed (default), the bounds will be interpreted as numbers.  If a 2 is passed, the bounds will be interpreted as standard deviations.  If a 3 is passed, the bounds will be interpreted as percentiles, which must be between 0 and 1.

Example:

You can create lower and upper bounds of 96 and 104, respectively, for the PsiNormal distribution given the parameters mean = 100 and standard deviation = 2 in one of three ways:

When type = 1 (values), use:  =PsiNormal(100,2, PsiTruncate(95, 105, 1))

When type =2 (std. dev.), use =PsiNormal(100,2, PsiTruncate(-2, 2, 2))

When type = 3 (percentiles), use =PsiNormal(100,2,PsiTruncate(0.03, 0.97, 3))

The same can be done to a supported Psi Statistic function.

If A1 = PsiNormal(0,1)

When type = 1 (values), use:  =PsiMean(A1,,,, PsiTruncate(95, 105, 1))

When type =2 (std. dev.), use =PsiMean(A1,,,,PsiTruncate(-2, 2, 2))

When type = 3 (percentiles), use =PsiMean(A1,,,,PsiTruncate(0.03, 0.97, 3))