Re:SQL pipe syntax available in public preview in BigQuery
by snthpy on Thursday February 13, 2025 @11:23AM
(#43037622)
Here's a more complex example for sessionizing user events:
You can also try that in the playground: https://prql-lang.org/playground/
[ Parent
| on HN ]
Re:SQL pipe syntax available in public preview in BigQuery
by jshute00 on Friday February 14, 2025 @12:43AM
(#43045246)
SQL with pipe syntax can also do functions like that. An sequence of pipe operators can be saved as a table-valued function, and then reused by invoking in other queries with CALL.
Example:
CREATE TEMP TABLE FUNCTION ExtendDates(input ANY TABLE, num_days INT64)
AS
FROM input
|> EXTEND date AS original_date
|> EXTEND max(date) OVER () AS max_date
|> JOIN UNNEST(generate_array(0, num_days - 1)) diff_days
|> SET date = date_add(date, INTERVAL diff_days DAY)
|> WHERE date <= max_date
|> SELECT * EXCEPT (max_date, diff_days);
FROM Orders
|> RENAME o_orderdate AS date, o_custkey AS user_id
|> CALL ExtendDates(7)
|> LIMIT 10;
from the script here: https://github.com/google/zetasql/blob/master/zetasql/exampl...