Overview

Woopra formulas allow you to do row-based calculations in Trend and Profile reports. You can also use formulas to create Custom Action Schema Properties and Custom Visitor Schema Properties.

Trend Reports

In trend reports, you can use formulas to perform any row-based calculations in the Measure By section. If you are looking to transform any dimensions in the Compare By section, you will need to edit these using the Custom Action Schema Properties

🚧

Trend Reports

Trend reports are limited to number type operations only.

You can add a formula by clicking to add a column under the Measure By section. Here you'll select to add a formula.

1380

Once you select to add a formula, you can choose which operation you'd like to perform. In the example below, we simply choose to add the People column + 10.

1265

You can perform any row based operations and even combine multiple operations when using Formulas.

Profile Reports

In Profile Reports, you can use formulas to perform row-based operations using numbers, booleans or strings.

To add a formula, you can click to add a column and select Formulas.

1786

Once you add a formula, you can select which operation you'd like to use. For example, if I wanted to concatenate two columns together, I could use the CAT operations like so:

1219

Operations

These are the various operations you can use when using formulas. Trend Reports are limited to Number type operations only.

OPERATIONDEFINITIONTYPEPARAMETERS
MAX Returns the largest number in a list of numbersNumber<number> number
SUMReturns the sum of the numbersNumber<operand> number
AVGReturns the average of the numbersNumber<input> number
SQRTReturns the square root of <number>Number<number> number
MULTIPLYReturns the multiplication of the numbersNumber<operand> number
SUBTRACTReturns the subtraction result {0} - {1}Number<operand> number
CEILRounds <number> upNumber<number> number
POWReturns the value of <number> ^ <exponent>Number<number> number
<exponent> number
DIVIDEReturns the division result of <divisor> / <dividend>Number<dividend> number
<divisor> number
MINReturns the smallest number in a list of numbersNumber<number> number
ABSReturns the absolute value of <number>Number<number> number
FLOORRounds <number> downNumber<number> number
REGEX_GROUPFinds the subsequence at <index> of the input sequence <pattern> that matches <input>String<pattern> string
<input> string
<index> number
TO_LOWER_CASEConverts <text> to lowercaseString<text> string
TO_UPPER_CASEConverts <text> to uppercaseString<text> string
SUBSTRINGReturns a string that is a substring of <text>. The substring begins with the character at <beginIndex> and extends to the end of the stringString<text> string
<beginIndex> number
<endIndex> number
URL_TO_HOSTExtracts the host part of <url>String<url> string
IF_THEN_ELSEReturns <true result> if <condition> is True, else returns <false result>String<condition> boolean
<true result> string
<false result> string
CATConcatenates a list of stringsString<part> object
CONTAINSReturns True if <input> contains <matcher>
Will include partial match
Boolean<input> string
<matcher> string
EMPTYReturns True if <input text> is emptyBoolean<input text> string
MATCHReturns True if <input> matches <matcher>
Includes exact match (case insensitive)
Boolean<input> string
<matcher> string
EXACTMATCHReturns True if <input> matches <matcher> (case sensitive)
Includes exact match (case sensitive)
Boolean<input> string
<matcher> string
STARTSReturns True if <input> starts with <matcher>Boolean<input> string
<matcher> string
ENDSReturns True if <input> ends with <matcher>Boolean<input> string
<matcher> string
REGEX_MATCHReturns True if <input> matches against <pattern>Boolean<input> string
<pattern> string
ORReturns TRUE if at least one of its arguments is TrueBoolean<condition> boolean
ANDReturns TRUE if all of its arguments are TrueBoolean<condition> boolean
NOTReverses the logic state of <input>Boolean<input> boolean
LTEReturns True if <Number A> is less than or equal to <Number B>Boolean<Number A> number
<Number B> number
NEQReturns True if <Number A> is not equal to <Number B>Boolean<Number A> number
<Number B> number
EQReturns TRUE <Number A> is equal than to <Number B>Boolean<Number A> number
<Number B> number
LTReturns TRUE <Number A> is less than to <Number B>Boolean<Number A> number
<Number B> number
GTReturns True if <Number A> is greater than <Number B>Boolean<Number A> number
<Number B> number
GTEReturns True if <Number A> is greater or equal to <Number B>Boolean<Number A> number
<Number B> number