GitHub user bb33chen added a comment to the discussion: Why doesn't Doris support quarter aggregation?
> Hi @bb33chen! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the > superset team. > > 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). > > _To reply, just mention [@dosu](https://go.dosu.dev/dosubot)._ > > 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) > [](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=github) [](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) Could you help point out the specific code location for the modification? GitHub link: https://github.com/apache/superset/discussions/35304#discussioncomment-14519895 ---- 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]
