GitHub user dosubot[bot] added a comment to the discussion: Why doesn't Doris support quarter aggregation?
<!-- Greeting --> Hi @bb33chen! I'm [Dosu](https://go.dosu.dev/dosubot) and Iām helping the superset team. <!-- Answer --> Doris (and MySQL) don't support 'QUARTER' as a valid interval unit in SQL, which is why quarter aggregation fails with a syntax error in Superset. Superset's Doris engine spec inherits MySQL's unsupported quarter syntax, so there's no working quarter time grain by default. To work around this, you can remove the time grain setting in Superset and use a custom SQL expression in your chart's x-axis to manually extract the year and quarter. For example, you could use something like `CONCAT(YEAR(Shipping_Date), '-Q', QUARTER(Shipping_Date))` if Doris supports the `QUARTER()` function for extracting the quarter number, or build a calculated column in your dataset that represents year and quarter as a string (like `'2024-Q1'`) and group by that column instead. This approach is commonly used for databases that lack native quarter support in their time grain functions [example workaround](https://github.com/apache/superset/issues/26383#issuecomment-1883395006). If you want a more permanent fix, you could customize the Doris engine spec in Superset to add a working quarter time grain expression, similar to how other databases (like Impala) use `DATE_TRUNC('quarter', {col})` [see reference](https://github.com/apache/superset/issues/33033), but this would require code changes. Make sure your datetime column is of a recognized datetime type in Doris, as Superset's time grain controls only work with temporal columns [details](https://github.com/apache/superset/discussions/33692). <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/27479836-6728-48f6-a3ac-f73ef204725c?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/27479836-6728-48f6-a3ac-f73ef204725c?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/27479836-6728-48f6-a3ac-f73ef204725c?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/27479836-6728-48f6-a3ac-f73ef204725c?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/27479836-6728-48f6-a3ac-f73ef204725c?feedback_type=hallucination) | [Report š](https://app.dosu.dev/response-feedback/27479836-6728-48f6-a3ac-f73ef204725c?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/27479836-6728-48f6-a3ac-f73ef204725c?feedback_type=other)</sup> [](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=github)& nbsp;[](https://go.dosu.dev/discord-bot) [](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/discussions/35304) GitHub link: https://github.com/apache/superset/discussions/35304#discussioncomment-14519748 ---- This is an automatically sent email for [email protected]. To unsubscribe, please send an email to: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
