Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Terms: start supporting exclude param #1140

Merged
merged 6 commits into from
Dec 28, 2024
Merged

Terms: start supporting exclude param #1140

merged 6 commits into from
Dec 28, 2024

Conversation

trzysiek
Copy link
Member

@trzysiek trzysiek commented Dec 27, 2024

#1085

TODO (next PRs):

  • include parameter can probably be quite easily handled the same way
  • our regex translator is pretty basic, it requires tests + possibly a better implementation

Issue from the issue works fine now:
Screenshot 2024-12-27 at 01 30 32
Screenshot 2024-12-27 at 01 32 17

Comment on lines +5105 to +5138
ExpectedPancakeSQL: `
SELECT "aggr__terms1__parent_count", "aggr__terms1__key_0",
"aggr__terms1__count", "metric__terms1__metric1_col_0",
"aggr__terms1__terms2__parent_count", "aggr__terms1__terms2__key_0",
"aggr__terms1__terms2__count", "metric__terms1__terms2__metric2_col_0"
FROM (
SELECT "aggr__terms1__parent_count", "aggr__terms1__key_0",
"aggr__terms1__count", "metric__terms1__metric1_col_0",
"aggr__terms1__terms2__parent_count", "aggr__terms1__terms2__key_0",
"aggr__terms1__terms2__count", "metric__terms1__terms2__metric2_col_0",
dense_rank() OVER (ORDER BY "aggr__terms1__count" DESC,
"aggr__terms1__key_0" ASC) AS "aggr__terms1__order_1_rank",
dense_rank() OVER (PARTITION BY "aggr__terms1__key_0" ORDER BY
"aggr__terms1__terms2__count" DESC, "aggr__terms1__terms2__key_0" ASC) AS
"aggr__terms1__terms2__order_1_rank"
FROM (
SELECT sum(count(*)) OVER () AS "aggr__terms1__parent_count",
if("Carrier" NOT IN tuple('a', 'b'), "Carrier", NULL) AS "aggr__terms1__key_0",
sum(count(*)) OVER (PARTITION BY "aggr__terms1__key_0") AS
"aggr__terms1__count",
avgOrNullMerge(avgOrNullState("DistanceMiles")) OVER (PARTITION BY
"aggr__terms1__key_0") AS "metric__terms1__metric1_col_0",
sum(count(*)) OVER (PARTITION BY "aggr__terms1__key_0") AS
"aggr__terms1__terms2__parent_count",
"DestCityName" AS "aggr__terms1__terms2__key_0",
count(*) AS "aggr__terms1__terms2__count",
sumOrNull("AvgTicketPrice") AS "metric__terms1__terms2__metric2_col_0"
FROM __quesma_table_name
GROUP BY if("Carrier" NOT IN tuple('a', 'b'), "Carrier", NULL) AS
"aggr__terms1__key_0", "DestCityName" AS "aggr__terms1__terms2__key_0"))
WHERE ("aggr__terms1__order_1_rank"<=3 AND "aggr__terms1__terms2__order_1_rank"
<=2)
ORDER BY "aggr__terms1__order_1_rank" ASC,
"aggr__terms1__terms2__order_1_rank" ASC`,
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tested this long SQL with Clickhouse and it works exactly as we want 🎉

@trzysiek trzysiek marked this pull request as ready for review December 27, 2024 00:34
@trzysiek trzysiek requested a review from a team as a code owner December 27, 2024 00:34
@trzysiek trzysiek enabled auto-merge December 28, 2024 14:21
@trzysiek trzysiek added this pull request to the merge queue Dec 28, 2024
Merged via the queue into main with commit c5d1baa Dec 28, 2024
5 checks passed
@trzysiek trzysiek deleted the terms-exclude branch December 28, 2024 14:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants