diff --git a/frontend/src/metabase/visualizations/lib/timeseries.js b/frontend/src/metabase/visualizations/lib/timeseries.js index b5a1ba84ccc26c76a17bdaa8ae9bbb39f5c9714f..91c2794357caff7b24ea6edeab1dd732acb773e4 100644 --- a/frontend/src/metabase/visualizations/lib/timeseries.js +++ b/frontend/src/metabase/visualizations/lib/timeseries.js @@ -196,6 +196,10 @@ function computeTimeseriesDataInvervalIndex(xValues, unit) { if (unit && INTERVAL_INDEX_BY_UNIT[unit] != undefined) { return INTERVAL_INDEX_BY_UNIT[unit]; } + // Always use 'day' when there's just one value. + if (xValues.length === 1) { + return TIMESERIES_INTERVALS.findIndex(ti => ti.interval === "day"); + } // Keep track of the value seen for each level of granularity, // if any don't match then we know the data is *at least* that granular. const values = []; diff --git a/frontend/test/metabase/visualizations/lib/timeseries.unit.spec.js b/frontend/test/metabase/visualizations/lib/timeseries.unit.spec.js index 823885bd6e350d48b6cb355d2e71eae9514be218..21fa26822f93aace6625d577c71fb991ac5925b7 100644 --- a/frontend/test/metabase/visualizations/lib/timeseries.unit.spec.js +++ b/frontend/test/metabase/visualizations/lib/timeseries.unit.spec.js @@ -132,6 +132,7 @@ describe("visualization.lib.timeseries", () => { 10, [["2015-01-01T00:00:00.000Z"], ["2025-01-01T00:00:00.000Z"]], ], + ["day", 1, [["2019-01-01T00:00:00.000Z"]]], ]; TEST_CASES.map(([expectedInterval, expectedCount, data]) => {