Forum Discussion
Compra recencia con DirectQuery
No es una pregunta tonta, diferentes fuentes de datos tienen diferentes limitaciones de DirectQuery. Lo probé con un DirectQuery a un servidor Sql Server y funcionó, pero BigQuery es aparentemente diferente.
Pruebe cada uno de estos para ver cuál es el factor de ruptura:
TodayFunction = TODAY ()
DateDifference = DATEDIFF ( DATE ( 2021, 1, 1 ), DATE ( 2021, 10, 29 ), DAY )
SwitchFunction =
SWITCH (
TRUE (),
bc_order[order_created_date_time] < DATE ( 2020, 1, 1 ), "Prev Years",
bc_order[order_created_date_time] < DATE ( 2021, 1, 1 ), "2020",
"2021"
)
¡Es bueno saberlo!
Los probé todos y agregué SwitchFunction como una nueva columna. Resulta que esto causa un error tis
OLE DB or ODBC error: [DataSource.Error] ODBC: ERROR [42000] [Microsoft][BigQuery](70) Invalid query: No matching signature for operator < for argument types: DATETIME, TIMESTAMP. Supported signature: ANY < ANY at [9:55].Si entiendo este error correctamente, esto indica que el tipo de datos de bc_order[order_created_date_time] en BigQuery debe tener el tipo TIMESTAMP. ¿Puedo evitar este error sin modificar los datos en BigQuery porque no tengo permisos de escritura?
- Syndicate_Admin4 years agoAdministrator
No estoy muy seguro, pero parece que el problema podría ser comparar la fecha con la fecha y la hora.
¿Obtiene el mismo error si usa TODAY() o DATEVALUE ( "1/1/2020" ) en lugar de DATE ( 2020, 1, 1 ) en el SWITCH?
- Syndicate_Admin4 years agoAdministrator
Sí, desafortunadamente.