This calculated field returns the number of sub-tasks, which are open (in status category To Do or In Progress).
Configuration
Create a new Calculated Number Field (by JWT) custom field and name it properly.
Providing a description will help you to identify what the custom field does but this step is optional
Parser expression
Add the following expression:
count(filterByPredicate(subtasks(), ^%{issue.statusCategory} = "To Do" OR ^%{issue.statusCategory} = "In Progress"))
The ^ is used for referencing the seed field values of the issue list - in this case, subtasks(). Without, the ^ the function would refer to the current issue.
To achieve this, the following functions are used: