{% macro tasks(heading, name, name_plural) -%}

{{ heading }}

{% include 'fragments/metrics/filters.html' %} {% if filter_params %} Applied filters: {% for key, value in filter_params.items() %} {% if value %} {{ key }}: {{ value }}{% if not loop.last %}; {% endif %} {% endif %} {% endfor %}
{% endif %}

Aggregated Data Visualization

Aggregated Metrics

{% for attr in ['points_completed', 'points_added', 'num_closed', 'num_created', 'mean_days_to_resolution', 'days_to_resolution_per_point', 'points_per_task', 'tasks_per_point', ] %}
{{ aggregated_stats.stats[attr].name }}

{{ "%.2f" | format(aggregated_stats.stats[attr].count) }}

{% endfor %}
{% for segment in aggregated_stats.segments %}

Aggregated Metrics by Segment: {{ segment.name }}

{# TODO: Too much noise to present in cards. Archive or throw away code
{% for metric in segment.metrics %}
{{ metric.period_name }}

Points added: {{ metric.points_added }}
Points completed: {{ metric.points_completed }}
Tasks created: {{ metric.num_created }}
Tasks completed: {{ metric.num_closed }}

{% endfor %}
#}
{% endfor %}

Time Series Data Visualization (per {{ filter_params.interval }})

Statistical Analysis (per {{ filter_params.interval }})

{% for attr in ['points_completed', 'points_added', 'num_closed', 'num_created', 'mean_days_to_resolution', 'days_to_resolution_per_point', 'points_per_task', 'tasks_per_point', ] %}
{{ stats[attr].name }}

Max: {{ "%.2f" | format(stats[attr].max) }}
Min: {{ "%.2f" | format(stats[attr].min) }}
Mean: {{ "%.2f" | format(stats[attr].mean) }}
Median: {{ "%.2f" | format(stats[attr].median) }}

{% endfor %}

{{ name }} Details (per {{ filter_params.interval }})

{% for task_metric in metrics %}

{{ task_metric.num_closed }} {{ name_plural }} Closed ({{ task_metric.points_completed }} pts)

    {% for task in task_metric.tasks_closed %}
  • {{ task.html|safe }}
  • {% endfor %}

{{ task_metric.num_created }} {{ name_plural }} Created ({{ task_metric.points_added }} pts)

    {% for task in task_metric.tasks_created %}
  • {{ task.html|safe }}
  • {% endfor %}
{% endfor %}
{%- endmacro %}