XML -muotoisen raportin luonti

Samankaltaiset tiedostot
XML ja SAS. Mitä tänä päivänä voidaan SASista tehdä XML-muotoon

Tiedot hallintaan PROC CONTENTSilla makroja ja ODS:ää hyödyntäen. Päivi Heimonen ICT-erikoisasiantuntija, Kela SAS Tech Club 24.1.

Makrojen mystinen maailma lyhyt oppimäärä

Ohjelmoinnin perusteet Y Python

DI Studion käyttökokemuksia. Kaisu Ikonen, Tilastokeskus

Baswaren verkkolaskuratkaisut PK-yritykselle. Mikael Ylijoki VP, Network Services Product Management

P e d a c o d e ohjelmointikoulutus verkossa

DATA-vaiheen ohjelmoijan yleissivistys helposti unohtuvia asioita

Jypelin käyttöohjeet» Ruutukentän luominen

WCONDES OHJEET ITÄRASTEILLE (tehty Condes versiolle 8)

Dictionary taulut. Miten perus metadataa käytetään koodillisesti joustavuutta lisäämään

Ohjelmoinnin jatkokurssi, kurssikoe

Ohjelmoinnin perusteet Y Python

Järjestelmäarkkitehtuuri (TK081702)

4. Lausekielinen ohjelmointi 4.1

OTA KAIKKI IRTI MICROSOFT OFFICESTA (WORD, EXCEL, POWERPOINT)

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta

OHJEITA RAPORTOINTIIN 6. Tulostavoiteasiakirjan laatiminen tulostietojärjestelmän avulla

Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot

1 JOHDANTO UUDEN ILMOITUKSEN LUOMINEN VALMIIN ILMOITUKSEN MUOKKAAMINEN YLEISTEKSTIEN KÄYTTÖ JA LUOMINEN...4

Käyttöohje. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

PlanMan Project projektihallintaohjelmisto koulutusohjeistus

Ohjelmoinnin perusteet Y Python

Olio-ohjelmointi Javalla

Ohjelmoinnin perusteet Y Python

SAS ja Sharepoint. Yhteiselon ihanuus ja kurjuus

SAS:in uudet grafiikkaominaisuudet. Ari Toikka

ASENNUS- JA KÄYTTÖOHJE

ITKP102 Ohjelmointi 1 (6 op)

VeRan laboratoriotietojen siirtoformaatti

Alustavia käyttökokemuksia SAS Studiosta. Timo Hurme Maa- ja elintarviketalouden tutkimuskeskus MTT (v alusta Luonnonvarakeskus / Luke)

Sisältö. 2. Taulukot. Yleistä. Yleistä

BASWARE E-INVOICE KAIKKI MYYNTILASKUT VERKKOLASKUINA. Juho Värtö, Account Manager

Visma Business AddOn Tuotetarrat. Käsikirja

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Asteri Palkanmaksu Dos Vuosipäivitys

7. Näytölle tulostaminen 7.1

Toinen harjoitustyö. ASCII-grafiikkaa 2017

SPSS-pikaohje. Jukka Jauhiainen OAMK / Tekniikan yksikkö

Sonera Viestintäpalvelu VIP VIP Laajennettu raportointi Ohje

Ryhmäkirjeen hyödyntäminen

Hyvän salasanan tunnusmerkit Hyökkääjästä salasanan pitää näyttää satunnaiselta merkkijonolta. Hyvän salasanan luominen: Luo mahdollisimman pitkä

Täysautomatisoitu raportointiympäristö. Joni-Petteri Paavilainen Jani Alatalo

Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 26.2

Kirjaudu sisään palveluun klikkaamalla Omat kartat -painiketta.

Testitapaukset - Siirtoprotokolla

15. Ohjelmoinnin tekniikkaa 15.1

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1

Ruokahalu kasvaa syödessä lisää makrokielen herkkuja

Taulukkolaskennan perusteet Taulukkolaskentaohjelmat

OTA KAIKKI IRTI MICROSOFT OFFICESTA (WORD, EXCEL, POWERPOINT)

Kon Konepajojen tuotannonohjaus: ILOG CPLEX Studion käyttö

Sisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2

ITKP102 Ohjelmointi 1 (6 op)

Ohjelmoinnin perusteet Y Python

Toinen harjoitustyö. ASCII-grafiikkaa

DOORSin Spreadsheet export/import

Automaattitilausten hallinta. Automaattitilauksien uudistettu käsittely

Asteri Vuokrankanto (Dos) Vuosipäivitys

