Re: FILE AGGR

[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!

Etusivu  |  Keskustelu
Copyright © Survo Systems 2001-2013. All rights reserved.
Updated 2013-06-15.