Cuadro de diálogo emergente seleccionando el nombre de la columna<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola, estoy intentando crear un script donde el usuario ingresa el nombre de la columna en el cuadro de diálogo emergente y el script
1. subconjuntos de las filas con datos bajo el nombre de la columna y
2. crea una nueva columna que realiza alguna fórmula simple con el nombre de la columna que se ingresó.
No sé cómo hacerlo, así que codifiqué el nombre de la columna a continuación. ¿Cómo puedo reemplazar :XX01 de modo que, sin importar lo que ingrese el usuario en el cuadro de diálogo emergente, funcione? Tengo las columnas XX01, XX02, XX03, etc....
ventana emergente = cuadro de diálogo (
Título ("Tabla de resumen"),
" ",
" Ingrese Softbin XX:",
Alineación( 6,
"ID de Softbin",
Soft_Bin = editar número (01)
),
Botón( "Aceptar"),
Botón( "Cancelar")
);
masterdt << seleccione dónde (Falta(:XX01));
masterdt << Invertir selección de fila;
sbdt = masterdt << Subconjunto(( Filas seleccionadas ), Nombre de la tabla de salida ("Datos de Softbin seleccionados"));
sbdt << Nueva columna( "Bin%", Numérico, Continuo, Formato("Porcentaje",12,2), Fórmula( :XX01 / :LOT_SORTED_DIES ) );
Re: Cuadro de diálogo emergente para seleccionar el nombre de la columnaTienes razón, eres EM. Gracias por la corrección.
Re: Cuadro de diálogo emergente para seleccionar el nombre de la columnaGracias MS! Funciona ahora 
Re: Cuadro de diálogo emergente para seleccionar el nombre de la columnaCreo que la expresión funcionará si se analiza antes de evaluarla:
evaluar ( Analizar gramaticalmente (fórmula_expr));
Re: Cuadro de diálogo emergente para seleccionar el nombre de la columnaGracias PMroz, la ventana es realmente útil. Todo va bien excepto la parte Nueva columna.
No estoy seguro de qué hice mal, pero la oración de inserción de evaluación aún no funciona, aunque la expresión en el registro me parece bien:\
masterdt = Nueva tabla ("DT maestro", Agregar filas (5),
Nueva columna( "XX01", Numérica, Continua, Formato( "Mejor", 12),
Establecer valores ([1, 2,., 3, 4])
),
Nueva columna( "XX02", Numérica, Continua, Formato( "Mejor", 12),
Establecer valores ([., 1, 2, ., .])
),
Nueva columna( "XX03", Numérica, Continua, Formato( "Mejor", 12),
Establecer valores ([., ., 1, 2, 3])
),
Nueva columna ("LOT_SORTED_DIES", numérica, continua, formato ("Mejor", 12),
Establecer valores ([10, 10, 10, 20, 30])
)
);
popup = Nueva ventana( "Tabla de resumen", <
Cuadro de texto( "Ingrese Softbin XX:"),
H Cuadro de lista(
Cuadro de texto( "ID de Softbin: " ),
Soft_Bin = Cuadro de edición de números (01),
),
hlistbox(
Cuadro de botones( "Aceptar",
bandera_ok = 1;
ncol = soft_bin << obtener;
si (ncol < 9,
col_seleccionada = "XX0" || carbón(ncol);
,
col_seleccionada = "XX" || carbón(ncol);
)
),
Cuadro de botón( "Cancelar", ok_flag = 0 ),
)
);
Si( ok_flag,
Missing_rows = masterdt << obtener filas donde (! Falta (como columna (masterdt, selected_col)));
Si (N filas (faltantes_filas) > 0,
masterdt << seleccionar filas (faltantes_filas);
sbdt = masterdt << Subconjunto ((Filas seleccionadas), Nombre de la tabla de salida ("Datos de Softbin seleccionados"));
formula_expr = Evaluación Insertar(
"\[sbdt << Nueva columna( "Bin%", Numérico, Continuo, Formato( "Porcentaje", 12, 2), Fórmula( :^selected_col^ / :LOT_SORTED_DIES ) )]\"
);
Analizar (Eval (fórmula_expr));
);
);
Re: Cuadro de diálogo emergente para seleccionar el nombre de la columnaEsto hará lo que quieras.Convertí tu código para usar una nueva ventana en lugar de un diálogo.Tuve que hacer un análisis (eval()) para la fórmula de la columna.
maestro = Nueva mesa ( "Maestro DT" , Agregar filas ( 5 ) ,
Nueva columna ( "XX01" , Numérico , Continuo , Formato ( "Mejor" , 12 ) ,
Establecer valores ( [ 1 , 2 , . , 3 , 4 ] )
) ,
Nueva columna ( "XX02" , Numérico , Continuo , Formato ( "Mejor" , 12 ) ,
Establecer valores ( [ . , 1 , 2 , . , . ] )
) ,
Nueva columna ( "XX03" , Numérico , Continuo , Formato ( "Mejor" , 12 ) ,
Establecer valores ( [ . , . , 1 , 2 , 3 ] )
)
) ;
surgir = Nueva ventana ( "Tabla de resumen" , << modal () ,
Caja de texto ( "Ingrese Softbin XX:" ) ,
Cuadro de lista H (
Caja de texto ( "ID de Softbin:" ) ,
Papelera suave = Cuadro de edición de números ( 01 ) ,
) ,
cuadro de lista h (
Caja de botones ( "De acuerdo" ,
ok_flag = 1 ;
ncol = bin_soft << conseguir ;
si ( ncol < 9 ,
col_seleccionada = "XX0" || carbonizarse ( ncol ) ;
,
col_seleccionada = "XX" || carbonizarse ( ncol ) ;
)
) ,
Caja de botones ( "Cancelar" , ok_flag = 0 ) ,
)
) ;
Si ( ok_flag ,
filas_faltantes = maestro << obtener filas donde ( ! Está perdido ( como columna ( maestro , col_seleccionada ) ) ) ;
Si ( N filas ( filas_faltantes ) > 0 ,
maestro << seleccionar filas ( filas_faltantes ) ;
sbdt = maestro << Subconjunto ( ( Filas seleccionadas ) , Nombre de la tabla de salida ( "Datos de Softbin seleccionados" ) ) ;
fórmula_expr = Insertar evaluación (
"\[sbdt << Nueva columna( "Bin%", Numérico, Continuo, Formato( "Porcentaje", 12, 2), Fórmula( :^selected_col^ / :LOT_SORTED_DIES ) )]\"
) ;
Analizar gramaticalmente ( evaluar ( fórmula_expr ) ) ;
) ;
) ;