How to exclude issues created after a certain date from SLA "Time to resolution" calculation for a single client

Hello Community,

EazyBI imports data from jira service desk.

We are using a graphe with following predefined measures to follow-up on SLAs for most of our clients =>

  • Time to resolution - Met
  • Time to resolution - Breached
  • Time to resolution - Met %

One of our clients has a particularity : issues taken into account should have a “created date” >= a certain date (say 2019-05-01).

We would like to have the exact same graphe (so the time to resolution SLA measures) for that client (one graphe per client, so the graphe will only have this client’s data).
We are NOT able to find the formula on how to exclude (only for this client) issues created after the 1st of May.
Is this doable with eazyBI ? Can anybody help ?

PS : It’s not possible for us to change the way data is imported as this change

I would be grateful if somebody can help out with this.

Hi,
We already discussed that in support email.
A brief summary of options.

1) One, and the easiest, way of doing this would be to only import issues that are created after March 21st in that particular account. You can do this by adding a JQL filter to the import settings, see Data from Jira.
See also point 3.

2) Mark issues which should be included in the report (created after a certain date for a specific project) and then add this mark as a filter to the report.

You may create a JavaScript calculated custom field, that, regarding of each issue project, defines if the issue is created before or after this significant date (for instance, you name the custom field “Created after?” and assigne one of the values Yes or No to the issue; the logic with dates you will include in this JavaScript code).
Then import this field into eazyBI as a dimension and use it as a Page filter (select value Yes) in all reports.
No additional calculations would be needed, only issues with value Yes (i.e. created after the significant date) will be included in reports.

Here is more about JavaScript calculated custom fields: https://docs.eazybi.com/display/EAZYBIJIRA/JavaScript+calculated+custom+fields

3) Consider importing issues in accounts by customers/projects (one account would contain issues from one project/customer only) and then set JQL filter for each account accordingly to the project dates.

However, I believe the JQL query could describe all cases even if all projects are imported in the same account: I imagine that JQL could be the following (project = A and creation date > Mar 21 2018) OR (Project = B and creation date > Jul 01 2018) etc.
Yes, if a new project appears, then the query should be modified (but it also is true for other options).

4) Create a set of calculated measures that iterate through issues, checking for the issue creation date, and then calculated all SLA metrics only for needed issues.

it would be quite slow (regarding how many issues do you have into account) and, if you have several projects, for each of them you may want to create a separate set of those measures (or define this significant date as a separate measure where you define all those cases).

The rough idea for [Measures].[Time to resolution (internal) - Met] with excluded issues created before Mar 21:

Sum(
 Filter( 
    DescendantsSet([Issue].CurrentMember, [Issue].[Issue]), 
    DateCompare(
      DateWithoutTime([Issue].CurrentMember.getDate("Created at")),
      "2019-03-21") >= 0
  ),
  [Measures].[Time to resolution (internal) - Met] 
)

In such a way, you may recreate other measures as well for each significant date.
This solution takes a lot of effort to implement, and reports might be slow. So, this is the less advised option.

Ilze, support@eazybi.com