automation-hub
2022.10
false
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática. La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.
UiPath logo, featuring letters U and I in white

Guía de la API de Automation Hub

Automation CloudAutomation Cloud Public SectorAutomation Suite
Última actualización 19 de abr. de 2024

Automation Hub Open API Análisis de datos de Power Query

El análisis de los datos de la API de Automation Hub puede resultar a veces complicado, especialmente si estás consolidando un informe muy complejo.

En esta página, te damos algunos consejos y trucos que puedes utilizar para mejorar el proceso general de análisis de datos. La página contiene:

  • Los pasos con referencias a la documentación de Open API y Power Query.
  • Un archivo de muestra donde podrá practicar los pasos directamente en Power Query.

Configurar la consulta principal (para GET proceso de automatización)

Sigue los siguientes pasos para configurar la consulta principal:

  1. Ve a Power BI o Excel y selecciona Obtener datos. Luego, selecciona De la web.
  2. En la nueva ventana, pulsa Uso avanzado.
  3. Aquí, debes añadir los datos de la Open API correspondientes para la conexión.
  4. Comienza añadiendo el punto final (por ejemplo, GET proceso de automatización).
  5. Luego los encabezados
  6. En los encabezados, añade el token de autenticación.
  7. Asegúrate de añadir la palabra Portador antes de insertar el valor del token.
  8. Pulsa en Conectar.

Ahora deberías obtener la respuesta JSON de la Open API en Power BI. Además, debes profundizar en los datos antes de guardar la tabla siguiendo los siguientes pasos:

  1. Expande el objeto de los datos.
  2. A continuación, expande el objeto del proceso.
  3. Ahora puedes convertir los datos en una tabla, que dará lugar a una única columna con todos los registros.
  4. Expande esa columna para obtener todos los registros disponibles en el archivo JSON: podrás elegir obtener todos los registros o solo parte de ellos.
  5. Una vez que hayas expandido, asegúrate de marcar todas las columnas, ya que algunas tienen registros anidados que debes expandir.
  6. Ve por cada columna hasta que estés seguro de que los datos son correctos. También puedes darle formato a algunas de las columnas como desees.
  7. Si tus datos parecen estar correctos, pulsa Guardar y cerrar y espera a que se carguen los datos.
  8. Ahora puedes empezar a crear tu panel/informe.

Usar la paginación para obtener de forma dinámica todos los elementos de cualquier solicitud de Open API

Comienza con una consulta simple en la que no utilices ningún parámetro límite y, de forma predeterminada, obtendrás una respuesta con el número predeterminado de elementos (20) para luego continuar con los siguientes pasos:

  1. Profundiza en el campo totalPáginas.
  2. Haz clic en el botón Función, y tu fórmula debería cambiar a =totalPáginas.
  3. Inserta la siguiente fórmula =List.Numbers(1,totalPages,1).
  4. Se generará así una lista con todos los números de página disponibles en la respuesta de la API.

Esta lista es dinámica en función del número de páginas que obtiene de la respuesta. Así que, cuando actualices la consulta API y tengas nuevos datos (una nueva página), se obtendrán automáticamente en la lista. Continúa con los siguientes pasos:

  1. Transforma la lista en una tabla.
  2. Cambia el nombre de la columna a Página y cambia el tipo de datos a Texto.
  3. Crea una columna personalizada.
  4. Añade la siguiente consulta en la fórmula de la columna:
