Calculated columns
Calculated columns are elements of a data set that can be combined to create a new column in the data set. For example, a data set might contain the columns “First Name” and “Last Name”. These two columns can be combined into a calculated column called “Full Name”.
|
Display name |
Type |
Formula text |
|---|---|---|
| aband_count | NUMBER | if([call_result]) = 'ABANDON' THEN 1 ELSE 0 |
| aband_rate | NUMBER | if([calls_handled]) > 0 THEN ([aband_count]/[calls_handled]) * 100 ELSE 0 |
| Agent Wait Duration Sec | NUMBER | LET [pieces] = regexSplitAll([Agent Wait Duration], ":") INSPECT len([pieces]) CASE 2 THEN numericValue(subscript(1, [pieces])) * 60 + numericValue(subscript(2, [pieces])) CASE 3 THEN numericValue(subscript(1, [pieces])) * 3600 + numericValue(subscript(2, [pieces])) * 60 + numericValue(subscript(3, [pieces])) ELSE NULL |
| AHT | NUMBER | if ([Accepted]) > 0 THEN [Handling Time]/[Accepted] ELSE 0 |
| Avail Time | NUMBER | numericValue(deleteAll([Available Time (min)], ",")) * 60 |
| Avg Disp Time | NUMBER | if ([Accepted]) > 0 THEN [Pending Disp Time]/[Accepted] ELSE 0 |
| Avg Hold Time | NUMBER | if ([Accepted]) > 0 THEN [Hold Time]/[Accepted] ELSE 0 |
| Avg Talk Time | NUMBER | if ([Accepted]) > 0 THEN [Talk Time] / [Accepted] ELSE 0 |
| avg_wait_time | NUMBER | if([calls_handled]) > 0 THEN [call_wait_duration]/[calls_handled] ELSE 0 |
| Away Time | NUMBER | numericValue(deleteAll([Away Time (min)], ",")) * 60 |
| Break Time | NUMBER | numericValue(deleteAll([Break Time (min)], ",")) * 60 |
| call_wait_duration | NUMBER | diffSeconds([connected_dts],[call_start_dts]) |
| calls_handled | NUMBER | if([connected_duration]) > 0 THEN 1 ELSE 0 |
| calls_offered | NUMBER | 1 |
| Campaign ID | NUMBER | if([Product Type]) <> 'Queue' THEN [Product ID] ELSE -1 |
| Campaign Name | STRING | if([Product Type]) <> 'Queue' THEN [Product Name] ELSE NULL |
| campaign_id | NUMBER | if([source_type]) = 'OUTBOUND' THEN [source_id] ELSE -1 |
| campaign_name | STRING | if([source_type]) = 'OUTBOUND' THEN [source_name] ELSE NULL |
| deflected_count | NUMBER | if([call_result]) = 'DEFLECTED' THEN 1 ELSE 0 |
| Dial Duration Sec | NUMBER | LET [pieces] = regexSplitAll([Dial Duration], ":") INSPECT len([pieces]) CASE 2 THEN numericValue(subscript(1, [pieces])) * 60 + numericValue(subscript(2, [pieces])) CASE 3 THEN numericValue(subscript(1, [pieces])) * 3600 + numericValue(subscript(2, [pieces])) * 60 + numericValue(subscript(3, [pieces])) ELSE NULL |
| dialgroup_id | NUMBER | if([source_type]) = 'OUTBOUND' THEN [source_group_id] ELSE -1 |
| Duration Sec | NUMBER | LET [pieces] = regexSplitAll([Duration], ":") INSPECT len([pieces]) CASE 2 THEN numericValue(subscript(1, [pieces])) * 60 + numericValue(subscript(2, [pieces])) CASE 3 THEN numericValue(subscript(1, [pieces])) * 3600 + numericValue(subscript(2, [pieces])) * 60 + numericValue(subscript(3, [pieces])) ELSE NULL |
| Engaged Time | NUMBER | numericValue(deleteAll([EngagedTime (min)], ",")) * 60 |
| eoc_term_count | NUMBER | if([connected_term_reason]) = 'EOC' THEN 1 ELSE 0 |
| Full Name | STRING | [firstName] & ' ' & [lastName] |
| Handling Time | NUMBER | [Pending Disp Time] + [Talk Time] |
| Hold Duration Sec | NUMBER | LET [pieces] = regexSplitAll([Hold Duration], ":") INSPECT len([pieces]) CASE 2 THEN numericValue(subscript(1, [pieces])) * 60 + numericValue(subscript(2, [pieces])) CASE 3 THEN numericValue(subscript(1, [pieces])) * 3600 + numericValue(subscript(2, [pieces])) * 60 + numericValue(subscript(3, [pieces])) ELSE NULL |
| Hold Time | NUMBER | [Time On Hold (min)] * 60 |
| Login Time | NUMBER | numericValue(deleteAll([Login Time (min)], ",")) * 60 |
| Login Util | NUMBER | IF([Login Time]) > 0 THEN ([Talk Time] /[Login Time]) * 100 ELSE 0 |
| Lunch Time | NUMBER | numericValue(deleteAll([Lunch Time (min)], ",")) * 60 |
| Off-Hook Utilization | NUMBER | if ([Off Hook Time]) > 0 THEN ([Talk Time] /[Off Hook Time]) * 100 ELSE 0 |
| Off Hook Time | NUMBER | numericValue(deleteAll([Off Hook Time (min)], ",")) * 60 |
| Off Hook To Login | NUMBER | if ([Login Time]) > 0 THEN ([Off Hook Time] / [Login Time] ) * 100 ELSE 0 |
| Pending Disp Time | NUMBER | numericValue(deleteAll([Pending Disp Time (min)], ",")) * 60 |
| Queue Duration Sec | NUMBER | LET [pieces] = regexSplitAll([Queue Duration], ":") INSPECT len([pieces]) CASE 2 THEN numericValue(subscript(1, [pieces])) * 60 + numericValue(subscript(2, [pieces])) CASE 3 THEN numericValue(subscript(1, [pieces])) * 3600 + numericValue(subscript(2, [pieces])) * 60 + numericValue(subscript(3, [pieces])) ELSE NULL |
| Queue ID | NUMBER | if([Product Type]) = 'Queue' THEN [Product ID] ELSE -1 |
| queue_group_id | NUMBER | if([source_type]) = 'ACD-INBOUND' THEN [source_group_id] ELSE -1 |
| queue_id | NUMBER | if([source_type]) = 'ACD-INBOUND' THEN [source_id] ELSE -1 |
| Ring No Ans Time | NUMBER | [RNA Time (min)] * 60 |
| Ring Time | NUMBER | numericValue(deleteAll([Ring Time (min)], ",")) * 60 |
| Rounded Off Hook Time | NUMBER | numericValue(deleteAll([Rounded OH Time (min)], ",")) * 60 |
| Talk Time | NUMBER | numericValue(deleteAll([Talk Time (min)], ",")) * 60 |
| Training Time | NUMBER | numericValue(deleteAll([Training Time (min)], ",")) * 60 |
| Transfer Calls Accepted % | NUMBER | IF ([Accepted]) > 0 THEN ([Disp Xfers]/[Accepted])*100 ELSE 0 |
| Work Time | NUMBER | numericValue(deleteAll([Work Time (min)], ",")) * 60 |
| Wrap Time Sec | NUMBER | LET [pieces] = regexSplitAll([Wrap Time], ":") INSPECT len([pieces]) CASE 2 THEN numericValue(subscript(1, [pieces])) * 60 + numericValue(subscript(2, [pieces])) CASE 3 THEN numericValue(subscript(1, [pieces])) * 3600 + numericValue(subscript(2, [pieces])) * 60 + numericValue(subscript(3, [pieces])) ELSE NULL |