FILE MEDIT -laajennuksia

[viesti Survo-keskustelupalstalla (2001-2013)]

Kirjoittaja: Seppo Mustonen
Sähköposti:    -
Päiväys: 18.2.2005 13:27

Seminaaritilaisuudessa 15.2.2005 esittelin FILE MEDIT -operaatiota.
Tässä muutama jälkihuomautus.

1. CLASSIFICATION merkkijonomuuttujan suhteen
=============================================
Olin juuri ennen seminaaria valmistellut pienen lisäsovelluksen,
jossa Suomen kuntia pyrittiin luonnehtimaan pelkästään sanallisesti
tyyliin
"Alavus on suurehko Keski-Suomen kunta."
Tässä kunnan sijainnin (Etelä-, Keski- tai Pohjois-Suomi) piti perustua
lääniin, joka KUNNAT-tiedostossa on merkkijonomuuttuja arvoiltaan
UUS TUR AHV HÄM KYM MIK KAR KUO KES VAA OUL LAP.
Osoittautui kuitenkin, etten sittenkään ollut ulottanut luokitusta
FILE MEDIT:ssä koskemaan merkkijonomuuttujia.
Nyt olen korjannut tämän puutteen ja tässä ote toimituskentästä, joka
tuottaa myös hieman laajemman kuvauksen jokaisesta kunnasta.

.......................................................................
SAVE MEDIT6 / Sanallinen kuntien luonnehdinta

FILE MEDIT KUNNAT,MEDIT6:LAUSE
MEDIT:LAUSE SIZE=32,82 PAGES=Sivu1

PAGE Sivu1:
%1 on väkiluvultaan %2 ja pinta-alaltaan %3 & 
%1=Kunta %2=Väki %3=Pinta_ala
%4-Suomen kunta. / %4=Maanosa
END

Kuntien luokittelu väkiluvun mukaan
väki=if(Väestö<1000)then(1)else(väki2)
väki2=if(Väestö<5000)then(2)else(väki3)
väki3=if(Väestö<10000)then(3)else(väki4)
väki4=if(Väestö<30000)then(4)else(väki5)
väki5=if(Väestö<50000)then(5)else(väki6)
väki6=if(Väestö<400000)then(6)else(7)

Väki=$CLASS(Kokoluok,väki)
CLASSIFICATION Kokoluok:
1: hyvin pieni
2: melko pieni
3: keskikokoinen
4: suurehko
5: suuri
6: hyvin suuri
7: se kaikkein suurin
END

Kuntien luokittelu pinta-alan mukaan
pinta=if(Ala<200)then(1)else(pinta2)
pinta2=if(Ala<500)then(2)else(pinta3)
pinta3=if(Ala<1000)then(3)else(pinta4)
pinta4=if(Ala<5000)then(4)else(5)

Pinta_ala=$CLASS(Cala,pinta)
CLASSIFICATION Cala:
1 hyvin pieni
2 pieni
3 keskikokoinen
4 suuri
5 hyvin suuri
END

Maanosa=$CLASS(Clääni,Lääni) / Tämä toimii vasta versioissa 2.24+
CLASSIFICATION Clääni:
UUS: Etelä
TUR: Etelä
AHV: Etelä
HÄM: Keski
KYM: Etelä
MIK: Keski
KAR: Keski
KUO: Keski
KES: Keski
VAA: Keski
OUL: Pohjois
LAP: Pohjois
END
.......................................................................
Tällöin esim. Alavus saa kuvauksen:

Alavus on väkiluvultaan suurehko ja pinta-alaltaan keskikokoinen
Keski-Suomen kunta.

.......................................................................

Näytin myös, kuinka kaikkia kuntia koskevat luonnehdinnat kootaan
valittuun toimituskenttään:

FILE DEL LUETTELO.EDT

FILE MEDIT KUNNAT,MEDIT6:LAUSE
MEDIT_SAVE=LUETTELO,ALL  / Talletus toimituskenttään LUETTELO

Luettelon alku esim. SHOW:lla katsottuna ja poimittuna:

Alahärmä on väkiluvultaan keskikokoinen ja pinta-alaltaan pieni
Keski-Suomen kunta.

Alajärvi on väkiluvultaan keskikokoinen ja pinta-alaltaan keskikokoinen
Keski-Suomen kunta.

Alastaro on väkiluvultaan melko pieni ja pinta-alaltaan pieni
Etelä-Suomen kunta.

Alavieska on väkiluvultaan melko pieni ja pinta-alaltaan pieni
Pohjois-Suomen kunta.

Alavus on väkiluvultaan suurehko ja pinta-alaltaan keskikokoinen
Keski-Suomen kunta.

...

2. Päiväyksen tallennus
=======================
Markku Verkasalo toivoi mahdollisuutta tallentaa myös kunkin havainnon
talletusajankohta, mihin suhtauduin tapani mukaan tympeästi :)
Ajattelin, että esim. päivän päätteeksi on helpompaa esim.
VAR-komennolla asettaa nykyinen päiväys haluttuun merkkijonomuuttujaan
uusien havaintojen osalta. Tämä kantani pätee edelleen.

Tajusin seminaarin jälkeen, että mikäli vaaditaan enemmän eli halutaan
mm. olla aina selvillä, milloin jotain havaintoa on viimeksi *muutettu*
FILE MEDIT:illä, automaattisesta päiväyksen tallennuksesta on varmasti
hyötyä joissain sovelluksissa.

Olen nyt koemielessä liittänyt FILE MEDIT:iin uuden täsmennyksen
MEDIT_TIME=<vähintään 19-tavuisen merkkijonomuuttujan nimi>,
joka aina, kun jossain havainnossa tallennetaan tai muutetaan
jotain arvoa, saa aikaan sen, että FILE MEDIT tallettaa ao.
aikamuuttujaan tämänhetkisen päiväyksen ja kellonajan muodossa
"2005.02.18 12:17:13".
Tämä esitystapa takaa esim., että havainnot voi suoraan lajitella aika-
järjestykseen FILE SORT -komennolla.
Huom. Aikamuuttujan ei tarvitse olla näkyvillä FILE MEDIT -kentissä.

-Seppo

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.