Power Query con una fecha.AddDays

Un usuario Pregunto ✅

rjs2

Estoy tratando de escribir una consulta cuando solo obtendrá fechas 60 días más antiguas que hoy, por lo que no tengo que cambiar la consulta cuando la actualizo.

Esto es lo que tengo me sale el siguiente error

DONDE «»Tabla»».»»Fecha»» <= Fecha.AddDays(Date.From(DateTime.LocalNow() as datetime),-60)

Esto es lo que tenía originalmente y no obtuve errores.

DONDE «»Tabla»».»»Fecha»» <= TO_DATE (’14-12-2019 00:00:00′, ‘DD-MM-AAAA HH24:MI:SS’)

Error:

DataSource.Error: Oracle: ORA-00936: expresión faltante
Detalles:
DataSourceKind=Oracle
DataSourcePath=reni2.reninc.com
Mensaje=ORA-00936: expresión faltante
Código de error=-2146232008

az38

Hola @rjs2

es un estilo de Power QUEry y solo se puede usar en Power Query (editor avanzado)

 Date.AddDays(Date.From(DateTime.LocalNow() as datetime),-60)

Es un estilo SQL (PL/SQL en su caso) y podría usarse solo en el paso de carga de datos como parte de la declaración de consulta PL/SQL para extraer datos de la fuente de datos

TO_DATE ('14-12-2019 00:00:00', 'DD-MM-YYYY HH24:MI:SS')

Es bastante claro para mí, si está tratando de usar la declaración de PowerQuery en la consulta PL/SQL, no funcionará

rjs2

En respuesta a az38

oye, en el ejemplo de PL/SQL, no parece que haya un cálculo para la fecha, que está codificado de forma rígida. ¿Estás diciendo que en una carga de datos (en lugar de una consulta directa) no puedo usar un cálculo de fecha y básicamente estoy golpeando mi cabeza contra una pared de ladrillos por nada

rjs2

En respuesta a az38

Ahora entiendo lo que dices @ az38

¿Cuál sería la forma correcta de extraer solo las fechas que tienen 60 días?

az38

En respuesta a rjs2

@rjs2

la mejor opción (desde mi punto de vista) es filtrarlo en SQL-query

la segunda opción es usar el filtro «In Previous» 60 días en Power Query

Безымянный.png

y la tercera opción es usar el filtro avanzado en el panel de filtros visuales en el modo Informe

rjs2

En respuesta a az38

No veo una manera de filtrar nada de 60 días o más. no hay un filtro para no en los 60 días anteriores.

Tiene que estar lejos para extraer y cargar solo datos que tengan 60 días de antigüedad en función de un campo de fecha.

rjs2

En respuesta a az38

Preferiría que mi consulta solo extraiga los datos necesarios, en lugar de extraer todo y luego filtrar. Estoy tratando de ser sensible a nuestro entorno y hacer que sea una carga menor para la base de datos.

rjs2

En respuesta a az38

Estoy haciendo ambas cosas en el Editor avanzado. El que tiene TO_DATE funciona en el Editor avanzado, pero Date.AddDays arroja el error.

¿Por qué obtendría un error con esto? ¿Cuál es la sintaxis correcta? El error que recibo sugiere que tengo una coma adicional o que falta un paréntesis, pero no es así.

Date.AddDays(Date.From(DateTime.LocalNow() as datetime),-60)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *