Filtrar y copiar datos con Power Automate

En este tutorial se muestra cómo crear un flujo de nube que supervise un origen para los elementos nuevos o cambiados, y, luego, copiar dichos cambios a un destino. Puede crear un flujo de nube como este si los usuarios escriben datos en una ubicación, pero el equipo los necesita en otra ubicación o formato.

Aunque este tutorial copia datos de una lista de Microsoft SharePoint (el origen) a una tabla de Azure SQL Database (el destino), es posible copiar datos entre cualesquiera de los más de 900 conectores que admite Power Automate.

Propina

Para obtener información detallada sobre el uso de SharePoint con Power Automate, consulte la documentación de SharePoint.

Requisitos previos

  • Acceso a un origen de datos y a un destino. En este tutorial no se incluyen los pasos para crear el origen y el destino.

  • Tener acceso a Power Automate.

  • Un conocimiento básico de cómo se almacenan los datos.

  • Familiaridad con los conceptos básicos de la creación de flujos. Puede revisar cómo agregar acciones, desencadenadores y condiciones. En los pasos siguientes se da por hecho que sabe cómo realizar estas acciones.

Propina

No es necesario que coincidan todos los nombres de columna en el origen y el destino. Sin embargo, debe proporcionar datos para todas las columnas obligatorias cuando inserta o actualiza un elemento. Power Automate identifica los campos obligatorios.

Descripción rápida de los pasos

Si se siente a gusto con Power Automate, siga estos pasos rápidos para copiar datos desde un origen de datos a otro.

Importante

Los cambios que se realizan en el destino no se copian en el origen porque no se admiten las sincronizaciones bidireccionales. Si intenta configurar una sincronización bidireccional, creará un bucle infinito en el que los cambios se envían continuamente entre el origen y el destino.

  1. Identifique el origen que va a supervisar y el destino al que va a copiar los datos modificados. Confirme que tiene acceso a ambos.

  2. Identifique al menos una columna que identifique de forma única los elementos del origen y destino. En el ejemplo siguiente, se utiliza la columna Title, pero puede usar las que desee.

  3. Configure un desencadenador que supervise los cambios que se producen en el origen.

  4. Busque en el destino para determinar si existe el elemento modificado.

  5. Use una condición similar a la siguiente:

    • Si el elemento nuevo o modificado no existe en el destino, créelo.
    • Si el elemento nuevo o modificado existe en el destino, actualícelo.
  6. Desencadene el flujo y, después, confirme que los elementos nuevos o modificados se están copiando del origen al destino.

Si no ha creado previamente una conexión a SharePoint o una instancia de Azure SQL Database anteriormente, siga las instrucciones cuando se le pida que inicie sesión.

Estos son los pasos detallados para crear el flujo.

Supervisar los cambios en el origen

  1. Inicie sesión en Power Automate.

  2. Seleccione Mis flujos>Crear desde cero.

  3. Busque SharePoint> seleccione el desencadenador SharePoint: cuando se crea o modifica un elemento en la lista de desencadenadores.

  4. Escriba la dirección del sitio y seleccione el nombre de lista en la tarjeta Cuando se crea o se modifica un elemento.

  5. Especifique los valores de Dirección del sitio y Nombre de lista de la lista de SharePoint en la que el flujo supervisa si hay elementos nuevos o actualizados.

Buscar el elemento nuevo o modificado en el destino

Use la acción SQL Server: obtener filas para buscar el elemento nuevo o cambiado en el destino.

  1. Seleccione Nuevo paso>Agregar una acción.

  2. Busque Obtener filas, seleccione SQL Server - Obtener filas y, después, la tabla que desea supervisar en la lista Nombre de tabla.

  3. Seleccione Mostrar opciones avanzadas.

  4. En el cuadro Consulta de filtro, escriba Título eq ', seleccione el símbolo (token) Título en la lista de contenido dinámico y, después, escriba '.

    En el paso anterior se presupone que va a asociar los títulos de las filas del origen y del destino.

    La tarjeta Obtener filas debe parecerse a la de esta captura de pantalla:

    intentar obtener el elemento de la base de datos de destino.

