jcampbell474
He buscado por todas partes una forma de hacer esto. Encontré un par de métodos que parecían demasiado complejos para lo que espero sea algo simple.
Necesito aplicar un filtro de fecha dinámico para importar consultas SQL. Solo necesita ingresar en un período continuo de 12 meses y no quiero aplicarlo a vistas y procedimientos almacenados. ¿Existe una forma sencilla de hacerlo en PBI? Creé una tabla de lista, hice un parámetro, luego filtré la tabla a> = el parámetro. No funciona. Parece que se debe a que el valor actual es nulo.
¡Cualquier ayuda será apreciada!
edhans
sí
Primero, cree una nueva consulta en blanco en Power Query. Usa esto como fórmula. Esto supone que SQL está utilizando un campo de fecha.
= Date.AddYears(DateTime.Date(DateTime.LocalNow()), -1)
Esto creará un valor escalar de 10/12/2019, hace un año. (Formato de fecha de EE. UU.: Su formato puede mostrar 19/10/2019 dependiendo de la configuración del sistema).
- Cambiar el nombre de la consulta varStartDate
- Haga clic derecho en la consulta y desmarque «Habilitar carga»
Luego, en su tabla SQL, filtre la fecha a lo que desee. No importa. Solo desea que se genere el código. Podría verse así
ahora tiene un Table.SelectRows () que se ve así en la barra de fórmulas:
Cámbielo para que se vea así:
Está eliminando la fecha que utilizó para crear el filtro con varStartDate, que es una fecha calculada dinámicamente. Cambiará todos los días.
Si esto se ejecuta en un servidor SQL, esto tiene el beneficio adicional de plegar la consulta, por lo que el servidor obtiene este código:
Cada vez que se ejecuta, calculará dinámicamente varStartDate, luego cambiará la consulta nativa para que SQL Server use esa fecha. Mañana, lo cambiaría a ‘2019-10-13 00:00:00’ y así sucesivamente.
edhans
sí
Primero, cree una nueva consulta en blanco en Power Query. Usa esto como fórmula. Esto supone que SQL está utilizando un campo de fecha.
= Date.AddYears(DateTime.Date(DateTime.LocalNow()), -1)
Esto creará un valor escalar de 10/12/2019, hace un año. (Formato de fecha de EE. UU.: Su formato puede mostrar 19/10/2019 dependiendo de la configuración del sistema).
- Cambiar el nombre de la consulta varStartDate
- Haga clic con el botón derecho en la consulta y desmarque «Habilitar carga»
Luego, en su tabla SQL, filtre la fecha a lo que desee. No importa. Solo desea que se genere el código. Podría verse así
ahora tiene un Table.SelectRows () que se ve así en la barra de fórmulas:
Cámbielo para que se vea así:
Está eliminando la fecha que utilizó para crear el filtro con varStartDate, que es una fecha calculada dinámicamente. Cambiará todos los días.
Si esto se ejecuta en un servidor SQL, esto tiene el beneficio adicional de plegar la consulta, por lo que el servidor obtiene este código:
Cada vez que se ejecuta, calculará dinámicamente varStartDate, luego cambiará la consulta nativa para que SQL Server use esa fecha. Mañana, lo cambiaría a ‘2019-10-13 00:00:00’ y así sucesivamente.
jcampbell474
En respuesta a edhans
¡Perfecto! ¡¡Trabajado como un encanto!! ¡¡¡Gracias!!!
Con suerte, algún día será más fácil implementar los parámetros de fecha. 🙂
edhans
En respuesta a jcampbell474
Encantado de ayudar @ jcampbell474.