Power Automate se ha convertido en una herramienta esencial para conectar y automatizar tareas entre diferentes servicios y aplicaciones. Una de las integraciones más comunes es con SharePoint. En este artículo, te mostraremos cómo filtrar una lista de SharePoint por una columna que hace referencia a otra lista de SharePoint (Columna de tipo Lookup) utilizando Power Automate.
Introducción
En este artículo, nos centraremos en cómo utilizar Power Automate para filtrar y consultar datos en listas de SharePoint, específicamente en el contexto de solicitudes de acceso a informes de Power BI.
Imaginemos que tenemos dos listas de SharePoint: una llamada “Security Access” y otra llamada “Approval Matrix”. La lista “Security Access” contiene las solicitudes de permisos para diferentes informes de Power BI, especificando los roles y parámetros necesarios. Por otro lado, la lista “Approval Matrix” muestra la combinación de informe de Power BI, rol y región, y quiénes deben ser los aprobadores para cada combinación. Nuestro objetivo es construir un flujo de Power Automate que se active cuando se seleccione un registro en la lista “Security Access”. Este flujo realizará una consulta en la lista “Approval Matrix”, filtrando por el informe y la región especificados.
Contexto y Preparación
Antes de sumergirnos en la creación del flujo, es importante entender el contexto y la estructura de nuestras listas de SharePoint. La lista “Security Access” podría tener las siguientes columnas:
- User: Usuario que solicita la petición de acceso.
- Role: Columna que hace referencia a otra lista de sharepoint con el listado de roles disponibles.
- Report: Columna que hace referencia a otra lista de sharepoint con el listado de reportes disponibles.
- Region: Columna que hace referencia a otra lista de sharepoint con el listado de regiones disponibles.
Por otro lado, la lista “Approval Matrix” podría tener las siguientes columnas:
- Report: Columna que hace referencia a otra lista de sharepoint con el listado de reportes disponibles.
- Region: Columna que hace referencia a otra lista de sharepoint con el listado de regiones disponibles
Objetivo del Flujo de Power Automate
El flujo de Power Automate que vamos a construir tiene como objetivo automatizar el proceso de consulta y filtrado. Cuando se selecciona un registro en la lista “Security Access”, el flujo debe buscar en la lista “Approval Matrix” para encontrar los aprobadores correspondientes basándose en el informe y la región especificados. Este proceso no solo ahorra tiempo, sino que también reduce el riesgo de errores humanos al garantizar que las solicitudes de acceso se dirijan a las personas correctas.
En artículos siguientes, explicaremos el proceso completo para automatizar la gestión de solicitudes de acceso a informes de Power BI que además tienen aplicada seguridad a nivel de fila en cada informe de Power BI. Los usuarios solo tendrán que indicar el informe al que quieren acceder y los niveles de permiso, y en función de ello, a través de un proceso de aprobaciones, se automatizará el acceso.
Paso a Paso
#1. – Configuración del Trigger
- Seleccionar el Disparador “For a selected item”:
- En Power Automate, crea un nuevo flujo y selecciona el disparador “For a selected item” de SharePoint. Este disparador permite que el flujo se inicie manualmente desde un elemento seleccionado en una lista de SharePoint.
- Configurar el Disparador:
- En la configuración del disparador, selecciona el sitio de SharePoint y la lista “Security Access”. Esto asegurará que el flujo se active cuando se seleccione un elemento en esta lista.
#2. – Obtener Detalles del Registro Seleccionado
- Agregar la Acción “Get Item”
- En el editor de Power Automate, haz clic en “Nuevo paso” y selecciona la acción “Get Item” de SharePoint. Esta acción nos permitirá obtener todos los detalles del registro seleccionado en la lista “Security Access”.
- Configurar la Acción “Get Item”
- Configura la acción especificando el sitio de SharePoint y la lista “Security Access”.
- En el campo “ID del elemento”, selecciona el ID del elemento que se ha activado con el disparador “For a selected item”. Esto se puede hacer utilizando el contenido dinámico proporcionado por Power Automate.
#3 – Filtrar Registros en la Lista “Approval Matrix”
En este paso, vamos a obtener los registros de la lista de SharePoint “Approval Matrix” que cumplen con las condiciones de rol y región del registro seleccionado en “Security Access”. Dado que estos campos hacen referencia a otras listas de SharePoint, la sintaxis de filtrado es especial. La estructura es la siguiente:
Estructura de la Sintaxis de Filtrado
[Nombre Campo Origen]/[Nombre Campo Destino] eq '[Valor]'
- [Nombre Campo Origen]: Es el nombre del campo que tenemos en la lista “Security Access”.
- [Nombre Campo Destino]: Es el nombre del campo en la lista que hace referencia la columna. En nuestro caso, es el campo por defecto,
Title
.
Ejemplo de la Sintaxis de Filtrado
Para filtrar los registros en la lista “Approval Matrix” basándonos en el informe y la región del registro seleccionado, utilizaremos la siguiente sintaxis
(Report/Title eq '@{outputs('Get_item_-Security_Access')?['body/Report/Value']}') and (Region/Title eq '@{if(equals(outputs('Get_item-Security_Access')?['body/Role/Value'], 'Global'), 'All', outputs('Get_item-_Security_Access')?['body/Region/Value'])}')
Explicación del Ejemplo Real de Aplicación del Filtro
- Filtrar por Informe:
Report/Title eq '@{outputs('Get_item_-_Security_Access')?['body/Report/Value']}'
- Esta parte de la consulta filtra los registros en la lista “Approval Matrix” donde el título del informe coincide con el valor del informe en el registro seleccionado de “Security Access”.
- Filtrar por Región:
Region/Title eq '@{if(equals(outputs('Get_item_-_Security_Access')?['body/Role/Value'], 'Global'), 'All', outputs('Get_item_-_Security_Access')?['body/Region/Value'])}'
- Esta parte de la consulta filtra los registros en la lista “Approval Matrix” donde el título de la región coincide con el valor de la región en el registro seleccionado de “Security Access”.
- Además, incluye una condición que verifica si el rol es “Global”. Si es así, se filtra por “All”; de lo contrario, se filtra por el valor específico de la región. Esta parte se puede obviar, ya que es algo específico para nuestro proceso de aprobación.
#4 – Integrar el Flujo en SharePoint
Integrar el Flujo en SharePoint
Desde la lista “Security Access” en SharePoint, podrás ver una opción de “Automate” en la barra de herramientas. Esta opción te permitirá ejecutar el flujo de Power Automate para el elemento seleccionado.
Al hacer clic en “Integrate”, selecciona “Power Automate” y luego el flujo que has creado. Esto iniciará el flujo para el registro seleccionado.
Lo que deberiamos de obtener:
Como el campo «Region» está vacío va a buscar en la lista de Sharepoint de «Approval Matrix» los registros donde «Region» sea igual «Finance» y «Region» sea igual «All».
De esta forma, obtendríamos los aprobadores para la solicitud. Este flujo forma parte de un proceso que sirve para automatizar las solicitudes de acceso a informes de Power BI. En el siguiente artículo, veremos el proceso completo. Nuestra idea, queríamos mostrar como filtrar una lista de Sharepoint usando un campo de tipo Lookup.
¡Hasta la próxima!