-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Open
Description
Hello,
When we use a model with pre-aggregation by a time dimension, Cube stores the created_at column in the pre-aggregated table as a timestamp. However, when we query this pre-aggregated table, Cube generates a native SQL query that casts the placeholder to DATETIME, which causes the database to throw an error.
No matching signature for operator >= for argument types: TIMESTAMP, DATETIME Signature: T1 >= T1 Unable to find common supertype for templated argument <T1> Input types for <T1>: {TIMESTAMP, DATETIME} at [1:143]
{
"timeDimensions": [
{
"dimension": "users.created_at",
"granularity": "day",
"dateRange": "this week"
}
]
}
SELECT
`users__created_at_day` `users__created_at_day`
FROM
bi_dev_cube.users_main AS `users__main`
WHERE
(
`users__created_at_day` >= DATETIME(TIMESTAMP(?))
AND `users__created_at_day` <= DATETIME(TIMESTAMP(?))
)
GROUP BY
1
ORDER BY
1 ASC
LIMIT
1000
cubes:
- name: users
sql: (select 1 as id, current_timestamp as created_at, current_timestamp as
last_activity_at, 'BY' as country)
dimensions:
- name: id
sql: id
type: number
primary_key: true
- name: created_at
sql: created_at
type: time
- name: last_activity_at
sql: last_activity_at
type: time
- name: country
sql: country
type: string
measures:
- name: active_users
type: count_distinct
sql: id
pre_aggregations:
- name: main
external: false
measures:
- users.active_users
dimensions:
- users.country
refreshKey:
every: 1 hour
time_dimension: created_at
granularity: day
partition_granularity: month
Cube: 1.3.66
Database: BigQuery
Metadata
Metadata
Assignees
Labels
No labels