Aggregate functions perform field calculations within a set of customer records. For example, consider Figure 2. If you wish to select customers whose total purchases is greater than $100, you will need to calculate the sum of the Amount values for each customer and examine the total. An aggregate function, such as Sum or Average, combines multiple values like these into one value.
Customer Number |
Order Number |
Product Number |
Purchase Date |
Amount |
123 |
960306-87 |
JF036 |
03/06/04 |
$20.95 |
123 |
960306-87 |
JH033 |
03/06/04 |
$18.43 |
123 |
961123-14 |
LS038 |
11/23/04 |
$36.17 |
123 |
970503-32 |
LY100 |
05/03/05 |
$13.29 |
234 |
961013-75 |
CC010 |
10/13/04 |
$39.63 |
234 |
970208-23 |
CD040 |
02/08/05 |
$45.16 |
Table 2: Data for Aggregate Functions Examples
In TouchPoint, the available aggregate functions are:
Occurrences Counts the number of records for the customer. For customer 123, Count Occurrences is EQUAL to 4.
Count Counts the number of unique values for the given field. Customer 123 has four records, but Count Values of Order Number = 3, because order 960306-87 appears twice.
Sum Calculates a sum of the selected field for each customer. The Sum of Amount = $88.84 for customer 123. This function is only available for numeric fields from your tables.
Average Calculates the arithmetic average of the specified field for each customer. For customer 234, the Average of Amount = $42.40. This function is only available for numeric fields from your tables.
List Returns the list of unique values for each row that matches the criteria of a specified field. For customer 234, the List of Product Number = CC010;CD040.
Minimum Returns the minimum value for the specified field per customer. For customer 123, the Minimum of Purchase Date = 03/06/04.
Maximum Returns the maximum value for the specified field per customer. For customer 123, Maximum of Purchase Date = 05/03/05.
First Row
This function only looks at criteria in the first row and will ignore all other rows in the table. The First Row of Order Number = 960306-87.
Any/All Rows Using the customer data in Figure 2, suppose you wanted to select customers who have only placed orders of $20 or more. In examining the purchase records for customer 123, you can see that, although two of the customer's purchases satisfy this condition, product numbers JH033 and LY100 do not. To prevent TouchPoint from including this customer, you would select the All Rows function.
-
- The Any Row function allows you to select customers where at least one of the customer's records matches the condition you are entering.
- The All Rows function allows you to select customers where every customer record matches the condition you are entering.
To Create a New Aggregate
-
- After selecting a table, the Table Type prompt will appear to select what type of table you are choosing. You will have four options:
- One Row - This will list the table as a customer table and you will not be able to create aggregates with this option selected.
- More Than One Row - This will list the table as a transactional table and you will have the option of creating aggregates.
- I'm not sure, figure it out for me - based upon the selected table, the system will automatically choose what table type it believes to be the best option and it will set the table type for you.
- Cancel - It will exit out of the Table Type prompt and there will be no changes.
- Drag the New Aggregate item and drop it into the Criteria tree, where the Aggregate Function window will open.
- In the Aggregate section, you will select what Function and Object to be used.
- In the Group section, you will have three options to choose from:
- All Orders - The aggregate is put into an unfiltered, default group.
- New - Allows you to customize the Group name and add a Group filter.
- Select - Allows you to choose a group that already exists to place the aggregate in from the drop-down list.
- If you select New, click the Add Filter button ( ).
- In the New Group Filter section, drag and drop the field(s) into the criteria panel.
- Choose the appropriate condition(s) and value(s).
- Enter in your name for the filter and press OK to go back to the Aggregate Function window.
- In the Name section, you can either enter a name for the new aggregate or use the default name given.
- Click OK to save changes.
- After selecting a table, the Table Type prompt will appear to select what type of table you are choosing. You will have four options:
DATE FUNCTIONS
In addition to aggregate functions, TouchPoint offers built-in date functions for calculating intervals between the current system date (i.e. time and date according to the host) and a date field in your database. For example, you run a daily campaign to select all customers who have magazine subscriptions expiring in ninety days. You can use the DaysUntil date function to set up the following statement:
DaysUntil of Expiration_Dt is Equal to 90
During selection, the DaysUntil function looks at the Expiration_Dt and compares it to the current system date on your computer to see if the number of days between the expiration dates equals 90. You can run this same campaign each day without changing the criteria because the DaysUntil function always uses the current system date as the basis for comparison, saving you campaign creation time.
In TouchPoint, the list of available date functions are:
DaysUntil Calculates the number of days until the designated date field based on the system date on your computer.
DaysPast Calculates the number of days past the designated date field based on the system date on your computer.
WeekDaysUntil
Calculates the number of business weeks until the designated date field based on the system date on your computer. The WeekDaysUntil function considers the complete week as one business week (i.e. Monday through Friday). The week begins 12 am Monday, ends at midnight Friday and ignores Saturday and Sunday. The results from using WeekDaysUntil will pull from the entire business week that the query lands on. WeekDaysUntil = 0 will pull everything from the current business week.
WeekdaysPast
Calculates the number of business weeks past the designated date field based on the system date on your computer. The WeekDaysPast function considers the complete week as one business week (i.e. Monday through Friday). The week begins 12 am Monday, ends at midnight Friday and ignores Saturday and Sunday. The results from using WeekDaysPast will pull from the entire business week that the query lands on. WeekDaysPast = 0 will pull everything from the current business week.
WeeksUntil Calculates the number of weeks until the designated date field based on the system date on your computer. The WeeksUntil function considers the complete week as one calendar week (i.e. Sunday through Saturday). The cutoff date for the week is midnight between Saturday and Sunday. The results from using WeeksUntil will pull from the entire week that the query lands on. WeeksUntil = 0 will pull everything from the current week.
WeeksPast Calculates the number of weeks past the designated date field based on the system date on your computer. The WeeksPast function considers the complete week as one calendar week (i.e. Sunday through Saturday). The cutoff date for the week is midnight between Saturday and Sunday. The results from using WeeksPast will pull from the entire week that the query lands on. WeeksPast = 0 will pull everything from the current week.
MonthsUntil Calculates the number of months until the designated date field based on the system date on your computer. The MonthsUntil function considers the complete month as one month (i.e. January 1 through February 1). The month begins 12 am of the first day of the month and ends at midnight on the first day of the next month. The results from using MonthsUntil will pull from the entire month that the query lands on. MonthsUntil = 0 will pull everything from the current business month.
MonthsPast Calculates the number of months past the designated date field based on the system date on your computer. The MonthsPast function considers the complete month as one month (i.e. January 1 through February 1). The month begins 12 am of the first day of the month and ends at midnight on the first day of the next month. The results from using MonthsUntil will pull from the entire month that the query lands on. MonthsPast = 0 will pull everything from the current business month.
YearsUntil Calculates the number of years until the designated date field based on the system date on your computer. The YearsUntil function considers the complete year as one year (i.e. 2015 through 2016). The year begins 12 am of the first day of the year and ends at midnight on the first day of the next year. The results from using YearsUntil will pull from the entire year that the query lands on. YearsUntil = 0 will pull everything from the current year.
YearsPast Calculates the number of years past the designated date field based on the system date on your computer. The YearsPast function considers the complete year as one year (i.e. 2015 through 2016). The year begins 12 am of the first day of the year and ends at midnight on the first day of the next year. The results from using YearsPast will pull from the entire year that the query lands on. YearsPast = 0 will pull everything from the current year.
Aggregate Library