Ero sivun ”Projektinhallinta/hiekkalaatikko” versioiden välillä

Opasnet Suomista
Siirry navigaatioon Siirry hakuun
(työversiot kopioitu sivuilta Projektinhallinta ja Tekaisu)
 
(→‎R-koodi: ALV- ja sivukululaskentaa korjattu, pieniä bugeja vielä)
 
(10 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 1: Rivi 1:
[[Luokka:Projektinhallinta]]
===R-koodi===
===R-koodi===


<rcode name="budjetti" variables="
<rcode name="budjetti" include="page:OpasnetBaseUtils|name:generic|page:Projektinhallinta|name:budjetti" variables="
name:jaottelu|descripion:Mitkä jaottelut haluat säilyttää yhteenvedossa?|type:checkbox|options:1;Kustannuslaji;2;Työpaketti;3;Vuosi;4;Laitos;5;Rahoittaja;6;Projekti|default:2;3
name:jaottelu|description:Mitkä jaottelut haluat näyttää yhteenvedossa?|type:checkbox|options:1;Projekti;2;Työpaketti;3;Vuosi;4;Laitos;5;Rahoittaja;6;Kustannuslaji|default:2;3|
category:Voit valita näytettävät yksityiskohdat ja myös rajata tarkastelusi yhteen työpakettiin tai vuoteen.|
name:työpakettirajaus|description:Tarkasteltavat työpaketit|type:checkbox|options:'TP1';TP1;'TP2';TP2;'TP3';TP3;'TP5';TP5|default:'TP1';'TP2';'TP3'|
name:vuosirajaus|description:Tarkasteltava vuosi|type:selection|options:'Kaikki';Kaikki vuodet;'2012';2012;'2013';2013;'2014';2014|default:'2012'|
name:työpaketti.add|description:Työpaketti|type:selection|options:'TP1';TP1;'TP2';TP2;'TP3';TP3;'TP5';TP5|default:TP1|
category:Voit testata budjettia tällä tilapäisellä lisätapahtumalla.|
name:rahoittaja.add|description:Rahoittaja|type:selection|options:'THL';THL;'STM';STM|default:'STM'|
name:kustannuslaji.add|description:Kustannuslaji|type:selection|default:'Palkka VT7'|options:'Palkka VT3';Palkka VT3;'Palkka VT4';Palkka VT4;'Palkka VT5';Palkka VT5;'Palkka VT6';Palkka VT6;'Palkka VT7';Palkka VT7;'Palkka VT8';Palkka VT8;'Palkka VT9';Palkka VT9;'Palkka VT10';Palkka VT10;'Ostopalvelu';Ostopalvelu;'Matka';Matka;'Tarvike';Tarvike|
name:määrä.add|description:Budjettiin lisättävä summa|default:0|
name:kuvaus.add|type:text
">
">


Rivi 8: Rivi 19:
library(xtable)
library(xtable)


###################################################################33
####Budjettilaskenta: suunnitelluista palkka- ja muista menoista lasketaan kokonaisbudjetti.
####Budjettilaskenta: suunnitelluista palkka- ja muista menoista lasketaan kokonaisbudjetti.


Rivi 14: Rivi 27:
budjettilaskenta <- function(page, laitos = "THL", vuosi = "2012", rahoittaja = "Suomen Akatemia",  
budjettilaskenta <- function(page, laitos = "THL", vuosi = "2012", rahoittaja = "Suomen Akatemia",  
projekti = "Projekti", työpaketti = "Työpaketti", työpaketti.add = "Työpaketti", vuosi.add = "2012", laitos.add =
projekti = "Projekti", työpaketti = "Työpaketti", työpaketti.add = "Työpaketti", vuosi.add = "2012", laitos.add =
"THL", rahoittaja.add = "Suomen Akatamia", kustannuslaji.add = "Palkka VT7", määrä.add = 0, kuvaus.add = "") {
"THL", rahoittaja.add = "Suomen Akatamia", kustannuslaji.add = "Palkka VT7", määrä.add = 0, kuvaus.add = "", series_id = NULL) {


# Haetaan budjettidata ja lisätään siihen kaikki ne sarakkeet joita taulussa ei ole.
# Haetaan budjettidata ja lisätään siihen kaikki ne sarakkeet joita taulussa ei ole.
out <- op_baseGetData("opasnet_base", page)[, -c(1,2)]
out <- op_baseGetData("opasnet_base", page, series_id = series_id)[, -c(1,2)]
if(!"Projekti" %in% colnames(out)) {out <- cbind(out, data.frame(Projekti = projekti))}
if(!"Projekti" %in% colnames(out)) {out <- cbind(out, data.frame(Projekti = projekti))}
if(!"Työpaketti" %in% colnames(out)) {out <- cbind(out, data.frame(Työpaketti = työpaketti))}
if(!"Työpaketti" %in% colnames(out)) {out <- cbind(out, data.frame(Työpaketti = työpaketti))}
Rivi 40: Rivi 53:
Rahoittaja = rahoittaja.add, Kustannuslaji = kustannuslaji.add, määrä = määrä.add, kuvaus = kuvaus.add)
Rahoittaja = rahoittaja.add, Kustannuslaji = kustannuslaji.add, määrä = määrä.add, kuvaus = kuvaus.add)
out <- rbind(out, temp)
out <- rbind(out, temp)
 
# Haetaan ALV-prosentit ja lasketaan ne relevanteille riveille.
alv <- tidy(op_baseGetData("opasnet_base", "Op_fi2913"))
alv <- merge(out, alv) # ALV laitetaan joka riville, joille se on määritelty.
alv$määrä <- alv$määrä * alv$Result
alv$Kustannuslaji <- "ALV"
alv <- alv[colnames(out)]
 
 
# Haetaan Projektisopimus eli sopimuskohtaiset tiedot ja sovelletaan niitä yleiskustannuksen ja ALV:n laskemiseen.
sopimus <- tidy(op_baseGetData("opasnet_base", "Op_fi2916"))
sopimus <- sopimus[sopimus$Projekti == projekti, ]
print(sopimus)
 
# Jos on erillislaskutus, ALV lisätään rahoittajan osuuteen. Jos ei, lisätään
if(sopimus[sopimus$Havainto == "ALV-laskutus", "Result"] != "Erillislaskutus")
{alv$Rahoittaja <- laitos}
# Tästä jää nyt erottelematta se, maksaako laitos ALVit budjetti- vai projektirahoista.
out <- rbind(out, alv)
 
# Haetaan sivukulu- ja yleiskustannuskertoimet Opasnetistä, siistitään ja yhdistetään budjettiin.
# Haetaan sivukulu- ja yleiskustannuskertoimet Opasnetistä, siistitään ja yhdistetään budjettiin.
kertoimet <- op_baseGetData("opasnet_base", "Op_fi2704")[, 3:8]
kertoimet <- op_baseGetData("opasnet_base", "Op_fi2704")[, 3:8]
Rivi 85: Rivi 117:


# Lasketaan sivukulut ja yleiskustannukset ja merkitään joka rivi joko tuloksi tai menoksi.
# Lasketaan sivukulut ja yleiskustannukset ja merkitään joka rivi joko tuloksi tai menoksi.
test <- substr(paste(out$Kustannuslaji, "    "), 1, 6) == "Palkka" # Onko palkkarivi?
test <- substr(paste(out$Kustannuslaji, "    "), 1, 5) == "Palkk" # Onko palkkarivi?
out$htkk <- ifelse(test | substr(paste(out$kuvaus, "      "), 1, 4) == "TULO", out$htkk, 0)
out$htkk <- ifelse(test | substr(paste(out$kuvaus, "      "), 1, 4) == "TULO", out$htkk, 0)
out$Sivukulu <- ifelse(test, out$Sivukulu * out$summa, 0)
out$Sivukulu <- ifelse(test, out$Sivukulu * out$summa, 0)
Rivi 91: Rivi 123:
out$tulomeno <- ifelse(out$Kustannuslaji == "Tulot" | substr(paste(out$kuvaus, "    "), 1,4) == "TULO", "Tulot", "Menot")
out$tulomeno <- ifelse(out$Kustannuslaji == "Tulot" | substr(paste(out$kuvaus, "    "), 1,4) == "TULO", "Tulot", "Menot")


# Lisätään omat rivit sivukuluille ja yleiskustannuksille.
# Lisätään omat rivit sivukuluille ja yleiskustannuksille, yhteisnimellä epäsuorat.
palkat <- out[substr(paste(out$Kustannuslaji, "      "), 1, 6) == "Palkka", ]
epäsuorat <- if(sopimus[sopimus$Havainto == "YK-peruste", "Result"] == "Kaikki")
palkat$Kustannuslaji <- "Yleiskustannus"
{out[out$tulomeno == "Menot", ]}
palkat$summa <- palkat$Yleiskustannus
else
out <- rbind(out, palkat)
{out[substr(paste(out$Kustannuslaji, "      "), 1, 5) == "Palkk", ]}
palkat$Kustannuslaji <- "Sivukulu"
epäsuorat$Kustannuslaji <- "Yleiskustannus"
palkat$summa <- palkat$Sivukulu
epäsuorat$summa <- epäsuorat$Yleiskustannus
out <- rbind(out, palkat)
out <- rbind(out, epäsuorat)
epäsuorat$Kustannuslaji <- "Sivukulu"
epäsuorat$summa <- epäsuorat$Sivukulu
out <- rbind(out, epäsuorat)


# Menot merkitään negatiivisiksi, jotta voidaan laskea tulot ja menot yhteen.
# Menot merkitään negatiivisiksi, jotta voidaan laskea tulot ja menot yhteen.
Rivi 116: Rivi 151:
return(out)
return(out)
}
}
#out <- budjettilaskenta("Op_fi2682", rahoittaja = "STM", projekti = "Tekaisu", työpaketti = "TP1", työpaketti.add = "TP1", rahoittaja.add = "THL")
#print(xtable(out), type = 'html')


