¿Cómo analizo los datos en columnas y luego los apilo con múltiples caracteres especiales?Tengo una necesidad de datos sin procesar para enviarlos a una columna con muchos caracteres especiales y luego apilarlos. ¿Podrían ayudarme a brindar una solución mediante un script JSL para un caso genérico? Por favor, ayúdenme a consultar mi archivo de Excel para obtener más detalles.
Automatización y scriptingRe: ¿Cómo analizo los datos en columnas y luego los apilo con múltiples caracteres especiales?Muchas gracias Jim por tu solución.
delgada
Re: ¿Cómo analizo los datos en columnas y luego los apilo con múltiples caracteres especiales?Aquí está mi primer script. El enfoque debería brindarle lo que necesita para ver qué podría ser necesario ajustar con su tabla de datos completa.
Names Default To Here( 1 );
dt = Current Data Table();
// Create the new columns
dt << New Column( "domain_frequency_core", character );
dt << New Column( "Data" );
// Create the static part for the column domain_frequency_core
startString = "Data@" || Word( 1, :string_result[1], ":" );
// Read into a memory variable the entire string, minus the startString component
theString = Word( 2, :string_result[1], ":_" );
// Initialize the looping variables
outerLoop = 1;
theRow = 0;
// Loop through the major groupings in the data
While( Word( outerLoop, theString, "%" ) != "",
// Strip off the subpart of the string
majorWord = Word( outerLoop, theString, "%" );
// Get the second component of the start string
startStringSuffix = "@" || word(1,majorWord,"^") || "@";
// Initialize the inner loop value, starting with word 2
innerLoop=2;
// Loop through the subgroup finding each numeric component
While( word(innerLoop, majorWord, "^V") != "",
// Add a new row
if(theRow !=0, dt<<ADD rows=""></ADD>
<P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="txnelson_0-1712831359209.png" style="width: 668px;"><span class="lia-inline-image-display-wrapper" image-alt="txnelson_0-1712831359209.png" style="width: 668px;"><img src="https://us.v-cdn.net/6038925/uploads/images/63259i1123569D89D26136/txnelson_0-1712831359209.png" width="668" height="330" role="button" title="txnelson_0-1712831359209.png" alt="txnelson_0-1712831359209.png" /></span></SPAN></P>
<P> </P>Re: ¿Cómo analizo los datos en columnas y luego los apilo con múltiples caracteres especiales?Hola Jim,
Parece que no entiendes mis datos, el código que escribiste es el resultado.
Por favor ayuda a consultar la hoja "Datos brutos"

Salida esperada en la hoja "Datos después del análisis"

Gracias de antemano.
Re: ¿Cómo analizo los datos en columnas y luego los apilo con múltiples caracteres especiales?Aquí se muestra el script que tomará la tabla de datos original y dividirá una columna de destino para luego apilar los resultados. Dado que algunas de las columnas divididas están compuestas solo por datos de cadena y otras parecen ser valores numéricos, el apilamiento de todas las columnas probablemente no sea lo que desea.
Names Default To Here( 1 );
dt = Current Data Table();
targetCol = "domain_frequency_core";
// Text to columns
Data Table( "Book1 (4)_Sheet1" ) <<
Text to Columns( columns( Column( targetCol ) ), Delimiters( "@" ) );
// Get list of all target columns except original column
stackList = Filter Each( {name}, dt << get column names( string ),
Contains( name, targetCol ) & name != targetCol
);
// Stack the new columns
dt << Stack(
columns( stackList ),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Output Table( "Final Stacked Data Table" )
);
Tómese el tiempo necesario para estudiar el script. Todas las funciones y plataformas utilizadas están documentadas en el Índice de scripts y en las pantallas de ayuda de JMP.