[vastaus aiempaan viestiin]
Kirjoittaja: | Seppo Mustonen |
---|---|
Sähköposti: | - |
Päiväys: | 26.6.2001 15:33 |
Juha Valtonen toivoi, että FILE AGGR -operaatiossa voitaisiin viitata useaan aggrekoivaan muuttujaan tyyliin FILE AGGR KUNNAT BY Maamet,Teoll,Palvelu TO KUN2 Ihan hyvä toivomus, koska kyseltyäni myös Marjutilta hänkin kertoi kohtaavansa usein tilanteita, joissa aggrekointi tapahtuu usean merkkijonomuuttujan yhdistelmän kautta. Tuon yhdistelmämuuttujan rakentaminen tuottaa oman pienen lisätyönsä, joka voitaisiin välttää Juhan ehdotuksen toteuduttua. Häirittyäni Juhaa (on tämän viikon lomalla) tarkemmalla utelulla tulin siihen tulokseen, että po. parannus kannattaa hoitaa mieluummin niin, että yleistetäänkin FILE SORT -operaatiota, joka käytännössä aina edeltää FILE AGGR:ia, koska jälkimmäinen edellyttää havantojen olevan järjestyksessä aggrekoivan muuttujan suhteen. Olenkin nyt harrastanut ohjelmointipujottelua FILE SORT -rinteessä niin, että pieni lisätäsmennys muotoa KEY_SAVED=<uuden_muuttujan_nimi> tallettaa lajiteltuun tiedostoon (uutena) merkkijonomuuttujana yhdistetyn lajitteluavaimen. FILE AGGR:ia käytetään tämän jälkeen tämän muuttujan kautta ja näin saavutetaan juuri se tavoite, jota Juha toivoi. Esimerkki: (valitettavan keinotekoinen mutta valaiseva) Halutaan aggrekoida Suomen kunnat erilaisten elinkeinoryhmittymien mukaan ja lasketaan Veroäyrin keskiarvo kussakin ryhmässä. *Lajittelu: *KEY_SAVED=MTP / Yhdistetty lajitteluavain talletetaan muuttujana MTP *FILE SORT KUNNAT BY Maamet,Teoll,Palvelu TO KUN2 *Aggrekointi yhdistetyn lajitteluavaimen MTP mukaan: *FILE AGGR KUN2 BY MTP TO KUN_AGGR *VARIABLES: *MTP:S3 FIRST MTP *N:2 N - *Mean:4 MEAN Äyri *END *........................................................... *Poimitaan yhdistetyn tiedoston 5 ensimmäistä havaintoa: *FILE LOAD KUN_AGGR / IND=ORDER,1,5 *DATA KUN_AGGR*,A,B,C C MTP N Mean A 018 2 15.000 * 027 5 15.700 * 035 5 16.200 * 036 10 16.325 B 044 7 15.657 Huom. KEY_SAVED toimii FILE SORT:issa vain silloin, kun kaikki lajitteluavaimet ovat merkkijonomuuttujia (siis tyyppiä S). Ne voivat olla erimittaisia (tässä kaikki kolme olivat yhden merkin kokoisia). Mahdollisista lajitteluun vaikuttavista numeerisista muuttujista voi tietenkin tietenkin tehdä S-tyyppiset muunnokset. Tämä laajennus on siis toteutettu ja tulee mukaan SURVO MM:ään versiosta 1.05 eteenpäin.
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!