[viesti Survo-keskustelupalstalla (2001-2013)]
Kirjoittaja: | Kimmo Vehkalahti |
---|---|
Sähköposti: | - |
Päiväys: | 29.5.2004 23:26 |
Vähän yli kuukausi sitten esitelmöin Survo-Käyttäjäyhdistyksen vuosikokousristeilyllä otsikolla "Survon käytöstä tutkimuksessa, opetuksessa, hallinnossa ja harrastuksissa". Mainitsin tuolloin yhtenä esimerkkinä Survoon liittyvistä harrastuksistani melonnan ja näytin kesän 2003 melontareissua varten tekemiäni kaavioita ja kuvioita. Samat hommat ovat meneillään tulevaa kesää varten, viime vuoden pohjien avulla entistä helpommin - kuten yleensä Survo-työskentelyssä. Voisin netin välityksellä vähän jatkaa esitelmääni näyttämällä muutamia ovelia temppuja, joissa osittain ovat käytössä vanhat konstit mutta joissain kohdin otetaan mukaan pussillinen uusia. Seuraavassa on kysymys n. viikon mittaisen reissun logistiikan suunnittelusta. Käytössä on kaksi autoa, joiden ajokilometrit on arvioitu karttojen perusteella. Tässä on pala suunnitelmasta: ... 11.00 Vaihto 23 Vehkataipale, koulu 13 Yaris Ajo Kouvola 110 Golf 14.00 Vaihto 24 Lappeenranta, Myllysaari 25 Golf Siirto Luumäki, Risulahti 25 Golf Leiri Kouvola, Tykkimäki Purku Lomakeskus Saimaanranta Ajo Kouvola 130 Yaris 18.00 Vaihto 26 Kukasranta, leirikeskus 65 Yaris ... Nyt kiinnosti tietää, paljonko kullekin autolle olisi yhteensä tiedossa kilometrejä kyseisen viikon aikana. Reissun luonnehan on sellainen, että suurin osa ajasta kuluu autoissa, ja vain aika ajoin on edes kyse melonnasta - noin hieman karrikoituna. Ensimmäinen ajatus oli käyttää kosketuslaskentaa ja vuorotellen tökkiä plussalla "Golf"-luvut ja sitten "Yaris"-luvut. Kätevää toki sekin, mutta vähän turhan paljon käsityötä. (Tässä Survon käyttäjänä on oppinut aika ronkeliksi; moni tietokoneen äärellä istuvahan ottaisi *laskukoneen* käteensä ja tökkisi nuo *luvut* sillä uudelleen (!). Survossa riittää hipaista valmiina kentässä olevia lukuja sopivilla laskutoimitusnapeilla, esim. plussalla.) Niinpä mielessäni syntyi toisenlainen ajatus. "Otin lukua" vanhalla kunnon blokkitoiminnolla. Tässä teille koko tuo blokki (juttu jatkuu sen alapuolella...): 470 Golf 470 Yaris 2 Golf 12 Yaris 95 Golf 100 Yaris 35 Yaris 55 Yaris 18 Yaris 23 Yaris 40 Yaris 23 Yaris 7 Yaris 23 Yaris 100 Golf 116 Yaris 58 Yaris 35 Yaris 12 Yaris 70 Yaris 38 Yaris 55 Golf 75 Golf 95 Yaris 12 Yaris 38 Yaris 2 Yaris 125 Golf 141 Yaris 8 Yaris 8 Yaris 13 Yaris 110 Golf 25 Golf 25 Golf 130 Yaris 65 Yaris 32 Yaris 20 Yaris 60 Golf 60 Yaris 40 Golf 35 Yaris 5 Yaris 5 Golf 134 Yaris 134 Golf Mitäkö sitten? Tietysti mielessäni oli pieni kiva havaintoaineisto, mutta logistiikkasuunnitelman leiri- ym. rivit aiheuttivat ikäviä aukkoja kuten edeltä on havaittavissa. Ne olisi tietysti voinut käydä napsimassa pois rivi kerrallaan, mutta etenkin kun tällaisia suunnitelmia väsäilee iltamyöhällä, on riski poistaa vahingossa muitakin kuin tyhjiä rivejä. Eikä muutenkaan moinen käsityö taas houkutellut lainkaan. Hätä ei ollut tämän näköinen, sillä mokoman harvahampaisen datan sai helposti tiivistettyä sen yllä annetulla LINEDEL-komennolla: LINEDEL CUR+2,END,EMPTY / (Tämä on verrattain uusi toiminto!) Viuh vain - ja johan kehtasin nimetä taulukon dataksi: DATA _AUTOT km auto 470 Golf 470 Yaris 2 Golf ... Loppu on silkkaa rutiinia, jonka tulin kuvioineeksi tällä kertaa seuraavasti: (Ensin en innostuneisuuttani muistanut, että aggrekointi edellyttää datatiedostoa; oheinen virheilmoitus muistuttaa samalla myös Survon PC:lle tehtyjen toteutusten lähestyvästä 20-vuotisjuhlasta...) :-) FILE AGGRE _AUTOT,AUTOT_KM / "_AUTOT must be a SURVO 84 data file!" Tehdään siis taulukosta datatiedosto AUTOT: FILE COPY _AUTOT TO AUTOT Lasketaan sitten autokohtaiset summat datatiedostoon AUTOT_KM: FILE AGGRE AUTOT,AUTOT_KM / AGGRE=auto,SUM Sinänsä suoraviivainen FILE LOAD edellyttäisi tässä tapauksessa km-muuttujan tulostusformaatin säätelyä, johon ei juuri nyt viitsi ryhtyä. Onneksi asioita voi tehdä niin monilla vaihtoehtoisilla tavoilla. Käytetään tässä vaikkapa matriiseja. Talletetaan data AUTOT_KM (2 muuttujaa, 2 havaintoa) matriisiksi AUTOT: MAT SAVE DATA AUTOT_KM TO AUTOT / MASK=BA Tässä suorastaan herkullisen pikantti yksityiskohta on muuttujien järjestyksen vaihtaminen maskikirjainten avulla, sillä nyt autojen nimet siirtyvät nätisti matriisin riviotsikoiksi. Survon käyttäjä ei todellakaan tyydy pelkkiin numeroihin matriisienkaan kanssa. :) Lopputulos saadaan näkyviin esim. MAT LOAD -komennolla, mutta itse pidän kovasti LOADM:stä ja sen erilaisista optioista, siispä: LOADM AUTOT (4) CUR+2 / SORT=1 AUTOT km Yaris 1933 Golf 1321 Säätämällä tulostusparametria (4) voisi tehdä helposti juuri tietyn levyisiä tulostaulukoita, esim. LOADM AUTOT (33) CUR+2 AUTOT km Yaris 1933 Golf 1321 Täytyy lopuksi todeta, että minulle yksi motivaation lähde (ei kuitenkaan ainoa!) koko tässä melontatouhussa on se että suunnittelu talven ja kevään aikana on Survolla niin tolkuttoman hauskaa: voi tehdä juttuja juuri niin kuin huvittaa. Näkisittepä ne kaikki paperit, toimituskentistä nyt puhumattakaan... ;-) - Kimmo
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!