Re: Filtro de datos: seleccionando todos cuando no hay un valor alternativo a donde no sea igual a la declaración (=!)Primero puede verificar si la condición se puede cumplir:
target rows = Current Data Table() << Get Rows Where( :Active != "X" );
If( N Row( target Rows ),
...
);
Re: Filtro de datos: seleccionando todos cuando no hay un valor alternativo a donde no sea igual a la declaración (=!)Solo comprobando: ¿por qué estás usando un objeto de filtro de datos? ¿El usuario tiene que interactuar por el bien del script?
Re: Filtro de datos: seleccionando todos cuando no hay un valor alternativo a donde no sea igual a la declaración (=!)No es necesario que el usuario se interconecte. Solo un código de robo para principiantes después de cada paso hecho manualmente y luego construir el código a partir de esos pasos. ¿Supongo que hay una mejor manera de seleccionar el subconjunto y crear la tabla de subconjuntos?
Re: Filtro de datos: seleccionando todos cuando no hay un valor alternativo a donde no sea igual a la declaración (=!)OK, en realidad hace que sus secuencias de comandos sean más fáciles. ¡Ninguna interacción humana molesta involucrada!
El mensaje de la tabla de datos << Seleccione Dónde (expresión booleana) lo hará todo por ti. La expresión booleana puede ser simple (por ejemplo, : Edad == 12 ) o complejo (por ejemplo, : Edad == 12 &: Sexo == "F" ). Cualquier función que devuelva un resultado que pueda interpretarse como booleano (es decir, 0 es falso, no 0 es verdadero) funcionará. Este requisito significa que puede usar funciones de consulta como Contiene (columna de origen, "destino") para objetivos literales o Regex (columna fuente, regex) para los patrones.
Después de seleccionar las filas que desee, envíe el << Subconjunto () Mensaje para extraer los datos.
Re: Filtro de datos: seleccionando todos cuando no hay un valor alternativo a donde no sea igual a la declaración (=!)Esto es muy útil. Gracias.
Terminé haciendo algo como lo siguiente.
Pregunta de scripting, ¿hay una mejor manera de hacerlo? ¿Como en que necesito el intermedio CLE_TL? ¿O simplemente puede ser dt << seleccionar donde << subconjunto en una línea? ¿Hay algún beneficio al crear ese objeto CLE_TL?
names default to here(1);
dt = current data table();
shipPlant = "CLE";
shipMode = "truckloads";
subsetTable = "CLE_truckloads";
//filter
CLE_TL = dt << select where(:TransportPlanningPt == shipPlant & :MODE == shipMode);
//subset
CLE_TL << Subset(
Output Table( subsetTable ),
Selected Rows( 1 ),
Selected columns only( 0 )
);
Re: Filtro de datos: seleccionando todos cuando no hay un valor alternativo a donde no sea igual a la declaración (=!)Nota rápida. Utilicé su sugerencia para ayudar con un análisis. A la siguiente. Es por eso que la codificación no coincide con la captura de pantalla.
Filtro de datos: seleccionar todo cuando no hay un valor alternativo a donde la declaración no es igual (=!)Buscando ayuda para comprender el comportamiento o una mejor manera de escribir esto.
Escribir un script para capturar excepciones en los datos. Cuando la versión es GP pero activa no es X.
Nombres predeterminados hasta aquí (1); dt = tabla de datos actual (); df = dt << Filtro de datos (Ubicación ({138, 181}), Agregar filtro (columnas (: Activo,: Versión), Dónde (: Activo! = "X"), Dónde (: Versión == "GP") ));Luego, el resto del script subconjusta esos datos y crea una tabla a partir de ese subconjunto.
El problema que encuentro es cuando todas las filas tienen Active == X. El filtro está seleccionando todas las filas. Supongo que es porque no está encontrando una alternativa a X que está en blanco (no falta). ¿Cuál es la mejor manera de manejar esto?
Resultado del código anterior: