<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao,
Utilizzando l'esempio seguente, come potrei filtrare tutti i nomi che iniziano con "M"
È possibile usare "mi piace" o qualcosa di simile?
Filtro dati( Aggiungi filtro(
colonne( :nome ),
Where( :name like M* ) /// Non funziona ovviamente!
),
Grazie per il tuo aiuto
open("$sample_data\Big class.jmp");
Costruttore di grafici(
Taglia (454, 472),
Mostra Pannello di controllo( 0 ),
Variabili( X( :età ), Y( :peso ), Y( :altezza ), Sovrapposizione( :nome ) ),
Elementi( Posizione( 1, 1 ), Punti( X, Y, Legenda( 3 ), Jitter( 1 ) ) ),
Elementi( Posizione( 1, 2 ), Punti( X, Y, Legenda( 4 ), Jitter( 1 ) ) )
);
Sfortunatamente, il filtro dati in JMP non supporta corrispondenze parziali di stringhe. È necessario corrispondere a valori interi.
Tuttavia, puoi trovare tutti i valori che corrispondono alla stringa parziale e quindi utilizzare tale elenco nella chiamata al filtro dati.
dt = aperto ( "$dati_campione\Classe grande.jmp" ) ;
Costruttore di grafici (
Misurare ( 454 , 472 ) ,
Mostra Pannello di controllo ( 0 ) ,
Variabili ( X ( : età ) , Y ( : peso ) , Y ( : altezza ) , Sovrapposizione ( : nome ) ) ,
Elementi ( Posizione ( 1 , 1 ) , Punti ( X , Y , Leggenda ( 3 ) , Jitter ( 1 ) ) ) ,
Elementi ( Posizione ( 1 , 2 ) , Punti ( X , Y , Leggenda ( 4 ) , Jitter ( 1 ) ) )
) ;
//crea un elenco di nomi univoci
riassumere ( lista dei nomi = di ( : nome )) ;
//crea una matrice per contenere le posizioni delle stringhe che corrispondono al tuo modello
X = [] ;
// esegue un ciclo sull'elenco di nomi che memorizzano le corrispondenze in x
Per ( io = 1 , io <= N articoli ( lista dei nomi ) , io ++,
Se ( Inizia con ( lista dei nomi [ io ] , "M" ) ,
// "|/" è l'operatore concat verticale della matrice
X = X |/ io ;
)
) ;
dt << Filtro dati (
Posizione ( { 848 , 24 } ) ,
Aggiungi filtro (
colonne ( : nome ) ,
Dove ( : nome == lista dei nomi [ X ] ) ,
)
) ;
Le opzioni per imitare un'affermazione simile sono le seguenti:
Where( inizia con (:nome, "M")) /* Nome che inizia con M */
Where( termina con (:nome, "M")) /* Nome che termina con M */
Where( contiene (:nome, "M")) /* Il nome contiene M */
Penso che la funzione di filtro che stai cercando sia:
inizia con( nome, "M")
MK