Parámetro de fecha dinámica para consultas de importación

Un usuario Pregunto ✅

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!

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).

  1. Cambiar el nombre de la consulta varStartDate
  2. 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í

edhans_1-1602528606822.png

edhans_0-1602528551376.png

ahora tiene un Table.SelectRows () que se ve así en la barra de fórmulas:

edhans_2-1602528669917.png

Cámbielo para que se vea así:

edhans_3-1602528737684.png

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:

edhans_4-1602528831006.png

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.

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).

  1. Cambiar el nombre de la consulta varStartDate
  2. 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í

edhans_1-1602528606822.png

edhans_0-1602528551376.png

ahora tiene un Table.SelectRows () que se ve así en la barra de fórmulas:

edhans_2-1602528669917.png

Cámbielo para que se vea así:

edhans_3-1602528737684.png

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:

edhans_4-1602528831006.png

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. 🙂

En respuesta a jcampbell474

Encantado de ayudar @ jcampbell474.

Deja un comentario

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