|
|
(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}} |