dt: imagen - ¿falta?¿Cuál es la forma correcta de comprobar si falta una imagen en una tabla de datos?
... y ¿por qué hay una diferencia entre la fórmula de la columna y la pregunta JSL?
falta(:mascota[5])
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
dt[[4],"pet"]=.;
New Column( "is missing",Formula( Is Missing( :pet ) ));
New Column( "is empty", Formula( Is Empty( :pet ) ));
New Column( "is number",Formula( Is Number( :pet ) ));
New Column( "is expr",Formula( Is expr( :pet ) ));
write("is missing:");
Show(is missing(:pet[4]));
Try(Show(is missing(:pet[5])), Print("is missing: error with existing image"));
write("\!n\!nis empty");
Show(is empty(:pet[4]));
Show(is empty(:pet[5]));
write("\!n\!nis number");
Show(is number(:pet[4]));
Show(is number(:pet[5]));
write("\!n\!nis expr");
Show(is expr(:pet[4]));
Show(is expr(:pet[5]));Automatización y secuencias de comandosCombinación y limpieza de datosRe: dt: ¿falta la imagen?Puede ser un desastre en JMP verificar si los objetos están vacíos, faltantes, nulos, ninguno, no tienen elementos y muy rápidamente terminará en una situación que requiere múltiples comprobaciones para evitar diferentes tipos de errores. He creado un elemento de la lista de deseos para que tenga algún tipo de función universal. ¿Ninguno? para comprobar si los objetos/variables/... están vacíos/faltan
Agregue una función que se puede usar universalmente para verificar si el objeto/variable está vacío/falta
Re: dt: ¿falta la imagen?La función isMissing() me resulta difícil de usar. No hace lo que quiero que haga cuando su argumento no es un número, o tal vez una cadena. Prueba esto:
is number(:pet[5]) & is missing(:pet[5])
Re: dt: ¿falta la imagen?Y una mejor respuesta para la pregunta real:
New Column( "type",Formula( type( :pet ) ));
type(pet[5])
El tipo en su ejemplo es "Imagen" o "Número".
Y la otra pregunta: es probable que la fórmula de la columna genere un valor de cadena para la expresión. Puedes usar isMissing en una cadena. Puedes hacer que el JSL se comporte de la misma manera, así:
row()=5;ismissing(:pet)