aminghadersohi commented on PR #45612: URL: https://github.com/apache/superset/pull/45612#issuecomment-6340145461
Acceptance at 4f27f242f34b32b4bd82c1d623b1a5b3f21514a6 (local docker-compose-light, examples dataset `cleaned_sales_data`, dashboard with 29 charts and 11 native filters; admin, a Gamma viewer and an embedded guest). **Works.** Timeseries Drill by from a grained bucket returns the clicked bucket's rows. Chart time range "No filter": Day 34, Week 98, Month (Oct 2003) 158, Quarter (2003 Q4) 524, Year (2003) 1,000, each equal to a SQL count (merge-base: 2,823). Under a dashboard Time range `2003-01-01 : 2005-01-01`: Oct 2003 158 (merge-base: 2,345). Hours offset ±5h, nested Drill by (754 → 379 → 158), Drill by after a cross-filter, CSV export and the Edit chart link agree with the clicked bar. Ungrained and categorical Drill by keep the chart and dashboard ranges. Remaining (not fixed, outside this diff): under a dashboard Time grain filter set to Year, a Month chart's 2003 bar (1,000) drills to 39 rows (Jan 2003 only) and a Day chart's to 0, because `EchartsTimeseries.tsx` builds the drill bucket from `formData.timeGrainSqla` (the saved grain) at both `getTemporalXAxisDrillByFilter` calls, while Drill to detail in the same handler uses the resolved grain. Sunburst still sends `order_date == '2003'` and returns all 2,823 rows for a 1,000-row ring; it needs https://github.com/apache/superset/pull/45571. Minor and pre-existing: on a dataset with a timezone west of UTC, Month buckets are one day too long (bar 296, drill 306) because `getTimeBucketRange` adds a calendar month to a shifted label, and a forced-categorical temporal axis shows the raw epoch in the breadcrumb. **Fixed in 4f27f242.** When the chart's own range, a dashboard Time range or a time cross-filter covers only part of the bucket, d0ea5a4 queried the whole bucket: a Year bar showing 754 under a Jun–Dec 2003 range drilled to 1,000 rows (the merge-base gave 754), and a 2003 Q4 bar of 173 under `2003-11-15 : 2004-02-15` drilled to 524. The modal now resolves the chart's range through `/api/v1/time_range/` and queries the overlap: 754 and 173. Regression tests in `DrillByModal.test.tsx`, "keeps only the part inside a narrower dashboard time range" and "keeps only the part inside the chart's own time range", fail at d0ea5a4 and pass at 4f27f242. Siblings checked: - superset-frontend/src/components/Chart/DrillBy/DrillByModal.tsx:395 — fixed in 4f27f242 - superset-frontend/src/components/Chart/DrillBy/DrillByModal.tsx:428 — not affected: CSV export uses the same drilled form data; rows 43 / 379 / 332 = 754 - superset-frontend/src/components/Chart/DrillBy/DrillByModal.tsx:581 — not affected: the Edit chart link uses the same drilled form data; stored time_range `2003-06-01T00:00:00 : 2004-01-01T00:00:00` - superset-frontend/src/components/Chart/DrillBy/DrillByModal.tsx:494 — not affected: a nested drill reads the outer range from the original form data; 754 → 379 → 158 - superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/EchartsTimeseries.tsx:742 — not affected: a time cross-filter's range is read as the outer range; a Year bar after an Oct 2003 cross-filter drills to 158 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