Compruebe si se ha encontrado el elemento nuevo o modificado

Usamos la acción Condición para verificar si se encontró el elemento nuevo o modificado.

  1. Seleccione Nuevo paso>Agregar una condición para abrir la tarjeta Condición.

  2. En la tarjeta Condición:

    1. Seleccione el cuadro de la izquierda.

      Se abre la lista Agregue contenido dinámico de las aplicaciones y conectores que se usan en este flujo.

    2. Seleccione value en la categoría Obtener filas.

    Propina

    Confirme que ha seleccionado value en la categoría Obtener filas. No seleccione value en la categoría Cuando se crea o se modifica un elemento.

  3. Seleccione es igual a en la lista del cuadro central.

  4. Escriba 0 (cero) en el cuadro de la derecha.

    La tarjeta Condición ahora es como la que aparece en esta imagen:

    La captura de pantalla muestra la tarjeta de condición.

  5. Seleccione Editar en modo avanzado.

    Cuando se abra el modo avanzado, aparecerá en el cuadro la expresión @equals(body('Get_rows')?['value'], 0). Edite esta expresión mediante la adición de length() a la función body('Get_items')? [' value']. Ahora la expresión completa es como esta: @equals(length(body('Get_rows')?['value']), 0)

    La tarjeta Condición ahora es como la que aparece en esta imagen:

    Captura de pantalla que muestra la tarjeta de condición actualizada

    Propina

    Al agregar la función length() se permite que el flujo compruebe la lista value y determine si contiene algún elemento.

Cuando el flujo obtiene elementos del destino, hay dos resultados posibles.

Resultado Siguiente paso
El elemento existe Actualizar el elemento
El elemento no existe Crear un elemento nuevo

Nota

Es posible que las imágenes de las tarjetas Insertar fila y Actualizar fila que se muestran a continuación no sean las mismas que las suyas, ya que estas muestran los nombres de las columnas de la tabla de Azure SQL Database que se usa en el flujo.

Creación del elemento en el destino

Si el elemento no existe en el destino, créelo mediante la acción SQL Server - Insertar fila.

En la rama En caso positivo de la condición:

  1. Seleccione Agregar una acción, busque Insertar fila y seleccione SQL Server - Insertar fila.

    En la tarjeta Insertar fila:

  2. En la lista Nombre de tabla, seleccione la tabla en la que se va a insertar el nuevo elemento.

    La tarjeta Insertar fila se expande y muestra todas las columnas de la tabla seleccionada. Para que la fila sea válida, los campos con un asterisco (*) son necesarios y se deben rellenar.

  3. Seleccione todas las columnas que desee rellenar y escriba los datos.

    Puede introducir los datos manualmente, seleccionar uno o más tokens desde el Contenido dinámico, o bien introducir cualquier combinación de texto y tokens en las columnas.

    Ahora, la tarjeta Insertar fila es como la que aparece en esta captura:

    Captura de pantalla que muestra la tarjeta Condición en el nuevo estado.

Actualizar el elemento en el destino

Si el elemento existe en el destino, actualícelo con los cambios.

  1. Agregue la acción SQL Server - Actualizar fila a la rama En caso negativo de la condición.

  2. Siga los pasos de la sección de creación del elemento de este mismo documento para rellenar las columnas de la tabla.

    Captura de pantalla de los elementos de destino.

  3. En la parte superior de la página, escriba el nombre del flujo en el cuadro Nombre de flujo y seleccione Crear flujo para guardarlo.

Ahora, cada vez que cambie algún elemento de la lista de SharePoint (origen), el flujo desencadena e inserta un elemento nuevo, o bien actualiza un elemento existente en la instancia de Azure SQL Database (destino).

Nota

Cuando un elemento se elimina del origen, el flujo no se desencadena. Si se trata de un escenario importante, considere la posibilidad de agregar una columna independiente que indique si un elemento deja de ser necesario.

Consulte también

Usar operaciones de datos