################### Budjettiyhteenveto laskee erilaisia summatauluja budjettilaskennan tuottamasta taulusta, jossa on jokainen tapahtuma eritelty.
################### Budjettiyhteenveto laskee erilaisia summatauluja budjettilaskennan tuottamasta taulusta, jossa on jokainen tapahtuma eritelty.


budjettiyhteenveto <- function(budjettitaulu, jaottelu = c(1,2,3)) {
budjettiyhteenveto <- function(budjettitaulu, jaottelu = c(1,2,3), param = "summa") {
out <- budjettitaulu
out <- budjettitaulu
# Kaikki palkat muutetaan samanlaisiksi.
# Kaikki palkat muutetaan samanlaisiksi.
Rivi 130: Rivi 161:


jaottelu <- c("tulomeno", c("Projekti", "Työpaketti", "Vuosi", "Laitos", "Rahoittaja", "Kustannuslaji")[jaottelu])
jaottelu <- c("tulomeno", c("Projekti", "Työpaketti", "Vuosi", "Laitos", "Rahoittaja", "Kustannuslaji")[jaottelu])
out <- as.data.frame(as.table(tapply(out$summa, out[, jaottelu], sum)))
out <- as.data.frame(as.table(tapply(out[, param], out[, jaottelu], sum)))


# Tyhjät rivit poistetaan ja otsikoita parannetaan.
# Tyhjät rivit poistetaan ja otsikoita parannetaan.
colnames(out)[colnames(out) == "Freq"] <- "Summa"
colnames(out)[colnames(out) == "Freq"] <- param
out <- out[!is.na(out$Summa), ]
out <- out[!is.na(out[param]), ]


return(out)
return(out)
}
}


 
############################# htkk
#print(xtable(budjettiyhteenveto(out, jaottelu)), type='html')
# parametrit: budjettitaulu: budjettilaskenta-funktion tuottama data.frame.
#print(xtable(budjettiyhteenveto(out, c(2,6))), type='html')
#            jaottelu:     ne selitteet, jotka eritellään (Projekti, Työpaketti, Vuosi, Laitos, Rahoittaja, Kustannuslaji)
 