let 
       Source = Json.Document(Web.Contents(" https://automation-hub.uipath.com/api/v1/openapi/automationpipeline?pre=all&page="&[Page], [Headers=[#"Content-Type"="application/json", #"x-ah-openapi-app-key"="test", #"x-ah-openapi-auth"="openapi-token", Authorization="Bearer xxxxxx"]])), 
       data = Source[data], 
       processes = data[processes] 
   in 
       processeslet 
       Source = Json.Document(Web.Contents(" https://automation-hub.uipath.com/api/v1/openapi/automationpipeline?pre=all&page="&[Page], [Headers=[#"Content-Type"="application/json", #"x-ah-openapi-app-key"="test", #"x-ah-openapi-auth"="openapi-token", Authorization="Bearer xxxxxx"]])), 
       data = Source[data], 
       processes = data[processes] 
   in 
       processes 

La consulta anterior obtiene los datos del proceso de automatización y utiliza el parámetro Página (que recibimos de forma dinámica en la lista) para obtener el contenido de todas las páginas disponibles. 5. Haz clic en OK y expande la columna. Ahora tienes todos los elementos disponibles de la respuesta, independientemente del número de páginas que devuelva la API.

Analizar una consulta diferente (GET automatizaciones) para extraer los campos Descripción y Aplicación

El análisis de la aplicación (delimitado por comas) se realiza utilizando los siguientes pasos:

  1. En el editor de consultas, dirígete a la columna donde tienes tus aplicaciones y pulsa en Expandir a nuevas filas.
  2. Pulsa de nuevo en Expandir y selecciona los metadatos de la aplicación que deseas extraer, como el nombre de la aplicación.
  3. En la pestaña Inicio/cinta de opciones, haz clic en Agrupar por.
  4. En la ventana de Agrupar por selecciona:

    • La agrupación se realizará por la columna ID de proceso, ya que el ID es único.
    • El nuevo nombre de la columna debería ser algo así como "Aplicaciones agregadas".
    • Operación: Suma
    • Columna: la columna que has expandido para las aplicaciones (en el ejemplo anterior, es Column.1applications.applications_name).
  5. Después de pulsar en Aceptar, aparecerá un error, ya que la función Suma no puede funcionar con entradas de texto.
  6. Ve a la barra de fórmulas y sustituye List.Sum por Text.Combine como funciones.
  7. Además, en la fórmula, después del nombre de la columna de aplicaciones, añade un delimitador para tus entradas de texto (por ejemplo, ", ").

    Así es cómo se ve la fórmula antes y después del cambio:

    Antes del cambio

    Después del cambio

    = Table.Group(#"Expanded Column1.applications1", {"Column1.process_id

    = Table.Group(#"Expanded Column1.applications1", {"Column1.process_id

  8. Pulsa en Guardar y échale un vistazo a las entradas de la columna:

Análisis de la descripción (delimitado por párrafos)

Los mismos pasos que para la descripción pero, como la descripción es un campo de texto en el que debemos separar los diferentes párrafos, utilizaremos un separador diferente en la fórmula "#(lf)".

Antes del cambio

Después del cambio

= Table.ExpandRecordColumn(#"Expanded Column1.process_description.blocks", "Column1.process_description.blocks", {"text

= Table.Group(#"Expanded Column1.process_description.blocks1", {"Column1.process_id

Analizar una consulta diferente (GET automatizaciones) para extraer preguntas personalizadas/preguntas de una evaluación de alto nivel

Comienza desde una nueva consulta para GET automatizaciones (puedes utilizar la que mostraba la paginación de antes) y sigue los siguientes pasos:

  1. Expande las siguientes columnas:

    • ID del proceso
    • Advanced_Information (Información_avanzada) o Evaluación de alto nivel (ambas funcionan de la misma manera pero, para este tutorial, trabajaremos con Advanced_Information).
  2. Expándelas de nuevo para obtener los campos de las preguntas.
  3. Expándelas de nuevo y obtendrás los siguientes campos.

    • Question_text (Texto_pregunta)
    • Answer_text (Texto_respuesta)
    • Question_response_answers (Pregunta_respuestas)
  4. Expande Question_response_answers (Pregunta_respuestas) y extrae response_choice_text (Texto_elección_respuesta).
  5. Combina las columnas Texto de la respuesta y Response_choice_text (Texto_elección_respuesta) en una única columna utilizando la fórmula.
if [AnswerText] is null then [AnswerChoice.response_choice_text] else [AnswerText].

Esto siempre puede aplicarse, pues puedes tener una respuesta de texto o una respuesta de elección (nunca ambas). Sigue con el proceso utilizando los siguientes pasos:

  1. Marca y elimina las entradas nulas de la columna Pregunta.
  2. Utiliza una columna dinámica para trasladar todos los datos actuales de las columnas Pregunta y Respuesta en filas.
  3. Selecciona la columna Pregunta y haz clic en Columna dinámica en el menú Transformar.
  4. Selecciona la columna de las respuestas como tu columna de valores.
  5. Selecciona No agregar como Función de valor agregado y haz clic en Aceptar.

Todas las ideas ahora tienen una columna correspondiente que representa las preguntas personalizadas y sus valores correspondientes.

Combinar consultas (desde GET automatizaciones) a tu consulta principal (GET proceso de automatización)

Para combinar dos consultas diferentes en Power BI, consulta cómo se suele hacer en Power Query. Después, puedes empezar con la consulta del proceso de automatización y combinarla con la consulta GET automatizaciones.

  • De esta manera, expandirás las columnas disponibles de GET proceso de automatización con las de GET automatizaciones.
  • Es necesario utilizar el ID de proceso para combinar las consultas, ya que es el identificador único y la clave común para todas las consultas.

Demostración de análisis de API de Power Query de Automation Hub

A continuación puedes ver una demostración de vídeo de los pasos descritos en este artículo.

En este vídeo:

El archivo de ejemplo utilizado en el vídeo puede descargarse desde aquí.

¿Te ha resultado útil esta página?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo White
Confianza y seguridad
© 2005-2024 UiPath. Todos los derechos reservados.