Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Al cargar datos en tablas de Dataverse, se asignan las columnas de la consulta de origen en la interfaz de edición del flujo de datos a las columnas de la tabla de Dataverse de destino. Además del mapeo de datos, hay otras consideraciones y procedimientos recomendados que se deben tener en cuenta. En este artículo, se tratan las distintas configuraciones de flujo de datos que controlan el comportamiento de la actualización del flujo de datos y, como resultado, los datos de la tabla de destino.
Controlar si los flujos de datos crean o actualizan registros cada actualización
Cada vez que actualiza un flujo de datos, captura los registros del origen y los carga en Dataverse. Si ejecuta el flujo de datos más de una vez( en función de cómo configure el flujo de datos), puede:
- Cree registros para cada actualización de flujo de datos, incluso si estos registros ya existen en la tabla de destino.
- Cree nuevos registros si aún no existen en la tabla o actualice los registros existentes si ya existen en la tabla. Este comportamiento se llama upsert.
El uso de una columna clave indica al flujo de datos que debe actualizar o insertar registros en la tabla de destino, mientras que no seleccionar una clave indica al flujo de datos que debe crear registros nuevos en la tabla de destino.
Una columna de clave es una columna única y determinista de una fila de datos de la tabla. Por ejemplo, en una tabla Orders, si order ID es una columna de clave, no debe tener dos filas con el mismo identificador de pedido. Además, un identificador de pedido (supongamos que un pedido con el identificador 345) solo debe representar una fila de la tabla. Para elegir la columna clave de la tabla de Dataverse del flujo de datos, debe establecer el campo clave en la experiencia de asignación de tablas.
Elección de un nombre principal y un campo de clave al crear una nueva tabla
En la imagen siguiente se muestra cómo puede elegir la columna de clave que se va a rellenar desde el origen al crear una nueva tabla en el flujo de datos.
El campo principal de nombre que ves en el mapeo de campos es para un campo de etiqueta; este campo no necesita ser único. El campo que se usa en la tabla para comprobar la duplicación es el campo que estableció en el campo Clave alternativa .
Tener una clave principal en la tabla garantiza que incluso si tiene datos duplicados en el campo asignado a la clave principal, las entradas duplicadas no se cargarán en la tabla. Este comportamiento mantiene una alta calidad de los datos de la tabla. Los datos de alta calidad son esenciales para crear soluciones de informes basadas en la tabla.
Campo de nombre principal
El campo de nombre principal es un campo de visualización que se utiliza en Dataverse. Este campo se usa en vistas predeterminadas para mostrar el contenido de la tabla en otras aplicaciones. Este campo no es el campo de clave principal y no debe considerarse así. Este campo puede tener valores duplicados, ya que es un campo de visualización. Sin embargo, el procedimiento recomendado es usar un campo concatenado para asignarlo al campo de nombre principal, por lo que el nombre es totalmente explicativo.
El campo de clave alternativa es lo que se usa como clave principal.
Elección de un campo de clave al cargar en una tabla existente
Al asignar una consulta de flujo de datos a una tabla de Dataverse existente, puede elegir si y qué clave se debe usar al cargar datos en la tabla de destino.
En la imagen siguiente se muestra cómo puede elegir la columna de clave que se va a usar al actualizar los registros a una tabla de Dataverse existente:
Establecimiento de la columna Id. único de una tabla y su uso como campo clave para la migración de registros a tablas existentes de Dataverse
Todas las filas de tabla de Microsoft Dataverse tienen identificadores únicos definidos como GUID. Estos GUID son la clave principal de cada tabla. De forma predeterminada, los flujos de datos no pueden establecer la clave principal de una tabla y Dataverse genera automáticamente cuando se crea un registro. Hay casos de uso avanzados en los que es conveniente aprovechar la clave principal de una tabla, por ejemplo, integrar datos con orígenes externos y mantener los mismos valores de clave principal en la tabla externa y en la tabla dataverse.
Nota:
- Esta funcionalidad solo está disponible al cargar datos en tablas existentes.
- El campo de identificador único solo acepta una cadena que contiene valores GUID, cualquier otro tipo de datos o valor hace que se produzca un error en la creación de registros.
Para aprovechar el campo identificador único de una tabla, seleccione Cargar en la tabla existente en la página Asignar tablas al configurar un flujo de datos. En el ejemplo que se muestra en la imagen posterior, carga datos en la tabla CustomerTransactions y usa la columna TransactionID del origen de datos como identificador único de la tabla.
Tenga en cuenta que, en la lista desplegable Seleccionar clave , se puede seleccionar el identificador único ,que siempre se denomina "tablename + id" de la tabla. Dado que el nombre de la tabla es "CustomerTransactions", el campo de identificador único se denomina "CustomerTransactionId".
Una vez seleccionada, la sección de asignación de columnas se actualiza para incluir el identificador único como una columna de destino. A continuación, puede asignar la columna de origen que representa el identificador único de cada registro.
¿Qué son buenos candidatos para el campo clave?
El campo de clave es un valor único que representa una fila única en la tabla. Es importante tener este campo porque le ayuda a evitar tener registros duplicados en la tabla. Este campo puede provenir de tres orígenes:
Clave principal del sistema de origen (por ejemplo, OrderID en el ejemplo anterior). campo concatenado creado mediante transformaciones de Power Query en el flujo de datos.
Combinación de campos que se van a seleccionar en la opción Clave alternativa . Una combinación de campos usados como campo clave también se denomina clave compuesta.
Quitar filas que ya no existen
Si desea tener los datos en la tabla siempre sincronizados con los datos del sistema de origen, elija la opción Eliminar filas que ya no existen en la salida de la consulta. Sin embargo, esta opción ralentiza el flujo de datos porque es necesario realizar una comparación de filas basada en la clave principal (clave alternativa en la asignación de campos del flujo de datos) para que se produzca esta acción.
La opción significa que si hay una fila de datos en la tabla que no existe en la siguiente salida de consulta de la actualización del flujo de datos, esa fila se quita de la tabla.
Nota:
Los flujos de datos estándar V2 se basan en los campos createdon y modifiedon para eliminar de la tabla de destino las filas que no existen en la salida de los flujos de datos. Si esas columnas no existen en la tabla de destino, no se eliminarán los registros.
Limitaciones conocidas
- Actualmente no se admite la asignación a campos de búsqueda polimórficos .
- Actualmente no se admite la asignación a un campo de búsqueda multinivel, una consulta que apunta al campo de búsqueda de otra tabla.
- Actualmente no se admite la asignación a los camposEstado y Motivo de estado.
- No se admite el mapeo de datos a texto de varias líneas que incluya caracteres de salto de línea, y por lo tanto, se eliminan los saltos de línea. En su lugar, puede usar la etiqueta de salto de línea
<br>para cargar y conservar texto en varias líneas. - No se admite la configuración de campos de selección única y selección múltiple en la misma tabla, mientras que no se admite la especificación de más de un valor para el campo de selección múltiple.
- Los flujos de datos V2 estándar dependen de los campos
createdonymodifiedonpara eliminar filas que no existen en la salida de los flujos de datos de la tabla de destino. Si esas columnas no existen en la tabla de destino, no se eliminarán los registros. - La asignación a campos cuya propiedad IsValidForCreate está establecida en
falseno se admite (por ejemplo, el campo Cuenta de la entidad Contacto).