DIS Jouni Javanainen Fennia 14.9.2010 Technical Club.

Slides:



Advertisements
Samankaltaiset esitykset
0 Aloitussivu oppaat esittelevät pääosiot 2 Suomen kielen äännemaailma Ali 3 Matematiikka Ubah 1.0 Tietokoneen esittely Mai (audio + kuva) 1.1 Hiiriharjoitukset.
Advertisements

Käyttöohje: Kuinka luoda uusi sivu. (Painamalla F5 voit katsoa tämän diaesityksen)
Ohjelmistokehitys Viikko 2 Mika Salo Pekka Valtonen Asmo Voutilainen
@ Leena Lahtinen Helia Ohjelman perusrakenteet 1. PERÄKKÄISRAKENNE 2. VALINTARAKENNE 3. TOISTORAKENNE.
 Vuoden 2014 ensimmäinen Tech Club tilaisuus pidettiin SAS Instituten tiloissa Otaniemessä. Päivän teemana oli Proc FCMP ja HASH –objektit. Lisäksi osaanottajia.
Ohjelmiston tekninen suunnittelu
The Blue Day Book Bradley Trevor Greive (ISBN: )
(Made By: Jouko ja Mikko Pynnönen)
SAS-ajojen optimoinnista
Stored Procs Pientä ja yleistä asiaa monelta eri kantilta.
JavaScript (c) Irja & Reino Aarinen, 2007
Ohjelman perusrakenteet
Tärkeämpää kuin arvaatkaan
TÖIDEN PRIORISOINTI JA AJAN HALLINTA
Taulukoiden määrittely, käsittely ja kopiointi Vaihtoehdot taulukoille
Tehtävä 3: PowerPoint Hans Laihia Hans Laihia.
Korkeakoulujen ja opetusministeriön yhteinen tietohallintohanke, jota CSC koordinoi RAkenteellisen KEhittämisen Tukena TIetohallinto RAKETTI-XDW Käsitemäärittely,
Tehtävä 3: PowerPoint Mika Tuukkanen Mika T.
VB:n tietokantakäsittely
Tässä kerron ja näytän, mitä minä olen tehnyt ATK tunnilla 9lk:lla.
Technical Club – BASE SAS Classics. Marko Kivelä, Arvotieto Oy Proc transpose, Proc summary, Proc formats ovat Markon suosikkiproceduureja.
Copyright 2009 Avarea Oy - Base SAS osaajasta DIS taituriksi Kokemuksia DI Studion käyttöönottoprojekteista.
Ohjelman perusrakenteet
2. Vuokaaviot.
Vapaa aihe Kysymykset.
Johtokoodaus Historia, toiminnalliset syyt ja toteutustapojen hintaerot ovat johtaneet eri johtokoodaustapojen kehittämiseen. Hyvälle johtokoodaukselle.
Metodit – Arvotyyppi Ellei metodi palauta arvoa, sen arvotyyppi on void Tällöin ”return;”-lauseke ei ole metodissa pakollinen, vaikka sen käyttö on sallittua.
UMF I Luento 7. Viime kerralta Lue II.5 ja II.6. Lause II.5.1 tapauksessa f(x,y) = (x, sin(y)) ja g(x, y) = (cos(x), y). Voit lähettää epäselvistä kohdista.
Pelien -ohjelmointi Syksy 2007 Vapaavalintainen opintojakso 3 op. ITP8TM003.
© 2010 IBM Corporation1 Sivustoalue  Internet sivu rakentuu sivustoalueista, jotka yleensä on jaoteltuna toiminnoittain osa-alueisiin.  Sivustoalueella.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
Ohjelman keskeytys virhetilanteessa tMyn1 Ohjelman keskeytys virhetilanteessa Poikkeustilanteet voidaan ryhmitellä logiikkavirheisiin ja muihin ajonaikaisiin.
DTD Teppo Räisänen Liiketalouden yksikkö.
@ Leena Lahtinen Toistorakenne Ohjelmassa toistetaan tiettyjä toimenpiteitä monta kertaa peräkkäin Toisto noudattaa sille kuuluvia tarkkoja standardoituja.
1 Ohjelmointikielten varhaishistoria Esa-Matti Miettinen
Miksi tietokannattMyn1 Miksi tietokannat Esim. kirjastossa oli kortisto, joka koostui käsin täytettävistä arkistokorteista. Kortit oli järjestetty tekijän.
Tiedostojen käsittely
MAILAAMAAN!. Sähköpostiviestin ominaisuudet Perille nopeasti Vastaaminen helppoa Ei tarvitse olla yhtä aikaa viestimässä Ongelmana lyhyt harkinta-aika.
DO NOT PRINT THIS DOCUMENT SQL -valintaehto CREATE TABLE opettaja ( opetunnus varchar(12) NOT NULL, nimi varchar(40) NOT NULL, puhelin varchar(12), tyohuone.
Antti-Jussi Lakanen Nuorten peliohjelmointi 2009 / Jyväskylän yliopisto.
Moraalinen relativismi Eero Salmenkivi Opettajankoulutuslaitos.
Visual Basic -ohjelmointi
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
Graafinen käyttöliittymä, osa 1
XML – osa 2 Teppo Räisänen
Tehtävä 3: PowerPoint Anneli Tirkkonen 4/2/2015Anneli Tirkkonen1.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
Dokumenttien käsittely ja tietoverkot Excelin perusteet — työkirjan osat ja solujen muotoileminen.
1 © Jukka Juslin Luokat, attribuutit ja metodit Yleistietoa: seuraavalla koulutusviikolla tarkempi käsittely.
Ohjelmointi 1. toinen luento1 Taulukot n Kiinteät taulukot: alkioiden määrä tiedetään Dim intCount(12) As Integer 0 indeksit saavat arvoja 0-12 (Option.
Hyvän ja huonon esityksen piirteitä
Valintarakenne valintarakenne alkaa aina kysymyksellä eli ehdolla ehto tarkoittaa, että muuttujan sisältöä verrataan toisen muuttujan sisältöön tai vakioon.
Liiketoimintaprosessit ja MS Visio 2010
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
Mari Åman Department of Applied Mechanics Aalto University.
1.0 TE DiplomityöEsitelmä/ / JT Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olio- orientoituneeseen ohjelmointiin Jukka.
Liiketoimintaprosessit ja MS Visio 2013
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
Klassiset jumalatodistukset
Procedural Language Extensions to SQL
Työelämän tekstejä sähköposti.
Lean Canvas palveluiden suunnittelun ja kehittämisen apuvälineenä
TIES341 Funktio-ohjelmointi 2 Kevät 2006
Toisto Toistolausekkeet for, while(ehto){…} ja do {…} while(ehto)
14. Hyvä ohjelmointitapa.
Jouni Javanainen Fennia Technical Club
Liiketoimintaprosessit ja MS Visio 2010
PowerPoint-vinkkejä Jouni Huotari 11/16/2018 Jouni Huotari.
Ohjelman perusrakenteet
Dynamic Reporting (DR) -raporttien teon parhaat käytännöt
Esityksen transkriptio:

DIS Jouni Javanainen Fennia Technical Club

Sisältö ‣ Yleisiä näkemyksiä DIStudiosta ‣ Muutamia transformaatioita: huomioita ja vinkkejä ‣ DIS vs. höyrykoodi Jouni Javanainen2

Työskentelyn periaatteet ‣ ”Käsialattomuus”, ”persoonattomuus” ‣  Erinomainen tilaisuus luoda yhteiset periaatteet koodaamiselle ‣ Kansiointi metadatassa ‣ Nimeäminen ‣ Omat transformaatiot ‣ Transformaatioiden käyttötapa ‣ User Written Code säännöt Jouni Javanainen3

Jobille yleinen pohja ‣ Parametrit ‣ Precode, Postcode ‣ Tip: yleismakro ‣ Status Handling ‣ Mahdollisesti useampia eri tilanteisiin Jouni Javanainen4

Yleisiä sääntöjä ‣ Jobeista ei kannata tehdä liian suuria, yksi asia = yksi jobi ‣ Mäppäys pitää tehdä aina, myös user written – transformaatiossa ‣ Mäppäyksen voi vyöryttää ylhäältä-alas tai alhaalta-ylös tilanteen mukaan ‣ Jos user writteniä käytetään, niin sen kuuluu olla ”samantasoinen” kuin muutkin transformaatiot eli siinä tehdään yksi asia ‣ Systemaattinen eteneminen, ”kerralla valmiiksi” ‣ Jotkut asiat jälkeenpäin hankala lisätä ‣ Control Flow Jouni Javanainen5

Extract inputdataan ‣ Tehokkuus, koska se luo keep-optio ilmiön ‣ Mitä suurempi data, sitä suurempi hyöty, jos vain osaa muuttujista tarvitaan ‣ Useimmiten kannattaa pitää näkymänä ‣ Periaate: siitä näkee, mitä sarakkeita käytetään ‣ Helpottaa seuraavan transformaation käsittelyä, kun siellä ei ole turhia sarakkeita Jouni Javanainen6

Table loader ‣ Periaate: table loader –transformaatiossa ei luoda enää uutta, esim. expression-lausekkeita ‣ Tehokkuus: indeksien luontiasetukset Jouni Javanainen7

Table Loader, Compress ‣ Ei toimi ‣ Toimii Jouni Javanainen8

Loop ‣ Jobin loopitus ‣ Ei kierrosrajoituksia ‣ Loopitettavan jobin otettava parametrit ‣ Voidaan loopittaa myös transformaatioketju ‣ Ensimmäisen transformaation pitää pystyä ‣ vastaanottamaan parametreja ‣ Yli 10 kierroksen looppi ei onnistunut, ‣ kaatui makroylivuotoon (nested macros) Jouni Javanainen9

Loop, ehdollinen suoritus ‣ Loopin idea on, että se suoritetaan kerran syöttötaulun jokaiselle riville ‣ Case: Transformaatioketju halutaan suorittaa (kerran) vain, jos joku ehto on täyttynyt ‣ User Written ennen looppia, joka luo work-taulun ‣ jossa on yksi rivi, jos ehto täyttyy ‣ jossa on nolla riviä, jos ehto ei täyty ‣ Case: Eri transformaatioketjut eri tilanteissa ‣ User Written ennen looppia, joka luo kaksi taulua ‣ joista toisessa on aina yksi rivi ja toisessa ei yhtään riviä ‣ se loop suoritetaan, jota edeltää yhden rivin taulu ‣ sitä looppia ei suoriteta, jota edeltää tyhjä taulu Jouni Javanainen10

Case: Eri transformaatioketjut eri tilanteissa Jouni Javanainen11

Omat transformaatiot ‣ Usein toistuvat tilanteet ‣ Varsinainen transformaation koodi makroksi ‣ Joustavuus muutostilanteissa ‣ Olemassa olevat makrot ovat hyviä ehdokkaita transformaatioiksi ‣ Transformaation kuuluisi tehdä vain YKSI asia, muutoin DISsin idea katoaa Jouni Javanainen12

Transformaatio ja Makro Jouni Javanainen13

DIS vs. ”Höyry-koodaus” ‣ Ajattelu- ja työskentelytapa erilainen ‣ Osa koodaamisesta muuttuu DISsissä metadatan määrittelyksi ‣ Signon, proc download/upload  Määritellään server, kirjasto ja taulu. Käytetään kuin mitä tahansa taulua. ‣ External files  Määritellään file ja sen kuvaus. File reader, File Writer ‣ (Lähes) loppu koodaaminen muuttuu hiirellä klikkailuksi ja expression-lausekkeiden kirjoittamiseksi ‣  SAS-osaamisen vaatimus laskee, mutta ei katoa Jouni Javanainen14

DIS vs. ”Höyry-koodaus”: Höyrykoodi ‣ Tekijänsä näköinen ‣ Tietävätkö muut kuin tekijä, mitä siinä tapahtuu ‣ Uuden henkilön hankalampi päästä sisään ‣ SAS-osaaminen ‣ Monimutkainen asia hankalampi hallita, yksinkertainen asia nopea tehdä ‣ Dokumentaatiota ei synny ‣ Voi tehdä asioita tahattomasti, esim. jos lähtötauluun lisätään sarake Jouni Javanainen15

DIS vs. ”Höyry-koodaus” : DIS ‣ Visuaalisesti havainnollinen ‣ Antaa silmäyksellä yleiskuvan (!/?) ‣ Yksityiskohdat piilotetaan transformaation sisään ‣ Tekee vain sen, mitä metadataan on kuvattu (kun toimitaan oikein DIS-maailmassa) ‣ Helppo, yksinkertainen asia voi olla hankalampi tehdä ‣ Koodi ei ole tarkoitettu luettavaksi ‣ Joskus uuden asian lisääminen keskelle jobia hankalampaa ‣ Matalampi kynnys uudelle henkilölle ‣ BI-osaaminen Jouni Javanainen16

Kysymyksiä? Kiitos mielenkiinnosta.