Implement metric max limit for analytics dashboard 6 month table
What does this MR do and why?
This change adds support for displaying an information icon next to metric values when they exceed a maximum limit. When a metric value is too large to calculate precisely (like when there are too many issues to count in real-time), the system now shows a masked value (like "10000+") along with a blue information icon. Users can hover over this icon to see a tooltip explaining that the displayed value is an approximation because the actual count is too large to calculate efficiently.
This change restores functionality that was lost during the migration to the ai_impact_table visualization. The Issues closed metric is now correctly limited to 10000 and includes a tooltip when the maximum value is hit, matching the functionality of the original dora_chart table.
References
Screenshots or screen recordings
| Before | After |
|---|---|
![]() |
![]() |
How to set up and validate locally
- Visit the value streams dashboard for any group/project
- Max limit can be mocked with this diff:
diff --git a/ee/app/assets/javascripts/analytics/dashboards/ai_impact/utils.js b/ee/app/assets/javascripts/analytics/dashboards/ai_impact/utils.js
index 9b527c1beca3..cbaa2552fd58 100644
--- a/ee/app/assets/javascripts/analytics/dashboards/ai_impact/utils.js
+++ b/ee/app/assets/javascripts/analytics/dashboards/ai_impact/utils.js
@@ -153,6 +153,7 @@ export const calculateChange = (current, previous) => {
const buildTableRow = ({ identifier, units, timePeriods, valueLimit }) => {
const row = timePeriods.reduce((acc, timePeriod) => {
const metric = timePeriod[identifier];
+ if (identifier === 'issues_completed') metric.value = '999999';
const hasValue = metric && metric.value !== '-';
const valueLimitMessage =
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Related to #578382 (closed)

