Forum Discussion
Compra recencia con DirectQuery
Para usarlo como una categoría en el visual, debe ser una columna calculada.
Dado que es una columna calculada, puede confiar en el contexto de la fila en lugar de tener que tomar un MAX.
recency =
VAR daysDiff = DATEDIFF ( bc_order[order_created_date_time], TODAY (), DAY )
VAR res =
SWITCH (
TRUE (),
daysDiff <= 30, "R5",
daysDiff <= 60, "R4",
daysDiff <= 120, "R3",
daysDiff <= 180, "R2",
daysDiff <= 360, "R1",
"R0"
)
RETURN
res
- Syndicate_Admin4 years agoAdministrator
Hay @AlexisOlson,
muchas gracias por su respuesta. Desafortunadamente, dice
OLE DB or ODBC error: [Expression.Error] We couldn't fold the expression to the data source. Please try a simpler expression.¿Debería más bien dividir esta expresión o hay una manera más simple? Lo siento si estas preguntas son tontas, todavía estoy muy al comienzo de aprender Power BI.
- Syndicate_Admin4 years agoAdministrator
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" )- Syndicate_Admin4 years agoAdministrator
¡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?