Zendesk advanced settings
If you have larger number of Zendesk tickets then it is better to import calculated custom fields and not to create calculated members with complex MDX formulas. Calculated custom fields are pre-calculated just once during Zendesk import and then saved in the flex.bi database and then flex.bi queries will perform much faster using pre-calculated data.
Define calculated custom field in Zendesk import advanced settings
In eayzBI Zendesk import options select Add advanced settings and enter the information about the additional custom field (see the example below):
- Use your ownÂ
customfield_NAME
 custom field name whereÂNAME
 is some unique descriptive name of your additional calculated custom field. - Add aÂ
name
 setting and specify a display name for this calculated custom field that will be visible in Zendesk import custom fields selection. - AddÂ
javascript_code
 which will calculate the custom field value and add it to theÂticket.custom_fields
 array. This JavaScript code can use theÂticket
 object in the same way as in the custom JavaScript code.
Here is an example of a calculated custom field "Tickets overdue" which will return 1 if the ticket has a due date and either resolution date is after the due date (for solved tickets) or the due date is in the past (for unsolved tickets). Add to the advanced settings:
[customfield_overdue] name = "Tickets overdue" data_type = "integer" measure = true javascript_code = ''' if (ticket.due_at) { var resolutionOrCurrentTimestamp = ticket.metric_set.solved_at ? Date.parse(ticket.metric_set.solved_at) : (new Date).getTime(); if (Date.parse(ticket.due_at) < resolutionOrCurrentTimestamp) { ticket.custom_fields.push({id: "overdue", value: 1}); } } '''
Then import "Tickets overdue" custom field as a measure and flex.bi will create measures "Tickets overdue created", "Tickets overdue due" (total of unsolved tickets that are past their due date), "Tickets overdue resolved" (total of solved tickets that were late).
If you would like to test and debug your JavaScript code then paste you code in Custom JavaScript code and specify a ticket number on which you would like to test your JavaScript code. Click Show and check if the calculated custom field value in ticket.custom_fields
 is present as expected.