Ohjelmoinnin perusteet Y Python

OutputStream ja InputStream. Tietovirrat ja niiden suunnat. Tietovirtojen käyttö. FileInputStream esimerkki. DataOutputStream ja DataInputStream

Dynaamista ja joustavaa ohjelmointia - maukasta makrokielellä

Tietojen lataaminen SOTE-organisaatiorekisteristä ja IAH-koodistosta omiin tietojärjestelmiin

Sisältö. 22. Taulukot. Yleistä. Yleistä

Muutokset ulkomaanmaksatukseen ISO XML

E-laskusta helpotusta yrityksen arkeen

Mainoksen taittaminen Wordilla

DOCUMENT MANAGER FI/ NO/ SE

Android ohjelmointi Tunti 2. Käyttöliittymät ja resurssit

Taulukot. Jukka Harju, Jukka Juslin

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python

ATK yrittäjän työvälineenä

Taulukkolaskennan perusteet Taulukkolaskentaohjelmat

Sisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2

Datatähti alkukilpailu

Written by Administrator Monday, 05 September :14 - Last Updated Thursday, 23 February :36

PERL. TIE Principles of Programming Languages. Ryhmä 4: Joonas Lång & Jasmin Laitamäki

ATK tähtitieteessä. Osa 4 - IDL input/output. 19. syyskuuta 2014

Tietokantaraportointivälineen valintaopas

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen

Valitse ruudun yläosassa oleva painike Download Scilab.

Luokat ja oliot. Ville Sundberg

StanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen

Asiointitilin lomakerajapinta. Kansalaisen asiointitili

Visma Econet Pro Factoring laskutus Finvoice muodossa

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2

HKScan pikaopas

Visma Fivaldi -Ohje Asukastiedotus

PALKKA-AINEISTON SIIRTOTIEDOSTO

WiseMaster Mentor. Tuote-esite. M-Technology Oy. /

15. Ohjelmoinnin tekniikkaa 15.1

Excel-lomakkeen (syöttötaulukko) käyttäminen talousarvio- ja suunnitelmatietojen toimittamisen testaamisessa Kuntatalouden tietopalvelussa

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tentti kestää kolme tuntia. Tehdään sähköisesti mikroluokkien Windows-koneilla.

SEM1, työpaja 2 ( )

Automaattitilausten hallinta

Käyttäjän käsikirja. LIB 500 ja LIB 510 v Releasettelutyökalu Yleistä. ,NNXQDMRNDLOPRLWWDDHWWlNRKGHRQSlLYLWHWWlYl

Tietojen lataaminen SOTE-organisaatiorekisteristä omiin tietojärjestelmiin

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Sisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen.

Transkriptio:

XML -muotoisen raportin luonti Anita Mäkinen-Jäntti 20/05/2014 1

SISÄLTÖ XML -tiedostojen kirjoitusmahdollisuudet Tagsettien käyttäminen Data -vaiheen käyttäminen Sähköinen siirtoliike ja XML - tiedoston välityksen tarve Käytännön esimerkki XMLmuotoisen tiedon luomisesta Datan muoto XML -tiedoston luominen Data -vaiheen muuttujat Makromuuttujat 20/05/2014 2

XML -TIEDOSTOJEN LUONTI XML -tiedostoja voidaan luoda SAS:lla Valmiita ods tagsettejä käyttämällä. Proc Templatella itse tehtyjä tagsettejä käyttämällä. Data -vaiheella. Lukeminen XML libname enginellä Hierarkkisen XML:n tuki on vajaata. 20/05/2014 3

TAGSETTIEN KÄYTTÄMINEN Perus tagsetit ovat melko vajaita, omien tagsettien käyttö on perusteltua. XBRL tuki on olematonta. Omien tagsetin luonti on mahdollista proc templatella. Jakelun helppous ja monistettavuus. Hierarkkisuus on mahdollista toteuttaa vain vähäisin osin. 20/05/2014 4

DATA -VAIHE 90 -lukulaisuudestaan huolimatta toimiva ratkaisu -> vanhatkin tulosteet saadaan nuorennettua 30 vuotta. Datan muokkaus tulostusmuotoon kannattaa erottaa tulostuksesta. Tulostus tapahtuu data _null_- vaiheella ja put -lauseilla. 20/05/2014 5

