<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao,
Sto cercando di utilizzare la funzione SAS PRX per estrarre una sottostringa dal mio set di dati. Ma restituisce solo le corrispondenze esatte, mentre ho bisogno che sia più flessibile ed estrae quelle che corrispondono a una varietà di condizioni.
Ho copiato i miei dati qui sotto. Come puoi vedere, una delle variabili nei miei dati è "brandmodel" che contiene sia il nome del marchio che il numero di modello di una particolare videocamera. Ho bisogno di avere una colonna separata solo per il modello # s. Quindi sto usando la funzione PRX per estrarli mentre di solito seguono uno dei seguenti schemi:
Ad esempio: JX100 o JX10 o JX1 (ovvero 1-2 alfabeti, seguiti immediatamente da 1-3 cifre. Questo mio programma (copiato sotto i dati) può gestire. Ma dove mi imbatto in problemi è: come estrarre i # del modello in cui gli alfabeti sono separati dalle cifre da uno spazio o un trattino, e come li estrao nella stessa colonna "Modello" come quelli con tutti loro? Inoltre, alcune delle osservazioni non hanno il numero di modello, come posso far sì che siano impostate come mancanti, invece di essere abbandonate del tutto?
Qualsiasi aiuto tu possa fornire con questo dilemma sarebbe molto apprezzato. Non vedo l'ora di avere presto tue notizie.
Grazie!
Kelly
Brandmodel | Prezzo
| Fotocamera digitale iTwist F124 -red | 49,00 | |
| Fotocamera digitale Vivitar IF045 -Blue | 72.83 | |
| Maschera subacquea per immagini liquide | 128,00 |
| MX Gogglesâ € ¢ | |
| Olympus VR 340 | Argento | 148.00 | | |
| Fotocamera digitale Olympus TG820 Nera | 278,00 |
| LCD Olympus VR 340 16MP 10x 3.0 rosso | 148,00 |
| Fotocamera digitale Vivitar VX137-Pur | 39,00 | |
| |
| Fotocamera digitale Olympus SZ-12-Nero | 198,00 |
| Fotocamera digitale Olympus VG160 rossa | 98,00 | |
| Olympus VR340 | Viola | 148.00 | | |
| Fotocamera digitale Olympus TG820 Silver | 298,00 |
| Fotocamera digitale Olympus TG820 Blu | 278,00 |
| Fotocamera digitale Olympus VG160 | Arancione | 98.00 | | |
| Fotocamera digitale Olympus TG820 rossa | 298,00 |
| Fujifilm FinePix AX500 Red | 78.63 | |
| Canon A2300 Silver | 98,63 | | |
| Canon A810 Red | 75,00 | | |
| Fotocamera digitale Nikon Coolpix S2600 - Rossa | 88,00 |
| Fotocamera digitale Nikon Coolpix L25 - Argento | 82,00 |
| Casio Exilim ZS10BK | 128,00 | | |
| | |
| Fotocamera digitale Olympus TG-310 da 14 MP blu | 148,00 |
| Fotocamera digitale Hipstreet Kidz - Blu | 14.93 | |
| Casio Exilim ZS10PK | 128,00 | | |
| Fotocamera digitale Olympus TG-310 da 14 MP | orange | 148.00 |
Programma SAS
dati walnov21p2;
lunghezza brandmodel $ 80 ;
infile "G: \ File2 \ data \ store_nov21 \ storenv21p2.csv" firstobs = 2 dlm = "|" DSD ;
ingresso prezzo brandmodel;
re = prxparse ( '/ [[: alpha:]] {1,3} \ d {1,4} /' );
Se prxmatch (re, brandmodel) poi
fare ;
Modello = prxposn (re, 0 , brandmodel);
produzione ;
fine ;
correre ;