recorrer los nombres de las columnas que tienen la misma cadena y crear un subconjuntoHola,
Tengo una tabla JMP "Hoja 1" con 300 columnas. Estoy tratando de crear un subconjunto para todas las mismas columnas que tiene una cadena en el nombre de la columna como "Ahu1" y luego hago cambios en esos subconjuntos como agregar las columnas, actualizarlas y generar gráficos y finalmente guardarlos en una carpeta. Pude escribir el guión de "Ahu1". Pero tengo que hacer lo mismo con todos los demás "Ahu". Quiero que este proceso se repita para otros nombres de columna que contengan picaduras: que son Ahu2,Ahu3,Ahu4,Ahu5,Ahu6...Ahu52. ¿Cómo hacer esto en un bucle for?
El guión está abajo.
original_dt = Current Data Table();
Data Table( "Sheet1" ) << Subset(
Output Table( "Ahu1", link to original data table( 0 ) ),
All rows,
columns(
:Timestamp,
:donSteedOccupancy,
:Name( "Raeford, NC Temp" ),
:DonSteedES Ahu1 ClgVlvCmd,
:DonSteedES Ahu1 HtgVlvCmd,
:DonSteedES Ahu1 DaT,
:DonSteedES Ahu1 SaFanCmd,
:DonSteedES Ahu1 ZnT,
:DonSteedES Ahu1 ZnTStpt
)
);
Ahu1_dt = Data Table( "Ahu1" );
Ahu1_dt << New Column( "Occupancy",
character,
Nominal,
Formula( Munger( :donSteedOccupancy, Length( :donSteedOccupancy ) - 4, Length( :donSteedOccupancy ) ) )
);
Column( "Occupancy" ) << delete formula;
Ahu1_dt << delete columns( "donSteedOccupancy" );
Ahu1_dt << New Column( "SaFanCmd",
character,
Nominal,
Formula(
Munger(
:DonSteedES Ahu1 SaFanCmd,
Length( :DonSteedES Ahu1 SaFanCmd ) - 4,
Length( :DonSteedES Ahu1 SaFanCmd )
)
)
);
Column( "SaFanCmd" ) << delete formula;
Ahu1_dt << delete columns( "DonSteedES Ahu1 SaFanCmd" );
Ahu1_dt << Column( "Occupancy" );
For Each Row( :Occupancy = Match( :Occupancy, " 1min", " 1", " 0min", " 0", :Occupancy ) );
Column( "Occupancy" ) << Data type( character ) << Set Data Type( Numeric );
Ahu1_dt << Column( "SaFanCmd" );
For Each Row( :SaFanCmd = Match( :SaFanCmd, " 1min", " 1", " 0min", " 0", :SaFanCmd ) );
Column( "SaFanCmd" ) << Data type( character ) << Set Data Type( Numeric );
Ahu1_dt:DonSteedES Ahu1 ClgVlvCmd << Format( "percent" );
Ahu1_dt:DonSteedES Ahu1 HtgVlvCmd << Format( "percent" );
Column( "SaFanCmd" ) << Modeling type( continuous );
optstartgraph = Ahu1_dt << Graph Builder(
Size( 1377, 923 ),
Variables(
X( :Timestamp ),
Y( :DonSteedES Ahu1 ClgVlvCmd ),
Y( :DonSteedES Ahu1 HtgVlvCmd, Position( 1 ) ),
Y( :Name( "Raeford, NC Temp" ) ),
Y( :DonSteedES Ahu1 DaT, Position( 2 ) ),
Y( :DonSteedES Ahu1 ZnT, Position( 2 ) ),
Y( :DonSteedES Ahu1 ZnTStpt, Position( 2 ) ),
Y( :SaFanCmd, Position( 2 ), Side( "Right" ) ),
Color( :Occupancy )
),
Elements( Position( 1, 1 ), Line( X, Y( 1 ), Y( 2 ), Color( 0 ), Legend( 5 ) ), Heatmap( X, Legend( 8 ) ) ),
Elements(
Position( 1, 2 ),
Line( X, Y( 1 ), Y( 2 ), Y( 3 ), Y( 4 ), Color( 0 ), Legend( 6 ) ),
Line( X, Y( 5 ), Color( 0 ), Legend( 7 ) ),
Heatmap( X, Legend( 9 ) )
),
SendToReport(
Dispatch( {"Line[DonSteedES Ahu1 ClgVlvCmd...]"}, "", OutlineBox, {Close( 0 )} ),
Dispatch( {"Heatmap[DonSteedES Ahu1 ClgVlvCmd...]"}, "", OutlineBox, {Close( 0 )} ),
Dispatch( {"Line[Raeford, NC Temp...]"}, "", OutlineBox, {Close( 0 )} ),
Dispatch( {"Line[SaFanCmd] (right)"}, "", OutlineBox, {Close( 0 )} ),
Dispatch( {"Heatmap[Raeford, NC Temp...]"}, "", OutlineBox, {Close( 0 )} ),
Dispatch(
{},
"Timestamp",
ScaleBox,
{Min( 3537633600 ), Max( 3538263600 ), Interval( "Hour" ), Inc( 1 ), Minor Ticks( 0 ),
Label Row( Label Orientation( "Angled" ) )}
),
Dispatch( {}, "DonSteedES Ahu1 ClgVlvCmd", ScaleBox, {Min( 0 )} ),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
8,
Properties(
0,
{Transparency( 0.35 ), gradient(
{Color Theme(
{"mine", 16387, {{79, 16, 79}, {119, 0, 119}, {42, 63, 255}, {0, 170, 170}, {0, 227,
0}, {221, 221, 0}, {238, 119, 0}, {252, 11, 11}, {158, 33, 33}}, {0,
0.193732193732194, 0.2, 0.495726495726496, 0.501424501424502, 0.507122507122507,
0.943019943019943, 0.95, 0.954415954415954}}
)}
)}
)
), Legend Model(
9,
Properties(
0,
{Transparency( 0.35 ), gradient(
{Color Theme(
{"mine", 16387, {{79, 16, 79}, {119, 0, 119}, {42, 63, 255}, {0, 170, 170}, {0, 227,
0}, {221, 221, 0}, {238, 119, 0}, {252, 11, 11}, {158, 33, 33}}, {0,
0.193732193732194, 0.2, 0.495726495726496, 0.501424501424502, 0.507122507122507,
0.943019943019943, 0.95, 0.954415954415954}}
)}
)}
)
)}
),
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {5, [0, 1], 8, [2], 6, [-3, -3, 4, 5], 7, [-3], 9, [3]} ),
Position( {0, 1, 2, -3, -3, 4, 5, -3, 3} )}
)
)
);
optstartgraph << Save Picture( "C:\Projects\Projects\Hoke\Year 1\Jmp\Year 0\DonSteed\Feb16\Ahu1.jpg", "JPG" );
optstartgraph << close window;
Por favor, ayúdame.
Gracias.
Re: recorrer los nombres de las columnas que tienen la misma cadena y crear un subconjunto@txnelson Muchas gracias .
¡¡esta funcionando!!
@uday_guntupalli ¡Agradezco su ayuda también! 
Re: recorrer los nombres de las columnas que tienen la misma cadena y crear un subconjuntoAquí hay una versión de su código que recorrerá los 50 conjuntos de columnas de Ahu.Vea los comentarios en la secuencia de comandos sobre lo que se hizo para hacer posible el bucle.
Names Default To Here( 1 );
original_dt = Data Table( "Sheet1" );
// Loop across all 50 Ahu column sets
// The number of column sets could be programatically determined
// if desired
For( i = 1, i <= 50, i++,
// Set the Ahu version to be used
targetAhu = "Ahu" || Char( i );
// Create the subsetted data table, naming it by the
// name of the current Ahu version
Ahu_dt = original_dt << Subset(
Output Table( targetAhu, link to original data table( 0 ) ),
All rows,
columns(
original_dt:Timestamp,
original_dt:donSteedOccupancy,
original_dt:Name( "Raeford, NC Temp" ),
Column( original_dt, "DonSteedES " || targetAhu || " ClgVlvCmd" ),
Column( original_dt, "DonSteedES " || targetAhu || " HtgVlvCmd" ),
Column( original_dt, "DonSteedES " || targetAhu || " DaT" ),
Column( original_dt, "DonSteedES " || targetAhu || " SaFanCmd" ),
Column( original_dt, "DonSteedES " || targetAhu || " ZnT" ),
Column( original_dt, "DonSteedES " || targetAhu || " ZnTStpt" )
)
);
// no need for this statement, since it is set when the data table is created
//Ahu_dt = Data Table( targetAhu );
// No changes needed here, except for pointing to the current Ahu data table
Ahu_dt << New Column( "Occupancy",
character,
Nominal,
Formula( Munger( :donSteedOccupancy, Length( :donSteedOccupancy ) - 4, Length( :donSteedOccupancy ) ) )
);
Column( Ahu_dt, "Occupancy" ) << delete formula;
Ahu_dt << delete columns( "donSteedOccupancy" );
// This section of code has required changes embedded within a formula
// JMP will not resolve the code properly and therefore, Substitution
// is required to force the generation of the exact code required for
// the formula
Eval(
Substitute(
Expr(
Ahu_dt << New Column( "SaFanCmd",
character,
Nominal,
Formula( Munger( __SaFanCmd__, Length( __SaFanCmd__ ) - 4, Length( __SaFanCmd__ ) ) )
)
),
Expr( __SaFanCmd__ ), Parse( ":DonSteedES " || targetAhu || " SaFanCmd" )
)
);
Column( Ahu_dt, "SaFanCmd" ) << delete formula;
// Minor changes, just making sure the current target data table is being
// pointed to
Ahu_dt << delete columns( "DonSteedES " || targetAhu || " SaFanCmd" );
Ahu_dt << Column( "Occupancy" );
For Each Row( ahu_dt:Occupancy = Match( Ahu_dt:Occupancy, " 1min", " 1", " 0min", " 0", Ahu_dt:Occupancy ) );
// I don't understand this next line of code....changing to character and then changing to numeric
// unless you are using JMP to get rid of non numeric data
Column( ahu_dt, "Occupancy" ) << Data type( character ) << Set Data Type( Numeric );
Ahu_dt << Column( "SaFanCmd" );
For Each Row( ahu_dt:SaFanCmd = Match( ahu_dt:SaFanCmd, " 1min", " 1", " 0min", " 0", ahu_dt:SaFanCmd ) );
Column( ahu_dt, "SaFanCmd" ) << Data type( character ) << Set Data Type( Numeric );
Column( Ahu_dt, "DonSteedES " || targetAhu || " ClgVlvCmd" ) << Format( "percent" );
Column( Ahu_dt, "DonSteedES " || targetAhu || " HtgVlvCmd" ) << Format( "percent" );
Column( Ahu_dt, "SaFanCmd" ) << Modeling type( continuous );
// The Graph Builder Platform has a few places where code will not be resolved, and therefore
// once again Substitution() is what is needed to make it work
Eval(
Substitute(
Expr(
optstartgraph = Ahu_dt << Graph Builder(
Size( 1377, 923 ),
Variables(
X( :Timestamp ),
Y( Column( Ahu_dt, "DonSteedES " || targetAhu || " ClgVlvCmd" ) ),
Y( Column( Ahu_dt, "DonSteedES " || targetAhu || " HtgVlvCmd" ), Position( 1 ) ),
Y( :Name( "Raeford, NC Temp" ) ),
Y( Column( Ahu_dt, "DonSteedES " || targetAhu || " DaT" ), Position( 2 ) ),
Y( Column( Ahu_dt, "DonSteedES " || targetAhu || " ZnT" ), Position( 2 ) ),
Y( Column( Ahu_dt, "DonSteedES " || targetAhu || " ZnTStpt" ), Position( 2 ) ),
Y( :SaFanCmd, Position( 2 ), Side( "Right" ) ),
Color( :Occupancy )
),
Elements( Position( 1, 1 ), Line( X, Y( 1 ), Y( 2 ), Color( 0 ), Legend( 5 ) ), Heatmap( X, Legend( 8 ) ) ),
Elements(
Position( 1, 2 ),
Line( X, Y( 1 ), Y( 2 ), Y( 3 ), Y( 4 ), Color( 0 ), Legend( 6 ) ),
Line( X, Y( 5 ), Color( 0 ), Legend( 7 ) ),
Heatmap( X, Legend( 9 ) )
),
SendToReport(
Dispatch( {__LineClgVlvCmd__}, "", OutlineBox, {Close( 0 )} ),
Dispatch( {__HeatmapClgVlvCmd__}, "", OutlineBox, {Close( 0 )} ),
Dispatch( {"Line[Raeford, NC Temp...]"}, "", OutlineBox, {Close( 0 )} ),
Dispatch( {"Line[SaFanCmd] (right)"}, "", OutlineBox, {Close( 0 )} ),
Dispatch( {"Heatmap[Raeford, NC Temp...]"}, "", OutlineBox, {Close( 0 )} ),
Dispatch(
{},
"Timestamp",
ScaleBox,
{Min( 3537633600 ), Max( 3538263600 ), Interval( "Hour" ), Inc( 1 ), Minor Ticks( 0 ),
Label Row( Label Orientation( "Angled" ) )}
),
Dispatch( {}, "DonSteedES " || targetAhu || " ClgVlvCmd", ScaleBox, {Min( 0 )} ),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
8,
Properties(
0,
{Transparency( 0.35 ), gradient(
{Color Theme(
{"mine", 16387, {{79, 16, 79}, {119, 0, 119}, {42, 63, 255}, {0, 170, 170}, {0, 227, 0}, {221, 221, 0
}, {238, 119, 0}, {252, 11, 11}, {158, 33, 33}}, {0, 0.193732193732194, 0.2, 0.495726495726496,
0.501424501424502, 0.507122507122507, 0.943019943019943, 0.95, 0.954415954415954}}
)}
)}
)
), Legend Model(
9,
Properties(
0,
{Transparency( 0.35 ), gradient(
{Color Theme(
{"mine", 16387, {{79, 16, 79}, {119, 0, 119}, {42, 63, 255}, {0, 170, 170}, {0, 227, 0}, {221, 221, 0
}, {238, 119, 0}, {252, 11, 11}, {158, 33, 33}}, {0, 0.193732193732194, 0.2, 0.495726495726496,
0.501424501424502, 0.507122507122507, 0.943019943019943, 0.95, 0.954415954415954}}
)}
)}
)
)}
),
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {5, [0, 1], 8, [2], 6, [-3, -3, 4, 5], 7, [-3], 9, [3]} ), Position(
{0, 1, 2, -3, -3, 4, 5, -3, 3}
)}
)
)
)
),
Expr( __LineClgVlvCmd__ ), "Line[DonSteedES " || targetAhu || " ClgVlvCmd...]",
Expr( __HeatmapClgVlvCmd__ ), "Heatmap[DonSteedES " || targetAhu || " ClgVlvCmd...]"
)
);
// Save the current graphic, replacing the jpg name with the current target Ahu version
optstartgraph << Save Picture( "C:\Projects\Projects\Hoke\Year 1\Jmp\Year 0\DonSteed\Feb16\" || targetAhu || ".jpg", "JPG" );
optstartgraph << close window;
// You can also close the current target data table if you want
close( dt_Ahu, no save );
); // End of For LoopRe: recorrer los nombres de las columnas que tienen la misma cadena y crear un subconjunto@himajafeb8 ,
En este punto, no pude hacerlo funcionar. Me pondré en contacto con support@jmp.com.
Re: recorrer los nombres de las columnas que tienen la misma cadena y crear un subconjunto@uday_guntupalli
Eso no funciona. ¿Tienes alguna otra forma de hacerlo?
Gracias
Re: recorrer los nombres de las columnas que tienen la misma cadena y crear un subconjunto@himajafeb8 ,
Si intentara algo como esto: esencialmente use expresiones regulares para intentar hacer coincidir Ahu en un bucle cada vez, pero edite las condiciones para incrementar de 1 a n, creo que funcionaría. No tengo un ejemplo de trabajo. Intentaré un poco más en el frente de expresiones regulares
dt_Raw = Current Data Table();
ColNames = dt_Raw << Get Column Names("String");
RegexToMatch = "^(a|A)hu[0-9]$";
for(i = 1 , i <= N Items(ColNames), i++,
If(!IsMissing(Regex(Char(ColNames[i]),RegexToMatch)),
Col = Column(dt_Raw,i);
Col << Set Selected(1);
);
);Re: recorrer los nombres de las columnas que tienen la misma cadena y crear un subconjunto@uday_guntupalli
Adjunto los datos de ejemplo.
Re: recorrer los nombres de las columnas que tienen la misma cadena y crear un subconjunto@himajafeb8 ,
¿Puede compartir una muestra de sus datos?
Re: recorrer los nombres de las columnas que tienen la misma cadena y crear un subconjunto@uday_guntupalli Gracias por todas las sugerencias. Lo tendré en cuenta antes de publicar nada.
He publicado mi código a continuación y está funcionando absolutamente bien. Pero necesito ejecutar este código en un bucle.
Tengo mi tabla de datos original "Hoja 1". Tiene 300 columnas como ("Timestamp", "donsteedOccupancy", "Name("Raeford, NC Temp")", "x Ahu1 y", "x Ahu1 z" , "x Ahu1 m" ,..."x Ahu2 y" , "x Ahu2 z" , "x Ahu2 m"......."x Ahu70 y" , "x Ahu70 z" , "x Ahu70 m".
Quiero crear un subconjunto de la tabla de datos principal con las primeras 3 columnas ("Timestamp", "donsteedOccupancy", "Name("Raeford, NC Temp")") y también todos los nombres de las columnas que consisten "Ahu1" a una nueva tabla de datos y realice varias acciones como mencioné en el código (crear columnas adicionales, eliminar columnas, cambiar las propiedades de la columna y generar un gráfico).
Básicamente, en este código donde hay "Ahu1", debe reemplazarse por "Ahu [i]" y ejecutarse en el bucle.
Quiero hacer algo como esto.
For( i=0; i<= 52, i++
Data Table("Sheet1") << subset(
Output table( "Ahu[i]"),
columns(Timestamp,..., "x Ahu[i] y" , "x Ahu[i] z" , "x Ahu[i] m"));
Ahu[i]_dt= Data Table("Ahu[i]");
.
.
.
Close( Ahu[i]_dt, save("Ahu[i].jmp") );
Todos los campos en el código que tiene "Ahu1" deben ser reemplazados por "Ahu[i]"
Gracias por la ayuda.
original_dt = Current Data Table();
/* Sheet 1 is my original data table. I am creating a subset from original sheet which has column names as : Timestamp,donsteedOccupancy, Name( "Raeford, NC Temp" )
and all the columns which has a string "Ahu1". I am naming this output table as Ahu1.*/
Data Table( "Sheet1" ) << Subset(
Output Table( "Ahu1", link to original data table( 0 ) ),
All rows,
columns(
:Timestamp,
:donSteedOccupancy,
:Name( "Raeford, NC Temp" ),
:DonSteedES Ahu1 ClgVlvCmd,
:DonSteedES Ahu1 HtgVlvCmd,
:DonSteedES Ahu1 DaT,
:DonSteedES Ahu1 SaFanCmd,
:DonSteedES Ahu1 ZnT,
:DonSteedES Ahu1 ZnTStpt
)
);
/* Assigning the output data table to "Ahu1_dt" */
Ahu1_dt = Data Table( "Ahu1" );
/* Creating new columns called "Occupancy and SafanCmd" with formula's and deleting the formula link and also the original column's */
Ahu1_dt << New Column( "Occupancy",
character,
Nominal,
Formula( Munger( :donSteedOccupancy, Length( :donSteedOccupancy ) - 4, Length( :donSteedOccupancy ) ) )
);
Column( "Occupancy" ) << delete formula;
Ahu1_dt << delete columns( "donSteedOccupancy" );
Ahu1_dt << New Column( "SaFanCmd",
character,
Nominal,
Formula( Munger( :DonSteedES Ahu1 SaFanCmd, Length( :DonSteedES Ahu1 SaFanCmd ) - 4, Length( :DonSteedES Ahu1 SaFanCmd ) ) )
);
Column( "SaFanCmd" ) << delete formula;
Ahu1_dt << delete columns( "DonSteedES Ahu1 SaFanCmd" );
/* Using Recode to change values for columns "Occupancy and SaFanCmd " and also changing the column Data Types*/
Ahu1_dt << Column( "Occupancy" );
For Each Row( :Occupancy = Match( :Occupancy, " 1min", " 1", " 0min", " 0", :Occupancy ) );
Column( "Occupancy" ) << Data type( character ) << Set Data Type( Numeric );
Ahu1_dt << Column( "SaFanCmd" );
For Each Row( :SaFanCmd = Match( :SaFanCmd, " 1min", " 1", " 0min", " 0", :SaFanCmd ) );
Column( "SaFanCmd" ) << Data type( character ) << Set Data Type( Numeric );
/* Changing Format for the column's "DonSteedES Ahu1 ClgVlvCmd" and "Ahu1_dt:DonSteedES Ahu1 HtgVlvCmd" */
Ahu1_dt:DonSteedES Ahu1 ClgVlvCmd << Format( "percent" );
Ahu1_dt:DonSteedES Ahu1 HtgVlvCmd << Format( "percent" );
/* Changing Modeling type for the column : SaFanCmd */
Column( "SaFanCmd" ) << Modeling type( continuous );
/* Generating a Graph using Graph Builder for "Ahu1_dt" and assigning it to a object called "optstartgraph" .*/
optstartgraph = Ahu1_dt << Graph Builder(
Size( 1377, 923 ),
Variables(
X( :Timestamp ),
Y( :DonSteedES Ahu1 ClgVlvCmd ),
Y( :DonSteedES Ahu1 HtgVlvCmd, Position( 1 ) ),
Y( :Name( "Raeford, NC Temp" ) ),
Y( :DonSteedES Ahu1 DaT, Position( 2 ) ),
Y( :DonSteedES Ahu1 ZnT, Position( 2 ) ),
Y( :DonSteedES Ahu1 ZnTStpt, Position( 2 ) ),
Y( :SaFanCmd, Position( 2 ), Side( "Right" ) ),
Color( :Occupancy )
),
Elements( Position( 1, 1 ), Line( X, Y( 1 ), Y( 2 ), Color( 0 ), Legend( 5 ) ), Heatmap( X, Legend( 8 ) ) ),
Elements(
Position( 1, 2 ),
Line( X, Y( 1 ), Y( 2 ), Y( 3 ), Y( 4 ), Color( 0 ), Legend( 6 ) ),
Line( X, Y( 5 ), Color( 0 ), Legend( 7 ) ),
Heatmap( X, Legend( 9 ) )
),
SendToReport(
Dispatch( {"Line[DonSteedES Ahu1 ClgVlvCmd...]"}, "", OutlineBox, {Close( 0 )} ),
Dispatch( {"Heatmap[DonSteedES Ahu1 ClgVlvCmd...]"}, "", OutlineBox, {Close( 0 )} ),
Dispatch( {"Line[Raeford, NC Temp...]"}, "", OutlineBox, {Close( 0 )} ),
Dispatch( {"Line[SaFanCmd] (right)"}, "", OutlineBox, {Close( 0 )} ),
Dispatch( {"Heatmap[Raeford, NC Temp...]"}, "", OutlineBox, {Close( 0 )} ),
Dispatch(
{},
"Timestamp",
ScaleBox,
{Min( 3537633600 ), Max( 3538263600 ), Interval( "Hour" ), Inc( 1 ), Minor Ticks( 0 ), Label Row( Label Orientation( "Angled" ) )}
),
Dispatch( {}, "DonSteedES Ahu1 ClgVlvCmd", ScaleBox, {Min( 0 )} ),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
8,
Properties(
0,
{Transparency( 0.35 ), gradient(
{Color Theme(
{"mine", 16387, {{79, 16, 79}, {119, 0, 119}, {42, 63, 255}, {0, 170, 170}, {0, 227, 0}, {221, 221, 0}, {238, 119, 0},
{252, 11, 11}, {158, 33, 33}}, {0, 0.193732193732194, 0.2, 0.495726495726496, 0.501424501424502, 0.507122507122507,
0.943019943019943, 0.95, 0.954415954415954}}
)}
)}
)
), Legend Model(
9,
Properties(
0,
{Transparency( 0.35 ), gradient(
{Color Theme(
{"mine", 16387, {{79, 16, 79}, {119, 0, 119}, {42, 63, 255}, {0, 170, 170}, {0, 227, 0}, {221, 221, 0}, {238, 119, 0},
{252, 11, 11}, {158, 33, 33}}, {0, 0.193732193732194, 0.2, 0.495726495726496, 0.501424501424502, 0.507122507122507,
0.943019943019943, 0.95, 0.954415954415954}}
)}
)}
)
)}
),
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {5, [0, 1], 8, [2], 6, [-3, -3, 4, 5], 7, [-3], 9, [3]} ), Position( {0, 1, 2, -3, -3, 4, 5, -3, 3} )}
)
)
);
/*Saving the object in jpg format to a specfied file location. */
optstartgraph << Save Picture( "C:\Projects\Projects\Hoke\Year 1\Jmp\Year 0\DonSteed\Feb16\Ahu1.jpg", "JPG" );
/* Closing the object */
optstartgraph << close window;
/* close and save the data table "Ahu1_dt" */
Close( Ahu1_dt, save("C:\Projects\Projects\Hoke\Year 1\Jmp\Year 0\DonSteed\Feb16\Ahu1.jmp") );
Re: recorrer los nombres de las columnas que tienen la misma cadena y crear un subconjunto@himajafeb8 ,
Un par de sugerencias,
1. Cuando comparta código, utilice la opción "Insertar secuencia de comandos JSL" o "Insertar código", de modo que el código esté formateado para permitir que otros lean fácilmente lo que está compartiendo.
2. Desglose su problema y explique qué parte del código realmente le está dando problemas.
Siguiendo su título, creo que hacer algo como lo siguiente funcionaría. Sin embargo, si tiene más preguntas, le rogamos que las desglose:
Clear Log(); Clear Globals();
// Open Sample Data
dt = Open( "$SAMPLE_DATA/Football.jmp" );
// Get Column Names
ColNames = dt << Get Column Names("String");
// Select Desired Columns
DesTerm = "Speed";
DesCols = {}; // Initialize empty list to store selected columns
for(i = 1 , i <= N Items(ColNames), i++,
If(Contains(ColNames[i],DesTerm),
Insert Into(DesCols,i);
Col = Column(dt,i);
Col << Set Selected(1);
);
);
// Subset
dt1 = dt << Subset(Selected Rows(0),Selected Columns(1));