XML LIBNAME ENGINE XML libname engine on kätevä tapa saada luettua XML -tiedostoja. Hierarkkisuus toteutettu jollain tasolla. Vaatii XML MAP -tiedoston taakseen, MAP voidaan kuitenkin luoda esimerkiksi Scheman perusteella. 20/05/2014 6

SÄHKÖINEN SIIRTOLIIKE Tiedot lähetettiin aikaisemmin (tilastohistoria käyttöön vuonna 2012) vakuutusyhtiöiden välillä pääosin sähköpostitse excelinä tai pdf:nä. Tieto pitää saada välitettyä vastaanottajalle XML -muotoisena (sähköisen tilastohistorian välitys vuoden 2013 alusta lähtien). Tulostusosuuteen jouduttiin kirjoittamaan vain muutama rivi lisää koodia. XML -tiedoston käsittelyyn mainframella ja vientiin DB2:aan XML:änä jouduttiin kirjoittamaan vähän lisää koodia. 20/05/2014 7

DATAN MUOTO Paperille tulostettu raportti oli jo valmiiksi määrämuotoinen. Raportti oli toteutettu data _null_ -tulostuksella ja tulostuksen muotoilu oli hoidettu taulukko templateilla. Raportin otsikkotiedot parametreinä välitettyjen makromuuttujien arvoina. 20/05/2014 8

MIKÄ TEKNIIKKA VALITTIIN? Koska raportissa oli jo käytetty proc templatella toteutettuja taulukkorakenteita, yritettiin luoda omaa tagsettiä -> raportin hierarkkisuus ei ollut teknisesti mahdollista toteuttaa tällä tekniikalla. Käytössä olleesta tulostusohjelmasta purettiin pois ods -lauseet ja tulosteet ohjattiin tekstitiedostoon. 20/05/2014 9

MITEN TULOSTUS TAPAHTUU? Tulostaminen voidaan suorittaa useamman data -vaiheen aikana, mikäli file -lauseessa käytetään mod -optiota. Ensin kirjoitetaan otsikkotiedot put '<ns1:tilastotiedotvastaus xsi:schemalocation = "https://ws.tvl.fi/2012/11/16/vakuutustensiirto/tapvtilastotiedotvastaus TapvTilastotiedotVastaus.xsd" xmlns:xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns:ns1 = "https://ws.tvl.fi/2012/11/16/vakuutustensiirto/tapvtilastotiedotvastaus" xmlns:vakio = "https://ws.tvl.fi/2012/11/16/vakuutustensiirto/vakioosa" xmlns:yleisettyypit = "https://ws.tvl.fi/2012/11/16/vakuutustensiirto/yleisettyypit">'; put " <ns1:vakio>"; put " put " <Vakio:VastaanottavaLaitos>&vastaanottavalaitos</Vakio:VastaanottavaLaitos>"; <Vakio:LahettavaLaitos>&lahettavalaitos</Vakio:LahettavaLaitos>"; 20/05/2014 10

MITEN TULOSTUS TAPAHTUU? Kun data on valmis (ja sopivasti nimetty) on tulostaminen helppoa. Tagit kirjoitetaan datan arvojen ympärille: put <ns1:ohimenevatkorvauksetsuoritusvuodelta><ns1:ohimenevatkorv>"; put ohim_korvaus_sum; put "</ns1:ohimenevatkorv><ns1:paivarahaa>"; put paivaraha_sum; put "</ns1:paivarahaa></ns1:ohimenevatkorvauksetsuoritusvuodelta>"; 20/05/2014 11

XML -TEKSTITIEDOSTOA 20/05/2014 12

VASTAAN TULLUTTA Jos itse tulostus on koostunut useammasta kutsutusta osasta, joita on toistettu vaihtelevia määriä, on aloitus ja lopetustagien määrän kohdalleen saaminen tarkkaa. XML tiedoston vienti DB2 XML -sarakkeeseen onnistui vain Cobolmodulilla sillä SAS tai Java eivät pystyneet viemään kuin 32K pituisia palasia. 20/05/2014 13

MUUTTUJIEN PITUUDET Jos kannassa on pidempi muuttuja, kuin mitä XML -tiedostossa on määritelty joudutaan muuttujan pituus lyhentämään. put "<YleisetTyypit:AmmattiNimike>" substr(left(ammnimi), 1, 50) "</YleisetTyypit:AmmattiNimike>"; put "<YleisetTyypit:Palkka>" palkkasumma"</yleisettyypit:palkka>"; put "<YleisetTyypit:PaivienYhteisMaara>0</YleisetTyypit:PaivienYhteisMaara>"; 20/05/2014 14