- Open API
- Introducción a la API de Automation Hub
- Referencias de API
- Generar tu token de Automation Hub
- Autenticación a la API de Automation Hub
- Añadir usuarios de forma masiva a Automation Hub utilizando OpenAPI
- Editar usuarios en masa en Automation Hub utilizando OpenAPI
- Recuperar idea de automatización en fase de idea en estado de Evaluación pendiente
- Recuperar análisis de coste-beneficios de una idea específica
- Actualizar la fase y el estado de una idea de automatización.
- Recuperar una cuenta de usuario
- Actualizar detalles de cuenta para empleados de Automation Hub
- Desactivar cuentas de usuario que no formen parte de la empresa
- Entrada para el proceso de automatización
- Entrada para el tipo de remisión
- Entrada para fases
- Entrada para estados
- Entrada para actualización de fases y estados
- Entrada para unidades empresariales
- Entrada para aplicaciones
- Entrada para categorías
- Entrada para análisis coste-beneficio
- Entrada para evaluación de alto nivel
- Entrada para evaluación detallada
- Entrada para fechas de creación de ideas de automatización
- Entrada para usuarios
- Entrada para estado de usuario
- Tabla del estado del usuario
- Entrada para colaboradores
- Diccionario de salidas
- Automation Hub Open API Análisis de datos de Power Query
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.
Sigue los siguientes pasos para configurar la consulta principal:
- Ve a Power BI o Excel y selecciona Obtener datos. Luego, selecciona De la web.
- En la nueva ventana, pulsa Uso avanzado.
- Aquí, debes añadir los datos de la Open API correspondientes para la conexión.
- Comienza añadiendo el punto final (por ejemplo, GET proceso de automatización).
- Luego los encabezados
- En los encabezados, añade el token de autenticación.
- Asegúrate de añadir la palabra Portador antes de insertar el valor del token.
- 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:
- Expande el objeto de los datos.
- A continuación, expande el objeto del proceso.
- Ahora puedes convertir los datos en una tabla, que dará lugar a una única columna con todos los registros.
- 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.
- Una vez que hayas expandido, asegúrate de marcar todas las columnas, ya que algunas tienen registros anidados que debes expandir.
- 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.
- Si tus datos parecen estar correctos, pulsa Guardar y cerrar y espera a que se carguen los datos.
- 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:
- Profundiza en el campo totalPáginas.
- Haz clic en el botón Función, y tu fórmula debería cambiar a =totalPáginas.
- Inserta la siguiente fórmula
=List.Numbers(1,totalPages,1)
. - 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:
- Transforma la lista en una tabla.
- Cambia el nombre de la columna a Página y cambia el tipo de datos a Texto.
- Crea una columna personalizada.
- Añade la siguiente consulta en la fórmula de la columna:
let Source = Json.Document(Web.Contents(" https://{yourDomain}/automationhub_/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
let
Source = Json.Document(Web.Contents(" https://{yourDomain}/automationhub_/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:
- En el editor de consultas, dirígete a la columna donde tienes tus aplicaciones y pulsa en Expandir a nuevas filas.
- Pulsa de nuevo en Expandir y selecciona los metadatos de la aplicación que deseas extraer, como el nombre de la aplicación.
- En la pestaña Inicio/cinta de opciones, haz clic en Agrupar por.
-
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).
- Después de pulsar en Aceptar, aparecerá un error, ya que la función Suma no puede funcionar con entradas de texto.
- Ve a la barra de fórmulas y sustituye List.Sum por Text.Combine como funciones.
-
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
- Pulsa en Guardar y échale un vistazo a las entradas de la columna:
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 |
---|---|
|
|
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:
-
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).
- Expándelas de nuevo para obtener los campos de las preguntas.
-
Expándelas de nuevo y obtendrás los siguientes campos.
- Question_text (Texto_pregunta)
- Answer_text (Texto_respuesta)
- Question_response_answers (Pregunta_respuestas)
- Expande Question_response_answers (Pregunta_respuestas) y extrae response_choice_text (Texto_elección_respuesta).
- 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:
- Marca y elimina las entradas nulas de la columna Pregunta.
- Utiliza una columna dinámica para trasladar todos los datos actuales de las columnas Pregunta y Respuesta en filas.
- Selecciona la columna Pregunta y haz clic en Columna dinámica en el menú Transformar.
- Selecciona la columna de las respuestas como tu columna de valores.
- 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.
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í.
- Configurar la consulta principal (para GET proceso de automatización)
- Usar la paginación para obtener de forma dinámica todos los elementos de cualquier solicitud de Open API
- Analizar una consulta diferente (GET automatizaciones) para extraer los campos Descripción y Aplicación
- Análisis de la descripción (delimitado por párrafos)
- Analizar una consulta diferente (GET automatizaciones) para extraer preguntas personalizadas/preguntas de una evaluación de alto nivel
- Combinar consultas (desde GET automatizaciones) a tu consulta principal (GET proceso de automatización)
- Demostración de análisis de API de Power Query de Automation Hub