Ri: Filtro dati - Selezione di tutto quando non c'è alcun valore alternativo a dove non è uguale istruzione (=!)Puoi prima verificare se la condizione può essere soddisfatta:
target rows = Current Data Table() << Get Rows Where( :Active != "X" );
If( N Row( target Rows ),
...
);
Ri: Filtro dati - Selezione di tutto quando non c'è alcun valore alternativo a dove non è uguale istruzione (=!)Solo controllando: perché stai usando un oggetto filtro dati? L'utente deve interagire nell'interesse della sceneggiatura?
Ri: Filtro dati - Selezione di tutto quando non c'è alcun valore alternativo a dove non è uguale istruzione (=!)Non c'è bisogno che l'utente si interfaccia. Solo un principiante che ruba il codice dopo ogni passaggio fatto manualmente e quindi costruendo il codice da quei passaggi. Presumo che ci sia un modo migliore per selezionare il sottoinsieme e creare la tabella dei sottoinsiemi?
Ri: Filtro dati - Selezione di tutto quando non c'è alcun valore alternativo a dove non è uguale istruzione (=!)OK, rende in realtà più facile lo scripting. Nessuna fastidiosa interazione umana coinvolta!
Il messaggio della tabella di dati << Seleziona dove (espressione booleana) farà tutto per te. L'espressione booleana può essere semplice (es : Età == 12 ) o complesso (es. : Età == 12 e: Sesso == "F" ). Funzionerà qualsiasi funzione che restituisca un risultato che può essere interpretato come un booleano (cioè 0 è falso, non 0 è vero). Questo requisito significa che è possibile utilizzare le funzioni di query come Contiene (colonna di origine, "obiettivo") per obiettivi letterali o Regex (colonna di origine, regex) per motivi.
Dopo aver selezionato le righe che vuoi, quindi inviare il << Sottoinsieme () messaggio per estrarre i dati.
Ri: Filtro dati - Selezione di tutto quando non c'è alcun valore alternativo a dove non è uguale istruzione (=!)Questo è molto utile. Grazie.
Ho finito per fare qualcosa di simile al seguente.
Domanda di scripting, c'è un modo migliore di farlo? Come ho avuto bisogno del CLE_TL intermedio? O può essere semplicemente dt << selezionare dove << sottoinsieme su una riga? C'è un vantaggio nel creare quell'oggetto 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 )
);
Ri: Filtro dati - Selezione di tutto quando non c'è alcun valore alternativo a dove non è uguale istruzione (=!)Nota rapida Ho usato il tuo suggerimento per aiutare con un'analisi. Verso il prossimo. Ecco perché la codifica non corrisponde allo screenshot.
Filtro dati: selezionare tutto quando non esiste un valore alternativo a dove non corrisponde un'istruzione (=!)In cerca di aiuto per capire il comportamento o un modo migliore per scrivere questo.
Scrivere uno script per rilevare le eccezioni nei dati. Quando la versione è GP ma attiva non è X.
Nomi predefiniti qui (1); dt = Current Data Table (); df = dt << Filtro dati (Posizione ({138, 181}), Aggiungi filtro (colonne (: Attivo,: Versione), Dove (: Attivo! = "X"), Dove (: Versione == "GP") ));Quindi il resto dello script esegue il sottoinsieme di tali dati e crea un tabulato da quel sottoinsieme.
Il problema che sto riscontrando è quando tutte le righe hanno Active == X. Il filtro sta selezionando tutte le righe. Suppongo sia perché non sta trovando un'alternativa a X che è vuota (non mancante). Qual è il modo migliore per gestirlo?
Risultato del codice sopra: