We like Dataform. It's built into BigQuery, and you don't have to bother setting up infrastructure, services, or pipelines to run it. You don't even have to link it to a remote git repository (although it's highly recommended!). The built-in editor has git pre-baked and is super user-friendly for people who just want to run SQL in a dag-like fashion.
It's got one problem, though. We tried to make a pivot() macro using JS, but found the best way to do it was by using an operation within an sqlx file.
Create a .sqlx file, just as you would usually, but instead of configuring it as a table or a view, configure it as an operation. It's basically like a stored procedure, but you get all the goodies of version control, dependency graphs, scheduled execution, and the Dataform API.
SQL
You can then reference this file in your dependant .sqlx files, just as you would reference a table using the ${ref()} Javascript function.

If you're still struggling with it, let us know - I'd love to help!