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

Tiempo para 'Actualizar' datos para un origen de datos generado dinámicamente

Hola a todos: ¡Buen día! Estoy desarrollando un panel para mostrar información de diferentes eventos de mantenimiento. Extraes datos de una tabla de base de datos para los eventos. Para obtener información detallada sobre cada evento, me conecto a una API [en el portal de API] en la que puedo pasar un evento 'Id' y obtener la información detallada de ese evento. Construyo dinámicamente una tabla de detalles para cada evento 'Id'. He establecido un marco de tiempo para extraer datos de la primera fuente [tabla DB] a partir del 01 de enero de 2020, ya que hay datos de eventos de los últimos años en la base de datos. Pero incluso que mientras actualizan los datos de la segunda tabla de detalles de source[ en mi env de escritorio, el proceso de actualización tarda casi 1,5 horas.

  1. ¿Mejora cuando publicamos el panel en el servidor? [aún no lo han publicado en nuestro servidor de organización]
  2. ¿Hay alguna manera de hacer que el proceso de actualización sea más rápido? Muchas gracias de antemano. 🙂
7 REPLIES 7
mahoneypat
Employee
Employee

Parece ineficiente hacer una llamada web para cada identificador de evento. ¿Por cuántos eventos estás haciendo eso? ¿Hay una llamada API diferente que pueda hacer que obtendrá todos los eventos en una sola toma (todavía pasando los parámetros de fecha en la llamada)? Incluso si hay un límite de filas, todavía podría obtener los datos en varias llamadas con paginación y probablemente ahorrar mucho tiempo de actualización.

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 : Gracias por su respuesta.

La definición de Api dice que puede tomar un máximo de 50 identificadores.

sohananahid_0-1596829224328.png

¿Cómo cambio ahora mi parámetro y función para llamar a la api? Hasta ahora tengo un parámetro, 'Event Id' que es de tipo 'text' y paso un valor de muestra. A continuación, creé una función en este parámetro en la que invoco para crear la tabla de detalles dinámicamente.

¿Selecciono Lista de valores para crear el parámetro? Entonces, ¿cómo sabe la función enviar 50 identificadores diferentes a la vez?

sohananahid_1-1596829224332.png

Muchas gracias de antemano.

Hola @sohananahid,

No puede usar el parámetro de consulta para enviar una lista de 50 valores.
La opción 'lista de valor' y 'consulta' significan el rango de selección del valor actual, no significa que puede elegir varios valores y enviarlos al mismo tiempo.

Me gustaría sugerirle que cree un parámetro de consulta de tipo de texto y una lista de identificadores de entrada que se concatenan con el delimitador 'comma'.

saludos

Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.

¿Puede mostrar la sintaxis de ejemplo que proporcionan al proporcionar más de 1 ID en la llamada? Supongo que es una lista separada por comas, pero por favor confirme. ¿Cuántas ID necesitarás buscar? Si >50, tendrás que hacerlo en trozos de 50 id (que es más complicado pero factible).

Consulte también la documentación de la API para ver si hay una manera de obtener todos los datos (por ejemplo, en lugar de "?ids...."). ¿Hay otros métodos para obtener de manera más eficiente todos los datos que desea (por ejemplo, ?status? ¿Puede compartir un vínculo a la documentación de la API para que pueda echar un vistazo directamente?

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 : En el portal de API- No he encontrado ningún ejemplo para especificar varios identificadores. Para probar, pasé 2 identificadores [separados por comas] y devolvió la información de detalles. Como se mencionó anteriormente, dicen un máximo de 50 identificadores para pasar.

sohananahid_0-1597095449957.png

El enlace al portal de API es: https://developer.genscape.com/docs/services/natgas-notices-maintenance/operations/GetMaintenanceEve...

Muchas gracias de antemano.

No pude buscar que la documentación de la API sin una cuenta para iniciar sesión. Puede crear la cadena de EventIDs con otra consulta (no usará un parámetro). A continuación se muestra un código M de ejemplo para mostrarle cómo pasar desde una columna de números (identificadores de evento) en una tabla y convertirlo en una lista de texto separada por comas. A continuación, solo haría referencia a esa consulta para concatenar en la llamada a la API. Esperemos que tenga <50 identificadores de evento para encadenar. Si tienes más, tendremos que dividirlo en tiradas de 50 y hacer varias llamadas. Sería mucho mejor si pudiera averiguar que había un método de API más eficaz para llamar en lugar de por identificador de evento (¿hay una persona de soporte que pueda contactar para preguntar?).

Para ver cómo funciona, simplemente cree una consulta en blanco, vaya a Editor avanzado y reemplace el texto allí con el código M a continuación.

let
    Source = List.Numbers(10, 25,2),
    #"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Changed Type" = Table.TransformColumnTypes(#"Converted to Table",{{"Column1", type text}}),
    Custom1 = Text.Combine(#"Changed Type"[Column1], ",")
in
    Custom1

La parte clave es el paso Custom1 donde hace referencia a la sola columna en el paso anterior (que devuelve una lista de esos valores, que se concatenan con un separador de comas).

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 : Gracias por su respuesta.

1. Sí, necesita una cuenta de inicio de sesión para el portal de API.

2, Hay más de 50 identificadores de eventos para manejar

3. Hay una API independiente para obtener toda la información de resumen del evento, que utilizo primero para obtener todos los eventos (lo que me da los identificadores de evento). Pero necesito la 2a Api (detalles del evento) para obtener información como location_id que la 1a Api no tiene. El identificador del evento es la clave principal para unirlos.

4. Estos son los 2 Apis disponibles.

Muchas gracias por su ayuda.

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.