Yleensä kun sähköistä dataa saa käyttöönsä, niin ongelmana on sen sisäänluku. Datan keruussa kun ei juurikaan osata yleensä ottaa huomioon sen jatkokäsittelyä. Huomasin hiljakkoin, että Survon vanha "Structured LISTs"-toiminto voikin joskus olla oivallinen apuväline "lomakemuotoisesta" datasta tarvittavien muuttujien lukemiseen. Oletetaan, että meillä on vaikka jollain pdf-lomakkeilla tai internet- kyselyllä kerättyä dataa, jossa joukossa on erilaista tekstimuotoista vähemmän kiinnostavaa, ja ennen kaikkea, haluttujen muuttujien poimimista häiritsevää tekstiä. Jos tekstimuotoiseksi muutetussa tiedostossa on kuitenkin jokin rakenne, jonka mukaan voidaan erottaa havainnot toisistaan, ja paikallistaa halutut muuttujat, niin kannattaa tutkia Survon kyselysysteemistä LIST? kyselyn kohta 2 = Structured LISTs. Ensimmäiseksi pitää saada havainnot/lomakkeet erotettua toisistaan. Survon tätä toimintoa varten teksti pitää saada EDT-kenttään, ja nimenomaan kontrollisarakkeelle havainnot erottava merkki. Jos tekstissä on esimerkiksi jokin avainsana havainnot/lomakkeet erottavana tekijänä, niin tietyillä kikoilla saadaan ko. riville erotusmerkki. Esimerkiksi jos lomake alkaa aina tekstillä "KYSELYLOMAKE ALKAA", niin kikka on seuraava. - Laitetaan tekstin alkuun komento INSERT CUR+1,END - siirretään kursori kontrollisarakkeelle ja aktivoidaan komento -> koko teksti ja kontrollisarake siirtyy pykälän oikealle, eli kontrollisarake tulee tekstin puolelle. - kirjoitetaan tekstin alkuun komento: REPLACE "*KYSELYLOMAKE ALKAA" "+KYSELYLOMAKE ALKAA" - aktivoidaan komento - sitten tekstin alkuun komento DELETE CUR+1,END - ja taas siirretään kursori kontrollisarakkeen kohdalle ja aktivoidaan -> alkuperäinen kontrollisarake siirtyy paikoilleen, mutta nyt jokaisen lomakkeen alussa tähtimerkin sijasta on +-merkki. Seuraavaksi pitäisi selvittää ne muuttujat, jotka lomakkeista halutaan poimia. Jos esimerkisi lomakkeella on ollut täyttökentät, joissa on kysytty vaikka Nimi:____________________ Ikä: ___________ ja Sukupuoli: _ (vaihtoehdot Mies/Nainen) Eli tekstissä on siis jotain stringejä, josta voidaan erottaa halutun muuttujan alkaminen. Talletetaan tämä teksti EDT-kentässä, mutta tehdään siihen ensin DEF-määrittely. Merkitään "tekstidata" vaikka alkamaan riviltä A, ja nimetään vaikka TDATAksi. DEF TDATA,A,END Talletetaan kenttä nimellä TEKSTI. Nyt voidaan tehdä vaikka toiseen kenttään listamäärittelyjä, joka pitää tallettaa tekstitiedostoksi .LST -nimellä: SAVEP CUR+1,# P.LST / tähän kirjoitetaan määrittely, kommentit voidaan laittaa näin kauttaviivoilla / / ensin määritetään haettavat listat - tässä esimerkissä vain yksi TDATA,TEKSTI END / tämän jälkeen määritetään tapausten/havaintojen erottelu, tässä esimerkissä siis +-merkki / oletetaan, että tapausten välissä on tyhjä rivi merkkinä lomakkeen päättymisestä. / jolloin sitä ei tarvitse määritellä. CASE_START=+ / Sitten määritellään muuttujat LIST FIELDS: 1 S 20 Name TEXT:Nimi:_,20 2 N 1 Age TEXT:Ikä:_,2 3 S 6 Sex TEXT:Sukupuoli:_,6 END Kun nämä määrittelyt on talletettu P.LST-tiedostoksi, voidaan antaa komento: LIST SAVE P TO poiminta.txt,char(9) Jolloin Survo poimii lähdetekstistä kolme muuttujaa tekstitiedostoon tabulaattorilla erotettuna. Ja sehän on sitten taas helppo viedä SVO-tiedostoksi FILE SAVE poiminta.txt TO NEW POIMINTA / DELIMITER=TAB NAMES=1 FIRST=2 *** Tämä edellä oleva on myös lyhennelmä osasta esitelmääni laivaseminaarissa 2017. Jos tämä jäi kiinnostamaan, mutta ei ihan selvinnyt tästä, niin otapa yhteyttä... :JVa |
Free forum by Nabble | Edit this page |