Ricerca nella tabella dati per corrispondenze non esatte?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Sto lavorando a uno script in cui ho una variabile "Plate" impostata come testo come "8SVPCCV1G0BB2". Devo usare questa variabile per selezionare una riga in una tabella diversa in cui "Plate" può essere jolly come:
8S
8SV
8SQPCC
*
In questo caso vorrei che selezionasse la riga 8SV. Ma se la mia variabile era "8PSVTTY2G0AB3" vorrei che corrispondesse alla * riga che è una riga generica.
Stavo cercando di usare regex o pattern matching per questo, ma sono nuovo per entrambi, quindi non ho ancora fortuna. Sono sulla buona strada a guardare quelli? O c'è un modo migliore per fare questo abbinamento? Grazie!
Ri: Ricerca nella tabella di dati per corrispondenze non esatte?Sono sicuro che t qui ci sono diversi modi per avvicinarsi a questo. Un modo è provare per prima cosa a selezionare le righe che corrispondono al modello, e se nessuna riga è selezionata, seleziona la riga "*".
// Tabella di esempio
my_table = Aperto ( "$ SAMPLE_DATA / Big Class.jmp" ) ;
: nome [ 1 ] = "*" ;
// Funzione per selezionare le righe corrispondenti o la riga predefinita "*"
select_plate = Funzione ({ dt , p } ,
dt << seleziona dove ( Pat Match ( : nome , piatto )) ;
Se ( N Row ( dt << righe selezionate ) == 0 ,
dt << seleziona dove ( : nome == "*" )
) ;
) ;
// Prova la funzione
piatto = "ACL" ;
select_plate ( my_table , piatto ) ;
Aspettare ( 2 ) ;
piatto = "QQQ" ;
select_plate ( my_table , piatto ) ;
Ri: Ricerca nella tabella di dati per corrispondenze non esatte?Sono riuscito a farlo funzionare se c'è una linea corrispondente:
targetconfig << Nuova colonna ("PlateMatch", Formula (Pat Match (plate,: PlateStart)));
L'unico problema è se la piastra corrisponde solo alla * linea.