htkk <- function(budjettitaulu, jaottelu = c(1,2,3)) {
#out <- budjettiyhteenveto(out, c(3,5))
out <- budjettitaulu
#out <- out[out$tulomeno == "Tulot", ]
out <- out[substr(paste(out$Kustannuslaji, "     "), 1, 6) == "Palkka" & out$tulomeno == "Menot", ]
#print(xtable(out), type='html')
out <- budjettiyhteenveto(out, param = "htkk")
 
return(out)
</rcode>
 
'''Tällä käyttöliittymällä ohjataan budjettilaskentaa:
 
<rcode variables="
name:kustannuslaji.add|type:selection|default:'Palkka VT7'|options:'Palkka VT6';Palkka VT6;'Palkka VT7';Palkka VT7;'Palkka VT8';Palkka VT8;'Ostopalvelu';Ostopalvelu;'Matka';Matka;'Tarvike';Tarvike|
category:Voit testata budjettia tällä tilapäisellä lisätapahtumalla.|
name:määrä.add|default:0|
name:kuvaus.add|type:text
" include="page:Projektinhallinta|name:budjetti">
budjettilaskenta("Tähän tapahtumatiedot sisältävän sivun tunniste")
</rcode>
 
====generic====
 
Tämä koodi sisältää funktiot '''dropall''' ja '''PTable''' ja luonnokset koodeista EVPI, EVPPI, stattable.
 
<rcode name="generic">
##### dropall #################################
 
dropall <- function(x){
 
## dropall pudottaa data.framesta pois kaikki faktorien sellaiset levelit, joita ei käytetä.
## parametrit: x = data.frame  
 
    isFac <- NULL
    for (i in 1:dim(x)[2]){isFac[i] = is.factor(x[ , i])}
 
    for (i in 1:length(isFac)){
        x[, i] <- x[, i][ , drop = TRUE]
        }
    return(x)
    }
 
##### PTable ####################################
 
PTable <- function(P, n) {
 
## PTable muuntaa arvioinnin todennäköisyystaulun sopivaan muotoon arviointia varten.
## Parametrit: P = todennäköisyystaulu Opasnet-kannasta kaivettuna.
##            n = iteraatioiden lukumäärä Monte Carlossa
## Todennäköisyystaulun sarakkeiden on oltava: Muuttuja, Selite, Lokaatio, P
## Tuotteena on Monte Carloa varten tehty taulu, jonka sarakkeina ovat
## n (iteraatio) ja kaikki todennäköisyystaulussa olleet selitteet, joiden riveille on arvottu
## lokaatiot niiden todennäköisyyksien mukaisesti, jotka todennäköisyystaulussa oli annettu.
 
Pt <- unique(P[,c("Muuttuja", "Selite")])
Pt <- data.frame(Muuttuja = rep(Pt$Muuttuja, n), Selite = rep(Pt$Selite, n), obs = rep(1:n, each = nrow(Pt)), P = runif(n*nrow(Pt), 0, 1))
for(i in 2:nrow(P)){P$Result[i] <- P$Result[i] + ifelse(P$Muuttuja[i] == P$Muuttuja[i-1] & P$Selite[i] == P$Selite[i-1], P$Result[i-1], 0)}
P <- merge(P, Pt)
P <- P[P$P <= P$Result, ]
Pt <- as.data.frame(as.table(tapply(P$Result, as.list(P[, c("Muuttuja", "Selite", "obs")]), min)))
colnames(Pt) <- c("Muuttuja", "Selite", "obs", "Result")
Pt <- Pt[!is.na(P$Result), ]
P <- merge(P, Pt)
P <- P[, !colnames(P) %in% c("Result", "P", "Muuttuja")]
P <- reshape(P, idvar = "obs", timevar = "Selite", v.names = "Lokaatio", direction = "wide")
colnames(P) <- ifelse(substr(colnames(P), 1, 9) == "Lokaatio.", substr(colnames(P), 10,30), colnames(P))
return(P)
}
}
######################################
###########################################################################################3
############ tidy4: a function that cleans the tables from Opasnet Base. Uses S4 class.
# data is a table from op_baseGetData function
tidy4 <- function (data) {
data$Result <- ifelse(!is.na(data$Result.Text), as.character(data$Result.Text), data$Result)
if("Observation" %in% colnames(data)){test <- data$Observation != "Description"} else {test <- TRUE}
if("Havainto" %in% colnames(data)){test <- data$Havainto != "kuvaus"}
data <- data[test, !colnames(data) %in% c("id", "obs", "Result.Text")]
if(sum(is.na(as.numeric(as.character(data$Result)))) == 0) {data$Result <- as.numeric(as.character(data$Result))}
return(data)
}


##### EVPI = Expected Value of Perfect Information #############


EVPI <- function(outcome, decision){
out <- budjettilaskenta("Op_fi2682", rahoittaja = "STM", projekti = "Tekaisu", työpaketti = "TP1", työpaketti.add = työpaketti.add, rahoittaja.add = rahoittaja.add, kustannuslaji.add = kustannuslaji.add, määrä.add = määrä.add, kuvaus.add = kuvaus.add)


#### DOES NOT WORK YET
## evpi produces the expected value of perfect information about a decision situation.


# Current code was developed for a previous version and does not yet work.
out <- out[out$Työpaketti %in% työpakettirajaus, ]
 
evpi <- (apply(apply(cost, c(2,3,4), mean, na.rm=TRUE), c(1,3), min, na.rm=TRUE) - apply(apply(cost, c(1,2,4), min,
na.rm=TRUE), c(2,3), mean, na.rm=TRUE))/1e6
plot5 <- as.data.frame(as.table(apply(evpi, 2, sum)))
plot5 <- ggplot(plot5, aes(Var1, weight=Freq)) + geom_bar(position="dodge") +
scale_x_discrete("Year") + scale_y_continuous("Value of perfect information (M€)")
plot5
}
 
##### EVPPI = Expected Value of Partial Perfect Information ###########
 
EVPPI <- function(outcome, decision, vars) {
 
#### DOES NOT WORK YET
## EVPPI calculates the expected value of partial perfect information for a decision.
## Parameters: all parameters must have the same length n = number of iterations.
##            outcome = outcome of interest (a vector with numeric values)
##            decision = decision options (a vector with numeric or character values)
##            vars = uncertain variables of interest (a data.frame with one column for each variable)
 
# Current code was developed for a previous version and does not yet work.
aer <- DataframeToArray(ae)
aer <- aer[,,c(2,1,4,5),]
dropnonmax <- function(x) {
x[x<max(x, na.rm = TRUE)] <- NA
return(x)
}
aer <- apply(aer, c(1,2,4), dropnonmax)
aer <- as.data.frame(as.table(aer))
aer <- aer[,c(2,3,1,4,5)]
colnames(aer)[3] <- "Policy"
aer <- aer[is.na(aer[,"Freq"])==FALSE,]
aer <- IntArray(aer, cost, "Cost")
aer <- DataframeToArray(aer[,c("obs","Country","Year","Cost")],"Cost")
test2 <- (apply(apply(cost, c(2,3,4), mean, na.rm=TRUE), c(1,3), min, na.rm=TRUE) - apply(aer, c(2,3), mean))/1e6
plot6 <- as.data.frame(as.table(apply(test2, 2, sum)))
plot6 <- ggplot(plot6, aes(Var1, weight=Freq)) + geom_bar(position="dodge") +
scale_x_discrete("Year") + scale_y_continuous("Value of perfect information (M€)")
plot6
test2==evpi #test whether the values are the same
test2-evpi
# It seems that for some reason aer evppi is slightly smaller than evpi,
# although it should be the only variable that varies in the "Policy" dimension
}
 
##### stattable ##########################################
 
stattable <- function(data, outcome, indices, obs = "obs", P = 0.95, dec = 2) {
 
#### DOES NOT WORK YET
## stattable calculates mean, sd, and P % confidence intervals for a data.frame.
## Parameters: data    = data.frame with the values
##            outcome = name of the column in data containing the outcome.
##            indices = a vector of names of columns used as indices.
##            obs    = name of the column in data containing the number of iteration.
##            P      = probability that the true outcome is between the confidence interval.
 
out <- tapply(data[, colnames(data) == outcome], c(indices, obs), sum, na.rm=TRUE)
ci <- apply(out, 1:length(indices), quantile, probs=c((1-P)/2, 1/2+P/2))
means <- apply(out, 1:length(indices), mean)
sd <- apply(out, 1:length(indices), sd)
out <- paste(round(means), " ± ", sd, " (", round(ci[1,,]), "-", round(ci[2,,]), ")", sep="")
out
}
</rcode>
 
 
==Budjetti==
 
Toimenpiteiden priorisoinnin ja TVA-valmiuksien luomisen osioita (TP2+TP3) rahoitettaisiin terveydensuojeluohjelmaan varatuilla rahoilla (2012-2014). Päätöksenteon uudet mallit -osion ensimmäinen vaihe rahoitettaisiin STM:n tutkimus- ja kehitysrahoista (2012) ja toinen ja kolmas vaihe rahoitettaisiin Kaste2-ohjelmasta (2013-2014). Ohjaus- ja seurantaryhmien kulut hallinnoitaisiin TP3:n osana.
 
{|{{prettytable}}
|+ Suuntaa antava arvio työmäärän (ja kustannusten) jakautumisesta eri osioihin ja eri ajanjaksoille (htkk).
! Osio!! 2012!! 2013!! 2014!! Yhteensä
|-----
| TP1 Päätöksenteon uudet mallit|| 12|| 24|| 18|| 54
|-----
| TP2 Toimenpiteiden priorisointi|| 14|| 8|| 4|| 26
|-----
| TP3 TVA-valmiudet|| 6|| 12|| 12|| 30
|-----
| TP4 Lainsäädännön ja sen toimeenpanon arviointi <sup>*</sup>|| -|| -|| -|| -
|-----
| TP5 Päätöksenteon uudistaminen<sup>**</sup>|| 0|| 12?|| 48?|| 60?
|-----
| Yhteensä|| 32|| 56?|| 82?|| 170?
|}
 
<sup>*</sup> TP4 suoritetaan virkatyönä STM- ja YM-ministeriöissä, eikä sen työmäärä näy tässä.
 
<sup>**</sup> TP5 suunnitelma on vain suuntaa-antava, koska se suunnitellaan yksityiskohtaisesti vasta 2012 aikana. Näyttää kuitenkin selvältä, että loppua kohden sen työmäärä tulee olemaan selvästi suurempi kuin muissa työpaketeissa yhteensä.
 
 
'''TP1
 
Työmäärä ensimmäisessä vaiheessa on n. 12 htkk, toisessa vaiheessa n. 30 htkk ja kolmannessa vaiheessa n. 6 htkk.
 
{|{{prettytable}}
|+ TP1:n vuotuiset työmäärät ja htkk:ien jakautuminen osallistujien kesken
! Osallistuja
! 2012
! 2013
! 2014
! Yhteensä
|-----
| Kilpailutettava partneri
| 9
| 12
| 12
| 33
|-----
| THL (Jouni Tuomisto, N.N.)
| 2
| 2
| 1
| 5
|-----
| Kuopion kaupunki
| 1
| 4
| 2
| 7
|-----
| Muu kunta
| 0
| 4
| 2
| 6
|-----
| Pohjois-Savon (tai muu) ELY-keskus
| 0
| 1
| 0,5
| 1,5
|-----
| Itä-Suomen (tai muu) AVI
| 0
| 1
| 0,5
| 1,5
|-----
| Yhteensä
| 12
| 24
| 18
| 54
|}
 
{| {{prettytable}}
|+ '''Osabudjetti työpaketille TP1 vuodelle 2012.'''
! Laitos !! Rahoittaja !! Kustannuslaji !! Summa
|----
|| Kuopio || || Palkka || -3000
|----
|| Kuopio || || Sivukulu || -1050
|----
|| Kuopio || || Yleiskustannus || 0
|----
|| Kilpailutettava partneri || || Palkka || -36000
|----
|| Kilpailutettava partneri || || Sivukulu || -22680
|----
|| Kilpailutettava partneri || || Yleiskustannus || -8802
|----
|| THL || || Palkka || -4200
|----
|| THL || || Sivukulu || -2394
|----
|| THL || || Yleiskustannus || -989
|----
|| THL || || Ostopalvelu || -2000
|----
! Menot yhteensä|| || ||-81115
|----
|| || Kuopio || || 4050
|----
|| || STM || || 70000
|----
|| || THL || || 7065
|----
! Tulot yhteensä || || ||81115
|}
 
 
 
'''TP2
 
''Ensimmäinen vaihe:'' terveysvaikutusten arviointi
 
*Altisteiden listaaminen (kemikaaliohjelma ym.) (1 htkk)
*Terveysvaikutusten listaaminen (1 htkk)
*Annos-vastefunktioiden listaaminen (mm. IRIS ja muut kv-tietokannat) (1 htkk)
*Altistustasojen arviointi (1 htkk)
*Terveysvaikutusten arviointi (1 htkk)
*Insidenssi-tautikuormamuunnokset (2 htkk)
 
''Toinen vaihe:'' toimenpidekustannukset ja priorisointi
 
*Riskinhallintavaihtoehtojen identifiointi (kirjallisuuskatsaus) (2 htkk)
*Riskinhallintakustannusten arviointi (3 htkk)
 
Yht 12 htkk (maisteri tai postdoc tasoinen)
 
Työn ohjaus 2 htkk (erikoistutkija tai dosentti)
 
 
{| {{prettytable}}
|+ '''Osabudjetti työpaketeille TP2 ja TP3 (Terveydensuojeluohjelma) vuodelle 2012.'''
! Laitos !! Rahoittaja !! Kustannuslaji !! Summa
|----
|| THL || || Ostopalvelu || -14000
|----
|| THL || || Palkka || -71050
|----
|| THL || || Sivukulu || -40499
|----
|| THL || || Yleiskustannus || -16732
|----
! Menot yhteensä || || || -142281
|----
|| || STM || || 100000
|----
|| || THL || || 42281
|----
!Tulot yhteensä|| || || 142281
|}
 
 
===Kokonaisbudjetti 2012 - 2014===
 
<t2b index="Obs,Rahoittaja,Laitos,Työpaketti,Kustannuslaji,Vuosi" locations="2012,2013,2014,kuvaus" unit="€, pm">
1|STM|Tuntematon|TP1|Palkka VT5|5|12|12|Kilpailutettava työ: projektikoordinaattori htkk à 7500 (sis sivukulut+YK)
26|THL|Nordem|TP1|Ostopalvelu|8000|0|0|Mikko Pohjola: Environmental health assessment for use
2|STM|THL|TP1|Palkka VT4|1|1|1|Erikoistutkija Jouni Tuomisto
3|STM|THL|TP1|Tulot|0|0|0|Tuke-rahoitus
4|STM|THL|TP1|Tulot|0|100000|80000|Kaste2-rahoitus
27|STM|THL|TP1|Tulot|35000|0|0|STM:n ympäristöterveyden hankerahoitus (terveydensuojeluohjelma)
5|THL|THL|TP1|Palkka VT4|1|1|1|TULOVASTA: THL:n budjettirahaa omien työntekijöiden palkkoihin (J.T.)
6|THL|THL|TP1|Tulot|1|1|1|TULOLOPUT: THL:n rahoitus puuttuvasta osuudesta
7|STM|THL|TP2|Palkka VT6|3|3|3|Tutkija A.A. (ympäristöterveys)
9|STM|THL|TP2|Palkka VT6|8|6|2|Tutkija N.N. (arviointi ja päätöksenteko)
28|STM|THL|TP2|Palkka VT9|5|0|0|Graduntekijä 2 kpl I.?. ja ?.K.
10|STM|THL|TP2|Ostopalvelu|6000|12000|12000|Muut kulut (mm. ostopalveluna tiedonkeräystä piloteissa)
11|STM|THL|TP2|Tulot|50000|28000|28000|STM:n ympäristöterveyden hankerahoitus (terveydensuojeluohjelma)
12|THL|THL|TP2|Tulot|1|1|1|TULOLOPUT: THL:n budjettirahaa
13|STM|THL|TP3|Tulot|15000|37000|37000|STM:n ympäristöterveyden hankerahoitus (terveydensuojeluohjelma)
14|STM|THL|TP3|Palkka VT4|1|2|2|Erikoistutkija Jouni Tuomisto
15|STM|THL|TP3|Palkka VT5|0.5|0.5|0.5|Asiantuntija T.K.
16|EU|THL|TP3|Palkka VT7|2|3|3|Ympäristöinsinööri M.S., Kuopion edustaja pilotissa
28|EU|THL|TP3|Palkka VT7|1|1|1|TULOVASTA: Ympäristöinsinööri M.S., rahoitus Urgenche-projektista joka palvelee myös tätä työtä
17|THL|THL|TP3|Palkka VT4|1|1|1|TULOVASTA: THL:n budjettirahaa omien työntekijöiden palkkoihin (J.T.)
18|THL|THL|TP3|Tulot|1|1|1|TULOLOPUT: THL:n budjettirahaa
19|STM|THL|TP5|Palkka VT6|0|12|48|Toimintatapojen jalkauttamisprojektin koordinaattori N.N.
20|STM|THL|TP5|Tulot|0|35000|35000|STM:n ympäristöterveyden hankerahoitus
21|STM|THL|TP5|Tulot|1|1|1|TULOLOPUT: STM:n erillismääräraha toimintatapojen jalkauttamiseen
22|STM|THL|TP1|Ostopalvelu|2000|2000|2000|Tiedonkeruuta
23|STM|THL|TP3|Ostopalvelu|2000|2000|2000|Tiedonkeruuta
24|Kuopio|Kuopio|TP1|Palkka VT6|1|4|2|Kuopion kaupungin osallistuminen kartoitukseen
25|Kuopio|Kuopio|TP1|Palkka VT6|1|1|1|TULOVASTA: Kuopion rahoitus virkatyönä tehtävään osallistumiseen
</t2b>
 
===R-koodit budjetin ajamiseen===
 
'''Tämä koodi tuottaa vain tapahtumalistauksen ilman yhteenvetoja.
 
<rcode include="page:Projektinhallinta|name:budjetti" variables = "
name:työpakettirajaus|description:Tarkasteltava työpaketti|type:selection|options:'Kaikki';Kaikki työpaketit;'TP1';TP1;'TP2';TP2;'TP3';TP3;'TP5';TP5|default:Kaikki|
category:Voit rajata tarkastelusi yhteen työpakettiin tai vuoteen.|
name:vuosirajaus|description:Tarkasteltava vuosi|type:selection|options:'Kaikki';Kaikki vuodet;'2012';2012;'2013';2013;'2014;2014|default:'Kaikki vuodet'
">
out <- budjettilaskenta("Op_fi2682", rahoittaja = "STM", projekti = "Tekaisu", työpaketti = "TP1", työpaketti.add = "TP1", rahoittaja.add = "THL")
if(työpakettirajaus != "Kaikki") {out <- out[out$Työpaketti == työpakettirajaus, ]}
if(vuosirajaus != "Kaikki") {out <- out[out$Vuosi == vuosirajaus, ]}
if(vuosirajaus != "Kaikki") {out <- out[out$Vuosi == vuosirajaus, ]}


print(xtable(out), type = 'html')
print(xtable(out), type = 'html')
</rcode>
'''Tämä tuottaa halutut yhteenvedot mutta ei tapahtumalistausta.
<rcode include="page:Projektinhallinta|name:budjetti" variables="
name:jaottelu|description:Mitkä jaottelut haluat näyttää yhteenvedossa?|type:checkbox|options:1;Projekti;2;Työpaketti;3;Vuosi;4;Laitos;5;Rahoittaja;6;Kustannuslaji|default:2;3|
category:Voit valita näytettävät yksityiskohdat ja myös rajata tarkastelusi yhteen työpakettiin tai vuoteen.|
name:työpakettirajaus|description:Tarkasteltavat työpaketit|type:checkbox|options:'TP1';TP1;'TP2';TP2;'TP3';TP3;'TP5';TP5|default:'TP1';'TP2';'TP3'|
name:vuosirajaus|description:Tarkasteltava vuosi|type:selection|options:'Kaikki';Kaikki vuodet;'2012';2012;'2013';2013;'2014';2014|default:'2012'|
name:työpaketti.add|description:Työpaketti|type:selection|options:'TP1';TP1;'TP2';TP2;'TP3';TP3;'TP5';TP5|default:TP1|
category:Voit testata budjettia tällä tilapäisellä lisätapahtumalla.|
name:rahoittaja.add|description:Rahoittaja|type:selection|options:'THL';THL;'STM';STM|default:'STM'|
name:kustannuslaji.add|description:Kustannuslaji|type:selection|default:'Palkka VT7'|options:'Palkka VT3';Palkka VT3;'Palkka VT4';Palkka VT4;'Palkka VT5';Palkka VT5;'Palkka VT6';Palkka VT6;'Palkka VT7';Palkka VT7;'Palkka VT8';Palkka VT8;'Palkka VT9';Palkka VT9;'Palkka VT10';Palkka VT10;'Ostopalvelu';Ostopalvelu;'Matka';Matka;'Tarvike';Tarvike|
name:määrä.add|description:Budjettiin lisättävä summa|default:0|
name:kuvaus.add|type:text
">
out <- budjettilaskenta("Op_fi2682", rahoittaja = "STM", projekti = "Tekaisu", työpaketti = "TP1", työpaketti.add = työpaketti.add, rahoittaja.add = rahoittaja.add, kustannuslaji.add = kustannuslaji.add, määrä.add = määrä.add, kuvaus.add = kuvaus.add)
out <- out[out$Työpaketti %in% työpakettirajaus, ]
if(vuosirajaus != "Kaikki") {out <- out[out$Vuosi == vuosirajaus, ]}
print(xtable(budjettiyhteenveto(out, jaottelu)), type='html', html.table.attributes="class='sortable'")
print(xtable(budjettiyhteenveto(out, jaottelu)), type='html', html.table.attributes="class='sortable'")
print(xtable(budjettiyhteenveto(out[out$tulomeno == "Tulot", ], jaottelu)), type='html', html.table.attributes="class='sortable'")
print(xtable(budjettiyhteenveto(out[out$tulomeno == "Tulot", ], jaottelu)), type='html', html.table.attributes="class='sortable'")
print(xtable(budjettiyhteenveto(out[out$tulomeno == "Menot", ], jaottelu)), type='html', html.table.attributes="class='sortable'")
print(xtable(budjettiyhteenveto(out[out$tulomeno == "Menot", ], jaottelu)), type='html', html.table.attributes="class='sortable'")
print(xtable(htkk(out, jaottelu)), type = 'html', html.table.attributes="class='sortable'")


tulot <- budjettiyhteenveto(out, c(3,5))
tulot <- budjettiyhteenveto(out, c(3,5))
Rivi 537: Rivi 220:


print(xtable(out), type='html', html.table.attributes="class='sortable'")
print(xtable(out), type='html', html.table.attributes="class='sortable'")
</rcode>
</rcode>


{{tuloslinkki}}
{{tuloslinkki}}

Nykyinen versio 2. huhtikuuta 2012 kello 14.35


R-koodi

Voit valita näytettävät yksityiskohdat ja myös rajata tarkastelusi yhteen työpakettiin tai vuoteen.

Mitkä jaottelut haluat näyttää yhteenvedossa?:
Projekti
Työpaketti
Vuosi
Laitos
Rahoittaja
Kustannuslaji

Tarkasteltavat työpaketit:
TP1
TP2
TP3
TP5

Tarkasteltava vuosi:

Voit testata budjettia tällä tilapäisellä lisätapahtumalla.

Työpaketti:

Rahoittaja:

Kustannuslaji:

Budjettiin lisättävä summa:

kuvaus.add:

+ Näytä koodi


{{#opasnet_base_link:Op_fi2912}}