[viesti Survo-keskustelupalstalla (2001-2013)]
Kirjoittaja: | Reijo Sund |
---|---|
Sähköposti: | reijo.sund'at'stakes.fi |
Päiväys: | 9.12.2003 18:05 |
Tuosta Petrin muuttujien uudelleennimeämiseen liittyvästä kysymyksestä palasi mieleen pari tilannetta, joissa joskus olisi toivonut "oikopolkua" (joiden jo mahdollista olemassaoloa en ainakaan itse ole automaattisesti huomannut käyttäessäni toimivaksi tietämiäni tapoja). 1) Ensimmäisenä tuo FILE STATUS - FILE UPDATE rimpsu. Kohtaan usein tilanteita, jossa tuon tekstitiedostojen kautta tavaraa Survoon. Usein kätevintä on käyttää automaattista FILE SAVEa. Valitettavasti muuttujien nimet usein joko puuttuvat tai ovat käyttökelvottomassa muodossa tuotavassa aineistossa. Tällöinhän muuttujille tulee nimet X1,X2,... , jotka voi sitten helposti FILE STATUS - FILE UPDATElla nimetä haluamakseen. Tilanteessa, jossa tuotavat tiedostot ovat muodoltaan samoja, voi samaa FILE UPDATEn FIELDS-taulukkoa yrittää käyttää kaikille tiedostoille. Muuten hyvä, mutta automaattinen FILE SAVE saattaakin olla jonkun tiedoston tapauksessa valinnut tietyn muuttujan tyypiksi toisen kuin jossain toisessa tiedostossa. Tällöin FILE UPDATE herjaa muuttujan tyypin muutoksesta eikä uudelleennimeäminen onnistu. Ratkaisuna voisi tietysti yrittää käyttää FIELDSiä heti FILE SAVEssa. Tämän syntaksi kuitenkin poikkeaa FILE UPDATEn ja FILE CREATEn vastaavasta. Erityisesti muuttujien pitkien nimien/selitysten antaminen ei samalla käsittääkseni onnistu, jolloin FILE UPDATEa siis tarvittaisiin kuitenkin. Tähän ongelmaan onneksi löytyy kätevä ratkaisu FILE CREATE - FILE SAVE yhdistelmästä jälkimmäisen täsmennyksellä NAMES=DEFAULT, jolloin muuttujien nimet ja tyypit otetaan kohdetiedostosta. Tuo ratkaisu ei kuitenkaan muuta sitä, että joskus olisi tarpeellista nimetä muuttujia uudestaan ilman järjestysnumeroa ja tyyppiä. Mahdollinen toivottava oikopolku siis voisikin olla uusi FILE RENAME komento, jolla muuttujien nimiä voi vaihtaa antamatta niiden tyyppejä (ja järjestysnumeroita). Mahdollisesti tällainen RENAME optio myös FILE COPYssä olisi hyödyllinen. Tästä kumpuaa sitten lisäidea eli komento FILE CHANGE, joka toimisi kuten FILE UPDATE, mutta sallisi muuttujien tyypin muunnokset. Tällainen CHANGE-optio olisi RENAMEn tapaan mahdollisesti hyödyllinen myös FILE COPYssä. Lisäksi FILE UPDATEssa olisi kiva saada päivitys onnistumaan, vaikka järjestysnumerot olisivatkin "satunnaisessa" järjestyksessä. Käytännössä nimittäin esim. lopullisen esitysformaatin muotoilut olisi kiva siirtää "takautuvasti" aikaisemmin käsiteltyihin tiedostoihin, joissa ko. muuttujat voivat olla eri järjestyksessä. Pelkkien järjestysnumeroiden muuttaminen on käytännössä usein helpompaa kuin koko järjestyksen puljaaminen uuteen uskoon. Tokihan SORTin käyttö on sallittua ja mahdollista, mutta ei sitäkään aina tule ajatelleeksi ;). Ajatusten Tonavan virratessa lisätoivomuksia satelee: FILE COPYllä ja VARS-täsmennyksellä saa toki helposti tehtyä tiedoston, jossa on mukana vain halutut muuttujat alkuperäisestä tiedostosta. Kuitenkin välillä tulee vastaan tilanteita, joissa olisi kätevää saada muuttujia tiputettua pois ilman kopioimista (jos tiedosto on vaikka parinsadan megan kokoinen). Tiedoston lopusta tiputtaminen onnistuu helposti FILE REDUCElla, mutta keskeltäkin tiputtaminen vaikka VARS-täsmennyksessä lueteltujen muuttujien osalta olisi joskus tarpeellista. 2) Toisena ajatuksia oikeastaan hiukan aikaisempiin liittyen; erityisesti tuohon FILE DROPpiin. On tavallista, että aineistoa käsitellessä tulee tehtyä erinäisiä uusia muuttujia. Jostain syystä ainakin minä erittäin usein törmään sellaiseen tilanteeseen, että tiedostossa ei enää ole tilaa uudelle muuttujalle (lähtien automaattisesta FILE SAVEsta ei välttämättä edes tule vastaan NEWSPACE- täsmennyksen käyttömahdollisuutta). Satojen megojen tiedostojen kanssa FILE COPY -puljaus on hiukan rasittavaa. Muistaakseni tästä on ollut aikaisemminkin puhetta, mutta en muista mikä oli ratkaisu silloin.. Nyt toivomus olisi FILE EXPAND -komento, jolla tiedostoon saisi (kopioimatta) "raivattua" uutta tilaa. Ilman täsmennyksiä tilaa tulisi saman verran kuin FILE COPYssä. Tarkemman NEWSPACE-täsmennyksen voisi tietysti halutessaan antaa. Yleisemmin NEWSPACE-täsmennyksen osalta olisi kästevää pystyä antamaan se pelkkänä muuttujien lukumääränä (jolloin tarvittavat tavut tulisivat vaikkapa jotenkin FILE COPYn algoritmia vastaavalla tavalla). Tarvittavien tavujen laskeminen kun tuntuu usein ylivoimaiselta tehtävältä ;). Eli tällaista tällä kertaa.. kertokaahan, jos olette törmänneet samankaltaisiin "hankaluuksiin" ja erityisesti jos teillä on hyviä "kikkoja" em. tilanteiden hallintaan! terv. Reijo
Vastaukset: |
---|
Survo-keskustelupalstan (2001-2013) viestit arkistoitiin aika ajoin sukrolla, joka automaattisesti rakensi viesteistä (yli 1600 kpl) HTML-muotoisen sivukokonaisuuden. Vuoden 2013 alusta Survo-keskustelua on jatkettu entistäkin aktiivisemmin osoitteessa forum.survo.fi. Tervetuloa mukaan!