Ir al contenido

Sort DataTable

Tipo: sort-datatable  ·  Paquete: DataTable Activities v1.0.5  ·  Salida: DataTable

Ordena una DataTable por una columna y devuelve una tabla nueva ordenada. Útil para presentar datos en un orden lógico (por fecha, por monto), procesar primero lo más urgente, o preparar un reporte.

Reordena las filas según los valores de la column indicada, en sentido ascendente (asc, por defecto) o descendente (desc). Devuelve una tabla nueva con las mismas columnas; la original no cambia.

El orden depende del tipo de la columna: una columna numérica o de fechas se ordena por valor, y una de texto, alfabéticamente sin distinguir mayúsculas. Ten en cuenta que en una columna de texto los números se ordenan como texto ("10" antes que "9"); si tus datos vienen como texto, crea antes una columna numérica con Add Column (num(Total)) y ordena por ella. Las celdas vacías quedan al principio en orden ascendente.

ParámetroTipoPor defectoDescripción
tableDataTable—La DataTable a ordenar.
columnstring—Nombre de la columna por la que ordenar.
ParámetroTipoPor defectoDescripción
directionstring"asc"Sentido: asc (ascendente) · desc (descendente).

Devuelve una DataTable nueva con las mismas columnas y filas, ordenadas. Una tabla sin filas da una tabla sin filas.

MensajeCausa y solución
'table' debe ser una DataTable.table no evalúa a una DataTable.
'column' es obligatorio.Falta la columna.
'direction' no válido: '…'. Usa asc o desc.direction tiene otro valor.
Cannot find column [….]La columna no existe (mensaje de .NET, sin traducir). Revisa el nombre.

Ordenar las facturas por monto, de mayor a menor, y tomar la primera:

Sort DataTable table = facturas column = "Total" direction = desc → output: porMonto
Get Data Row table = porMonto index = 0 → output: mayor
Log message = "Factura más alta: " + str(mayor["Numero"])