Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
sohananahid
Post Partisan
Post Partisan

¿Cómo establecer un período de tiempo al definir un origen de datos y reflejarlo en la segmentación de fechas?

Hola: ¡Buen día! Estoy desarrollando un panel para mostrar diferentes eventos de mantenimiento. Tengo un origen de datos [una tabla Db], donde la información de eventos se almacena durante los últimos años. Estoy tratando de filtrar los datos con la fecha de inicio como principio de este año. Hasta ahora tengo mi configuración de origen de datos con la consulta sql como se muestra a continuación.

sohananahid_0-1596819989398.png

  1. A medida que publicamos este tablero de guiones y el tiempo progresa: ¿hay una manera de establecer dinámicamente la hora como para los últimos 6 meses en lugar de codificar la fecha de inicio?
  2. Tengo un objeto visual de tabla resumen para mostrar los eventos con fechas de inicio y finalización, etc. Hay una segmentación de datos con intervalo de fechas de inicio. Incluso estoy extrayendo datos de la tabla de base de datos con la fecha de inicio como > 2020-01-01, la segmentación no se detiene en enero 01 2020, pero muestra meses y años anteriores. Los datos de mi objeto visual de tabla son a partir del 01 de enero de 2020 y posteriores, incluso si selecciono una fecha anterior a la de la segmentación de datos. ¿Cómo detengo la fecha de segmentación a partir del 01 de enero de 2020?

sohananahid_1-1596819989401.png

Muchas gracias de antemano. 🙂

1 ACCEPTED SOLUTION

Lamento que esto esté tomando tantas interaciones. Miré hacia atrás en su publicación original y ver que la fecha tiene comillas simples alrededor de la fecha, por lo que esos deben agregarse a la fecha concatenada en la instrucción SQL. Puede hacerlo en la consulta principal, o puede hacerlo en la consulta datefilter de esta manera

•'" & Date.ToText(Date.AddMonths(Date.From(DateTime.LocalNow()), -6), "aaaa-MM-dd") & "'"

Cruzaré los dedos que esta vez es el que funciona.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


View solution in original post

24 REPLIES 24
amitchandak
Super User
Super User
mahoneypat
Employee
Employee

