He modificado el JSL para que, tras crear la tabla de datos, tal como estaba en mi respuesta inicial, vuelva a leer el archivo .txt para leer las unidades. A continuación, las agrega como propiedades de columna a las columnas de la tabla de datos completa.
Nota: Las unidades no forman parte del nombre de la columna. Son una propiedad de la columna. Sin embargo, se mostrarán automáticamente junto con la columna.
elArchivo = //"
"L:\Documentos\Grupo de discusión/cschultz32.txt";
dt = Abrir( elArchivo,
Configuración de importación(
Fin de línea (CRLF, CR, LF),
Fin del campo (Espacios, Espacio, CSV (0)),
Tratar los ceros iniciales como caracteres (1),
Citas de tiras (1),
Utilice apóstrofe como comillas (0),
Utilice la configuración regional (0),
Escanear todo el archivo (1),
Tratar las columnas vacías como numéricas (0),
ComprimirColumnasNuméricas( 0 ),
ComprimirColumnasDeCaracteres( 0 ),
ComprimirListaPermitirComprobar( 0 ),
Etiquetas( 1 ),
Nombres de columnas Inicio( 4 ),
Primera columna nombrada (1),
Los datos comienzan (6),
Líneas para leer("Todas"),
Regla del año ("20xx")
)
);
dt << select where( Falta( Num( :sampleID ) ) == 1 | Falta( Num( :density ) ) );
dt << eliminar filas;
colNames = dt << obtener nombres de columnas (cadena);
Para (i = N elementos (colNames), i >= 1, i--,
col = colNames[i];
Columna( col ) << conjunto tipo de dato( numérico ) << conjunto tipo de modelado( continuo );
Si (Número de columna (Como columna (columna)) == 0,
dt << eliminar columnas( col )
);
);
//Leer las unidades y aplicarlas
dtUnits = Open( elArchivo,
Configuración de importación(
Fin de línea (CRLF, CR, LF),
Fin del campo (Espacios, Espacio, CSV (0)),
Tratar los ceros iniciales como caracteres (1),
Citas de tiras (1),
Utilice apóstrofe como comillas (0),
Utilice la configuración regional (0),
Escanear todo el archivo (1),
Tratar las columnas vacías como numéricas (0),
ComprimirColumnasNuméricas( 0 ),
ComprimirColumnasDeCaracteres( 0 ),
ComprimirListaPermitirComprobar( 0 ),
Etiquetas( 1 ),
Nombres de columnas Inicio( 4 ),
Primera columna nombrada (1),
Los datos comienzan (5),
Líneas para leer("Todas"),
Regla del año ("20xx")
)
);
dtUnits << seleccionar donde(fila()>1);
dtUnits << eliminar filas;
colNames = dt << obtener nombres de columnas (cadena, numérico);
Para cada({col}, colNames,
unidades = Columna( dtUnits, col )[1];
Si (Faltan (unidades) == 0,
unidades = Sustituir( unidades, "(", "", ")", "" );
Eval( Eval Expr( Column( dt, col ) << establecer propiedad( "unidades", Expr( unidades ) ) ) );
);
);
cerrar(dtUnits, nosave);