malloy icon indicating copy to clipboard operation
malloy copied to clipboard

Query w/ `select` and `calculate: ... { partition_by: ... }` fails in BigQuery

Open carlineng opened this issue 1 year ago • 0 comments

What happens?

In BigQuery, we are getting a PROJECT cannot be used on queries with turtles when attempgint to run the following query:

run: events -> {
    where: trim(event_name) = "purchase"
    select: event_date
    select: event_name
    calculate: prev_occur is lag(event_date) {
        partition_by: event_name
        order_by: event_date asc
    }
    order_by: event_name asc, event_date asc
}

image

This same pattern DOES work on DuckDB though... running this query in the ECommerce DuckDB sample data produces correct results:

run: order_items -> {
    select: 
      user_id
      created_at

    calculate: prev_occur is lag(created_at) {
        partition_by: user_id
        order_by: created_at asc
    }
    order_by: user_id asc, created_at asc
}

To Reproduce

Using the BigQuery GA4 sample dataset, run the following query:

run: events -> {
    where: trim(event_name) = "purchase"
    select: event_date
    select: event_name
    calculate: prev_occur is lag(event_date) {
        partition_by: event_name
        order_by: event_date asc
    }
    order_by: event_name asc, event_date asc
}

OS:

macOS

Malloy Client:

VS Code

Malloy Client Version:

v0.3.1706811226

Database Connection:

BigQuery

carlineng avatar Feb 02 '24 19:02 carlineng