Puede realizar otra consulta que simplemente devuelve hoy menos seis meses con esta expresión (haga una consulta en blanco y coloque esta fórmula en la barra de fórmulas para el paso Origen.

• Date.AddMonths(Date.From(DateTime.LocalNow()), -6)

Si llama a esa consulta "datefilter", puede usarla en la consulta principal concatentaándola en la cadena SQL. Busque en el editor avanzado su consulta principal y reemplace la fecha codificada de forma rígida por "datefilter". Su SQL original estará entre comillas, por lo que tendrá que concatenarlo de esta manera

"... DONDE startdate >" & datefilter & "... resto del SQL si corresponde"

Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Hola @mahoneypat : Muchas gracias por su respuesta. Seguí tus pasos, pero obteniendo este error:

sohananahid_0-1596833241152.png

sohananahid_1-1596833241156.png

¡Probablemente me estoy perdiendo algo! Realmente agradecería que me apuntara a la dirección correcta. 🙂

Debe realizar la edición en el Editor avanzado, no en las Opciones avanzadas de la ventana emergente Conexión SQL. En el editor de consultas, en la pestaña de inicio, haga clic en Editor avanzado. Verá la instrucción SQL en el paso Origen de la consulta. Es allí que necesita concatenar la consulta datefilter.

Si te quedas atascado, simplemente copia/pega el texto desde el Editor Avanzado, y puedo responder con código modificado.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Hola @mahoneypat : Gracias por su respuesta. Intenté editar la consulta en Advance Editor, pero aún así recibí un error como PFB:

sohananahid_0-1596840111728.png

El código para el origen es tan

Origen: Sql.Database("...", "...", [Query-"select * de dbname.natgas.pipeline_maintenance_events-(lf)where startDate >-" & datefilter & ""])

Gracias de antemano.

¿Puede mostrar el SQL original para ver en qué formato estaba la fecha? ¿La consulta datefilter tendrá que devolverla en ese formato? Es probablemente AAAA-MM-DD, por lo que necesitará esto en datefilter en su lugar

• DateTime.ToText(Date.AddMonths(DateTime.LocalNow(), -6), "yyyy-mm-dd")

Además, si la fecha es la última, no necesitas el &""

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Hola @mahoneypat : Gracias por su respuesta. La fecha está en formato AAAA-MM-DD, la fecha correcta de la consulta devuelta.

Pero a medida que escribo la cadena sql de origen como se muestra a continuación, obtengo un error:

Origen: Sql.Database("XYZ", "ABC", [Consulta"select * de ABC.natgas.pipeline_maintenance_events(lf)where startDate >-" & datefilter ""])

sohananahid_0-1597009198267.png

¿Qué me estoy perdiendo? Gracias de antemano.

Deshazte del "" al final.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Hola @mahoneypat Muchas gracias por sus continuas respuestas. Estoy recibiendo este mensaje ahora.

sohananahid_0-1597089931893.png

sohananahid_1-1597089931902.png

A medida que intento ejecutar la consulta, se atascó un poco al mostrar los mensajes. Cualquier ayuda es muy apreciada.

Parece que estás progresando. Puedes darle a Run en eso. Es sólo un tipo de "¿Estás seguro?" tipo de prontitud. Puede desactivarlos en la configuración.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Hola @mahoneypat Gracias por su paciencia con ayudarme! 🙂

La fecha está apagada, eso es correcto. Además, obtengo un error mientras intento aplicar los cambios de consulta

sohananahid_0-1597096945513.png

Estos se encuentran en power Query Editor:

sohananahid_1-1597096975400.png

sohananahid_2-1597097006849.png

¿Tengo que dar más paso? Gracias.

Creo que el formato de fecha está devolviendo el minuto en lugar del mes. Por favor, utilice este en su lugar. Importa que el MM esté en mayúsculas. Por favor, confirme que devuelve la fecha hace seis meses, e inténtelo de nuevo.

• Date.ToText(Date.AddMonths(Date.From(DateTime.LocalNow()), -6), "yyyy-MM-dd")

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Hola @mahoneypat: Gracias por su respuesta.

La fecha se ve bien ahora.

sohananahid_0-1597158061704.png

Pero a medida que intento ejecutar el origen de datos editado y "Ejecutar" como consulta nativa, estoy recibiendo el error:

sohananahid_1-1597158097528.png

Muy apreciado de antemano. 🙂

Lamento que esto esté tomando tantas interaciones. Miré hacia atrás en su publicación original y ver que la fecha tiene comillas simples alrededor de la fecha, por lo que esos deben agregarse a la fecha concatenada en la instrucción SQL. Puede hacerlo en la consulta principal, o puede hacerlo en la consulta datefilter de esta manera

•'" & Date.ToText(Date.AddMonths(Date.From(DateTime.LocalNow()), -6), "aaaa-MM-dd") & "'"

Cruzaré los dedos que esta vez es el que funciona.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Hola @mahoneypat ¡Funcionó esta vez! Muchas gracias por su ayuda, realmente lo agradezco! 🙂

Hola @mahoneypat : ¡Buenos días! Tengo 1 pregunta relacionada con este hilo. A medida que de establece una consulta 'datefilter' para obtener eventos con la fecha de inicio > último 1 mes como

•'" & Date.ToText(Date.AddMonths(Date.From(DateTime.LocalNow()), -1), "aaaa-MM-dd") & "'"

Y

... donde startDate >" &datefilter

Funciona y devuelve 380 filas [eventos] con las fechas de inicio correctas esperadas. Ahora que uso el evento 'Id's para estos eventos para obtener detalles del evento de una api [event details api], tengo un parámetro 'Id' y detailsFunction para llamar a la api con el id. hay una relación de 1 a 1 en 'id' entre estas 2 fuentes de datos. Esperaba obtener 380 filas de detalles del evento también para la 2a tabla que estoy construyendo dinámicamente. Pero obtengo 1500 filas con fecha de inicio antes del mes pasado.

¿Qué me estoy perdiendo aquí? Muchas gracias de antemano.

Eso es extraño. Entonces, ¿todo esto está en la misma consulta? Una vez que devuelva la lista de identificadores de eventos, ¿está invocando la función personalizada para obtener detalles del evento?

¿O hace referencia a la primera consulta de la segunda? Debería funcionar correctamente de cualquier manera, pero no sé si se está realizando algún plegado de consultas extraño. Si carga solo la primera parte, coloca la lista de eventos en una tabla estática e invoca la función, ¿obtiene 380 filas o 1500?

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Hola @mahoneypat: ¡Buenos días! Gracias por su respuesta. Tengo que separar las consultas para estos. En primer lugar, hay una consulta como hemos discutido recientemente para obtener la información de resumen de eventos. A continuación, usando el evento 'Id's de esta tabla, creo dinámicamente la segunda tabla de detalles del evento [usando una segunda función/consulta] para esos 'Id's.

Como prueba: Hago por separado una tabla estática e invoco la funcion [2nd], tengo un no similar. de filas. Por lo tanto, eliminé la 2a tabla e hice el último paso para invocar la función [el datefilter también se copió] para crear la tabla. Ahora, el datefilter también está asociado a esta tabla. Por lo tanto, estoy recibiendo similar no de filas ahora como 'Refresh'!

Como mencioné en mi primer post [tantas comunicaciones ya en este hilo, mis disculpas], tengo una segmentación de datos 'fecha de inicio' para mostrar los eventos en un objeto visual 'Tabla'. Esperaba que esta segmentación de datos mostrara sólo las fechas del último 1 mes a partir de hoy, ya que puse mi 'datefilter' así para obtener los datos. Pero veo que la segmentación de datos muestra fechas de 2014 como que está en la tabla de base de datos.

¿Alguna pista sobre cómo puedo hacer que la segmentación muestre solo las fechas establecidas en mi 'datefilter'? Muchas gracias de antemano. 🙂

También puede usar la consulta datefilter para crear la tabla Date/Calendar. Por ejemplo, "List.Dates(datefilter, Duration.TotalDays(Date.From(DateTime.LocalNow())-datefilter, #duration(1,0,0,0)) como la línea Source, luego convertir a table y agregar columnas de fecha. O bien, si ya tiene una tabla Date, puede filtrarla con datefilter.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Hola @mahoneypat : Gracias por su respuesta. No tengo una tabla de citas. Por lo tanto, intenté crear una nueva fuente como una consulta en blanco como usted mencionó, obtuvo este error:

sohananahid_0-1597373083133.png

Estoy tratando de tener un mecanismo de filtro para 'Fecha de inicio' [lista desplegable con Mes y Año] para filtrar los datos en mi evento Tabla visual. Después de que esta consulta funcione, ¿dónde la invoco?

Muchas gracias de antemano.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.