Join DataTable
Join DataTable
Sección titulada «Join DataTable»Tipo: join-datatable · Paquete: DataTable Activities v1.0.5 · Salida: DataTable
Combina dos DataTables en una sola, emparejando sus filas por una columna común (una clave). Es como un JOIN de SQL o un BUSCARV de Excel: te permite enriquecer una tabla con datos de otra — por ejemplo, unir las ventas con el catálogo de clientes para tener el nombre y el correo junto a cada venta.
Cómo funciona
Sección titulada «Cómo funciona»Empareja cada fila de la tabla izquierda (left) con las de la derecha (right) que tengan el mismo valor en la columna on (que debe existir en ambas). El parámetro type decide qué pasa con las filas sin pareja:
inner(por defecto): solo conserva las filas que tienen pareja en ambas tablas.left: conserva todas las filas de la izquierda; las que no tengan pareja en la derecha quedan con esas columnas vacías.
Detalles del emparejamiento:
- Las claves se comparan como texto y sin distinguir mayúsculas (
"A-10"empareja con"a-10"). Las celdas vacías de ambos lados se emparejan entre sí. - Si una fila izquierda tiene varias parejas en la derecha, el resultado tiene una fila por cada pareja.
- Las filas salen en el orden de la tabla izquierda.
- Ninguna de las dos tablas se modifica.
Parámetros requeridos
Sección titulada «Parámetros requeridos»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
left | DataTable | — | La DataTable izquierda (la principal). |
right | DataTable | — | La DataTable derecha (la que aporta columnas). |
on | string | — | Nombre de la columna común por la que unir (debe existir en ambas). |
Parámetros opcionales
Sección titulada «Parámetros opcionales»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
type | string | "inner" | Tipo de unión: inner (solo filas con pareja) · left (todas las de la izquierda). |
Devuelve una DataTable nueva con:
- todas las columnas de
left, con sus tipos; - las columnas de
rightexceptoon(que ya está en la izquierda). Si una columna de la derecha se llama igual que una de la izquierda, aparece comoright_<nombre>.
Si ninguna fila empareja con inner, devuelve una tabla con esas columnas y 0 filas.
Errores comunes
Sección titulada «Errores comunes»| Mensaje | Causa y solución |
|---|---|
'left' debe ser una DataTable. / 'right' debe ser una DataTable. | Una de las tablas no evalúa a una DataTable. |
'on' es obligatorio. | Falta la columna de unión. |
Column '…' does not belong to table …. | La columna on no existe en una de las dos tablas (mensaje de .NET, sin traducir). Iguala los nombres con Rename Column. |
Ejemplo
Sección titulada «Ejemplo»Unir ventas con datos de cliente por la columna ClienteId y quedarse con las ventas sin cliente registrado:
Join DataTable left = ventas right = clientes on = "ClienteId" type = left → output: ventasCompletas
Filter DataTable table = ventasCompletas conditions: Nombre is-empty → output: sinClienteLog message = rowCount(sinCliente) + " ventas sin cliente registrado"Actividades relacionadas
Sección titulada «Actividades relacionadas»- Rename Column — igualar el nombre de la columna clave.
- Filter DataTable — acotar antes o después de unir.