Skip to content

perjantai 22.05.2026

Liikunta Kulutus Syöty Paino (mitattu)
894 kcal 2386 kcal 2181 kcal 62.0 kg (21.05.2026)

Hiilihydraatit Proteiinit Rasvat
200 g /358 g 92 g /119 g 106 g /106 g

Suositukset: THL https://urn.fi/URN:ISBN:978-952-408-405-5

Askeleet (matka) Pyöräilty matka
15517 (19.3 km) 0.0 km

RuokakcalAika
Lounas 1
Kaura & chia siemennäkkileipä124 kcal11:11
Levite27 kcal11:11
Pasta, cooked111 kcal11:11
Falafel283 kcal11:12
Marinoitu punasipuli68 kcal11:13
Punakaali, raaka7 kcal11:13
Hillosipulit10 kcal11:14
Kurkku6 kcal11:15
Paprika (punainen)14 kcal11:15
Thousand Island -salaattikastike56 kcal11:15
Tomaatti10 kcal11:15
Kasvisborssi131 kcal11:21
Lounas 2
Nocco focus cola3 kcal13:55
Ekströms Mustaherukkamehu75 kcal14:02
Iltaruoka 1
Kasvisrasvalevite 70%38 kcal17:44
Kaura & chia siemennäkkileipä248 kcal17:44
Kasvisleikkele28 kcal17:44
Iltaruoka 2
Isey skyr toffee280 kcal23:03
Pätkis Maxi Crunchy280 kcal23:03
Pellervo127 kcal23:05
Kasvisrasvalevite 70%32 kcal23:09
Kasvisleikkele42 kcal23:09
Kappeli juusto84 kcal23:09
Tomaatti5 kcal23:09
Kurkku6 kcal23:09
Lins- och ärtkakor (protein) popcorn85 kcal23:13

Ei tietoja

Tälle päivälle ei ole merkitty mitään kiputietoja.

Liikutut kalorit: 893 kcal
Päivän nettokalorit: -204 kcal

Treeni: Frisbee golf

(UDisc)

Virpiniemi DiscGolfPark

Väylä 123456789101112131415161718
Par 333334334353445334
+/- +3+2+1+4+1+5-0+3+4+1+3+1+4+2+4+3+3+3
Väylien historia

Väylä 1

{ "description": "Virpiniemi DiscGolfPark", "data": {"url" : "assets/charts/frisbee.csv"}, "transform": [ {"filter": "datum.rata==='virpiniemi-discgolfpark' && datum.reika==='1'"}, {"calculate": "datum.tulos > 0 ? datum.tulos - datum.par : null", "as": "suhteellinen_tulos"}, {"calculate": "datum.suhteellinen_tulos===0 ? -0.3 : datum.suhteellinen_tulos", "as": "piirrettava_tulos"}, {"calculate": "datum.suhteellinen_tulos===null ? false : null", "as": "heitetty"}, {"calculate": "datum.paivan_tulos===-0.3 ? false : null", "as": "tasan_par"} ], "config": {"legend": {"orient": "bottom"}}, "layer": [ { "mark": {"type": "line", "point": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm"}, "y": {"field": "suhteellinen_tulos", "type": "quantitative", "title": "Tulos", "scale": {"domain": [-5, 8]}}, "color": "blue" } }, { "mark": {"type": "rule", "color": "black"}, "encoding": { "y": {"datum": 0} } } ] }

Väylä 2

{ "description": "Virpiniemi DiscGolfPark", "data": {"url" : "assets/charts/frisbee.csv"}, "transform": [ {"filter": "datum.rata==='virpiniemi-discgolfpark' && datum.reika==='2'"}, {"calculate": "datum.tulos > 0 ? datum.tulos - datum.par : null", "as": "suhteellinen_tulos"}, {"calculate": "datum.suhteellinen_tulos===0 ? -0.3 : datum.suhteellinen_tulos", "as": "piirrettava_tulos"}, {"calculate": "datum.suhteellinen_tulos===null ? false : null", "as": "heitetty"}, {"calculate": "datum.paivan_tulos===-0.3 ? false : null", "as": "tasan_par"} ], "config": {"legend": {"orient": "bottom"}}, "layer": [ { "mark": {"type": "line", "point": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm"}, "y": {"field": "suhteellinen_tulos", "type": "quantitative", "title": "Tulos", "scale": {"domain": [-5, 8]}}, "color": "blue" } }, { "mark": {"type": "rule", "color": "black"}, "encoding": { "y": {"datum": 0} } } ] }

Väylä 3

{ "description": "Virpiniemi DiscGolfPark", "data": {"url" : "assets/charts/frisbee.csv"}, "transform": [ {"filter": "datum.rata==='virpiniemi-discgolfpark' && datum.reika==='3'"}, {"calculate": "datum.tulos > 0 ? datum.tulos - datum.par : null", "as": "suhteellinen_tulos"}, {"calculate": "datum.suhteellinen_tulos===0 ? -0.3 : datum.suhteellinen_tulos", "as": "piirrettava_tulos"}, {"calculate": "datum.suhteellinen_tulos===null ? false : null", "as": "heitetty"}, {"calculate": "datum.paivan_tulos===-0.3 ? false : null", "as": "tasan_par"} ], "config": {"legend": {"orient": "bottom"}}, "layer": [ { "mark": {"type": "line", "point": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm"}, "y": {"field": "suhteellinen_tulos", "type": "quantitative", "title": "Tulos", "scale": {"domain": [-5, 8]}}, "color": "blue" } }, { "mark": {"type": "rule", "color": "black"}, "encoding": { "y": {"datum": 0} } } ] }

Väylä 4

{ "description": "Virpiniemi DiscGolfPark", "data": {"url" : "assets/charts/frisbee.csv"}, "transform": [ {"filter": "datum.rata==='virpiniemi-discgolfpark' && datum.reika==='4'"}, {"calculate": "datum.tulos > 0 ? datum.tulos - datum.par : null", "as": "suhteellinen_tulos"}, {"calculate": "datum.suhteellinen_tulos===0 ? -0.3 : datum.suhteellinen_tulos", "as": "piirrettava_tulos"}, {"calculate": "datum.suhteellinen_tulos===null ? false : null", "as": "heitetty"}, {"calculate": "datum.paivan_tulos===-0.3 ? false : null", "as": "tasan_par"} ], "config": {"legend": {"orient": "bottom"}}, "layer": [ { "mark": {"type": "line", "point": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm"}, "y": {"field": "suhteellinen_tulos", "type": "quantitative", "title": "Tulos", "scale": {"domain": [-5, 8]}}, "color": "blue" } }, { "mark": {"type": "rule", "color": "black"}, "encoding": { "y": {"datum": 0} } } ] }

Väylä 5

{ "description": "Virpiniemi DiscGolfPark", "data": {"url" : "assets/charts/frisbee.csv"}, "transform": [ {"filter": "datum.rata==='virpiniemi-discgolfpark' && datum.reika==='5'"}, {"calculate": "datum.tulos > 0 ? datum.tulos - datum.par : null", "as": "suhteellinen_tulos"}, {"calculate": "datum.suhteellinen_tulos===0 ? -0.3 : datum.suhteellinen_tulos", "as": "piirrettava_tulos"}, {"calculate": "datum.suhteellinen_tulos===null ? false : null", "as": "heitetty"}, {"calculate": "datum.paivan_tulos===-0.3 ? false : null", "as": "tasan_par"} ], "config": {"legend": {"orient": "bottom"}}, "layer": [ { "mark": {"type": "line", "point": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm"}, "y": {"field": "suhteellinen_tulos", "type": "quantitative", "title": "Tulos", "scale": {"domain": [-5, 8]}}, "color": "blue" } }, { "mark": {"type": "rule", "color": "black"}, "encoding": { "y": {"datum": 0} } } ] }

Väylä 6

{ "description": "Virpiniemi DiscGolfPark", "data": {"url" : "assets/charts/frisbee.csv"}, "transform": [ {"filter": "datum.rata==='virpiniemi-discgolfpark' && datum.reika==='6'"}, {"calculate": "datum.tulos > 0 ? datum.tulos - datum.par : null", "as": "suhteellinen_tulos"}, {"calculate": "datum.suhteellinen_tulos===0 ? -0.3 : datum.suhteellinen_tulos", "as": "piirrettava_tulos"}, {"calculate": "datum.suhteellinen_tulos===null ? false : null", "as": "heitetty"}, {"calculate": "datum.paivan_tulos===-0.3 ? false : null", "as": "tasan_par"} ], "config": {"legend": {"orient": "bottom"}}, "layer": [ { "mark": {"type": "line", "point": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm"}, "y": {"field": "suhteellinen_tulos", "type": "quantitative", "title": "Tulos", "scale": {"domain": [-5, 8]}}, "color": "blue" } }, { "mark": {"type": "rule", "color": "black"}, "encoding": { "y": {"datum": 0} } } ] }

Väylä 7

{ "description": "Virpiniemi DiscGolfPark", "data": {"url" : "assets/charts/frisbee.csv"}, "transform": [ {"filter": "datum.rata==='virpiniemi-discgolfpark' && datum.reika==='7'"}, {"calculate": "datum.tulos > 0 ? datum.tulos - datum.par : null", "as": "suhteellinen_tulos"}, {"calculate": "datum.suhteellinen_tulos===0 ? -0.3 : datum.suhteellinen_tulos", "as": "piirrettava_tulos"}, {"calculate": "datum.suhteellinen_tulos===null ? false : null", "as": "heitetty"}, {"calculate": "datum.paivan_tulos===-0.3 ? false : null", "as": "tasan_par"} ], "config": {"legend": {"orient": "bottom"}}, "layer": [ { "mark": {"type": "line", "point": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm"}, "y": {"field": "suhteellinen_tulos", "type": "quantitative", "title": "Tulos", "scale": {"domain": [-5, 8]}}, "color": "blue" } }, { "mark": {"type": "rule", "color": "black"}, "encoding": { "y": {"datum": 0} } } ] }

Väylä 8

{ "description": "Virpiniemi DiscGolfPark", "data": {"url" : "assets/charts/frisbee.csv"}, "transform": [ {"filter": "datum.rata==='virpiniemi-discgolfpark' && datum.reika==='8'"}, {"calculate": "datum.tulos > 0 ? datum.tulos - datum.par : null", "as": "suhteellinen_tulos"}, {"calculate": "datum.suhteellinen_tulos===0 ? -0.3 : datum.suhteellinen_tulos", "as": "piirrettava_tulos"}, {"calculate": "datum.suhteellinen_tulos===null ? false : null", "as": "heitetty"}, {"calculate": "datum.paivan_tulos===-0.3 ? false : null", "as": "tasan_par"} ], "config": {"legend": {"orient": "bottom"}}, "layer": [ { "mark": {"type": "line", "point": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm"}, "y": {"field": "suhteellinen_tulos", "type": "quantitative", "title": "Tulos", "scale": {"domain": [-5, 8]}}, "color": "blue" } }, { "mark": {"type": "rule", "color": "black"}, "encoding": { "y": {"datum": 0} } } ] }

Väylä 9

{ "description": "Virpiniemi DiscGolfPark", "data": {"url" : "assets/charts/frisbee.csv"}, "transform": [ {"filter": "datum.rata==='virpiniemi-discgolfpark' && datum.reika==='9'"}, {"calculate": "datum.tulos > 0 ? datum.tulos - datum.par : null", "as": "suhteellinen_tulos"}, {"calculate": "datum.suhteellinen_tulos===0 ? -0.3 : datum.suhteellinen_tulos", "as": "piirrettava_tulos"}, {"calculate": "datum.suhteellinen_tulos===null ? false : null", "as": "heitetty"}, {"calculate": "datum.paivan_tulos===-0.3 ? false : null", "as": "tasan_par"} ], "config": {"legend": {"orient": "bottom"}}, "layer": [ { "mark": {"type": "line", "point": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm"}, "y": {"field": "suhteellinen_tulos", "type": "quantitative", "title": "Tulos", "scale": {"domain": [-5, 8]}}, "color": "blue" } }, { "mark": {"type": "rule", "color": "black"}, "encoding": { "y": {"datum": 0} } } ] }

Väylä 10

{ "description": "Virpiniemi DiscGolfPark", "data": {"url" : "assets/charts/frisbee.csv"}, "transform": [ {"filter": "datum.rata==='virpiniemi-discgolfpark' && datum.reika==='10'"}, {"calculate": "datum.tulos > 0 ? datum.tulos - datum.par : null", "as": "suhteellinen_tulos"}, {"calculate": "datum.suhteellinen_tulos===0 ? -0.3 : datum.suhteellinen_tulos", "as": "piirrettava_tulos"}, {"calculate": "datum.suhteellinen_tulos===null ? false : null", "as": "heitetty"}, {"calculate": "datum.paivan_tulos===-0.3 ? false : null", "as": "tasan_par"} ], "config": {"legend": {"orient": "bottom"}}, "layer": [ { "mark": {"type": "line", "point": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm"}, "y": {"field": "suhteellinen_tulos", "type": "quantitative", "title": "Tulos", "scale": {"domain": [-5, 8]}}, "color": "blue" } }, { "mark": {"type": "rule", "color": "black"}, "encoding": { "y": {"datum": 0} } } ] }

Väylä 11

{ "description": "Virpiniemi DiscGolfPark", "data": {"url" : "assets/charts/frisbee.csv"}, "transform": [ {"filter": "datum.rata==='virpiniemi-discgolfpark' && datum.reika==='11'"}, {"calculate": "datum.tulos > 0 ? datum.tulos - datum.par : null", "as": "suhteellinen_tulos"}, {"calculate": "datum.suhteellinen_tulos===0 ? -0.3 : datum.suhteellinen_tulos", "as": "piirrettava_tulos"}, {"calculate": "datum.suhteellinen_tulos===null ? false : null", "as": "heitetty"}, {"calculate": "datum.paivan_tulos===-0.3 ? false : null", "as": "tasan_par"} ], "config": {"legend": {"orient": "bottom"}}, "layer": [ { "mark": {"type": "line", "point": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm"}, "y": {"field": "suhteellinen_tulos", "type": "quantitative", "title": "Tulos", "scale": {"domain": [-5, 8]}}, "color": "blue" } }, { "mark": {"type": "rule", "color": "black"}, "encoding": { "y": {"datum": 0} } } ] }

Väylä 12

{ "description": "Virpiniemi DiscGolfPark", "data": {"url" : "assets/charts/frisbee.csv"}, "transform": [ {"filter": "datum.rata==='virpiniemi-discgolfpark' && datum.reika==='12'"}, {"calculate": "datum.tulos > 0 ? datum.tulos - datum.par : null", "as": "suhteellinen_tulos"}, {"calculate": "datum.suhteellinen_tulos===0 ? -0.3 : datum.suhteellinen_tulos", "as": "piirrettava_tulos"}, {"calculate": "datum.suhteellinen_tulos===null ? false : null", "as": "heitetty"}, {"calculate": "datum.paivan_tulos===-0.3 ? false : null", "as": "tasan_par"} ], "config": {"legend": {"orient": "bottom"}}, "layer": [ { "mark": {"type": "line", "point": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm"}, "y": {"field": "suhteellinen_tulos", "type": "quantitative", "title": "Tulos", "scale": {"domain": [-5, 8]}}, "color": "blue" } }, { "mark": {"type": "rule", "color": "black"}, "encoding": { "y": {"datum": 0} } } ] }

Väylä 13

{ "description": "Virpiniemi DiscGolfPark", "data": {"url" : "assets/charts/frisbee.csv"}, "transform": [ {"filter": "datum.rata==='virpiniemi-discgolfpark' && datum.reika==='13'"}, {"calculate": "datum.tulos > 0 ? datum.tulos - datum.par : null", "as": "suhteellinen_tulos"}, {"calculate": "datum.suhteellinen_tulos===0 ? -0.3 : datum.suhteellinen_tulos", "as": "piirrettava_tulos"}, {"calculate": "datum.suhteellinen_tulos===null ? false : null", "as": "heitetty"}, {"calculate": "datum.paivan_tulos===-0.3 ? false : null", "as": "tasan_par"} ], "config": {"legend": {"orient": "bottom"}}, "layer": [ { "mark": {"type": "line", "point": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm"}, "y": {"field": "suhteellinen_tulos", "type": "quantitative", "title": "Tulos", "scale": {"domain": [-5, 8]}}, "color": "blue" } }, { "mark": {"type": "rule", "color": "black"}, "encoding": { "y": {"datum": 0} } } ] }

Väylä 14

{ "description": "Virpiniemi DiscGolfPark", "data": {"url" : "assets/charts/frisbee.csv"}, "transform": [ {"filter": "datum.rata==='virpiniemi-discgolfpark' && datum.reika==='14'"}, {"calculate": "datum.tulos > 0 ? datum.tulos - datum.par : null", "as": "suhteellinen_tulos"}, {"calculate": "datum.suhteellinen_tulos===0 ? -0.3 : datum.suhteellinen_tulos", "as": "piirrettava_tulos"}, {"calculate": "datum.suhteellinen_tulos===null ? false : null", "as": "heitetty"}, {"calculate": "datum.paivan_tulos===-0.3 ? false : null", "as": "tasan_par"} ], "config": {"legend": {"orient": "bottom"}}, "layer": [ { "mark": {"type": "line", "point": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm"}, "y": {"field": "suhteellinen_tulos", "type": "quantitative", "title": "Tulos", "scale": {"domain": [-5, 8]}}, "color": "blue" } }, { "mark": {"type": "rule", "color": "black"}, "encoding": { "y": {"datum": 0} } } ] }

Väylä 15

{ "description": "Virpiniemi DiscGolfPark", "data": {"url" : "assets/charts/frisbee.csv"}, "transform": [ {"filter": "datum.rata==='virpiniemi-discgolfpark' && datum.reika==='15'"}, {"calculate": "datum.tulos > 0 ? datum.tulos - datum.par : null", "as": "suhteellinen_tulos"}, {"calculate": "datum.suhteellinen_tulos===0 ? -0.3 : datum.suhteellinen_tulos", "as": "piirrettava_tulos"}, {"calculate": "datum.suhteellinen_tulos===null ? false : null", "as": "heitetty"}, {"calculate": "datum.paivan_tulos===-0.3 ? false : null", "as": "tasan_par"} ], "config": {"legend": {"orient": "bottom"}}, "layer": [ { "mark": {"type": "line", "point": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm"}, "y": {"field": "suhteellinen_tulos", "type": "quantitative", "title": "Tulos", "scale": {"domain": [-5, 8]}}, "color": "blue" } }, { "mark": {"type": "rule", "color": "black"}, "encoding": { "y": {"datum": 0} } } ] }

Väylä 16

{ "description": "Virpiniemi DiscGolfPark", "data": {"url" : "assets/charts/frisbee.csv"}, "transform": [ {"filter": "datum.rata==='virpiniemi-discgolfpark' && datum.reika==='16'"}, {"calculate": "datum.tulos > 0 ? datum.tulos - datum.par : null", "as": "suhteellinen_tulos"}, {"calculate": "datum.suhteellinen_tulos===0 ? -0.3 : datum.suhteellinen_tulos", "as": "piirrettava_tulos"}, {"calculate": "datum.suhteellinen_tulos===null ? false : null", "as": "heitetty"}, {"calculate": "datum.paivan_tulos===-0.3 ? false : null", "as": "tasan_par"} ], "config": {"legend": {"orient": "bottom"}}, "layer": [ { "mark": {"type": "line", "point": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm"}, "y": {"field": "suhteellinen_tulos", "type": "quantitative", "title": "Tulos", "scale": {"domain": [-5, 8]}}, "color": "blue" } }, { "mark": {"type": "rule", "color": "black"}, "encoding": { "y": {"datum": 0} } } ] }

Väylä 17

{ "description": "Virpiniemi DiscGolfPark", "data": {"url" : "assets/charts/frisbee.csv"}, "transform": [ {"filter": "datum.rata==='virpiniemi-discgolfpark' && datum.reika==='17'"}, {"calculate": "datum.tulos > 0 ? datum.tulos - datum.par : null", "as": "suhteellinen_tulos"}, {"calculate": "datum.suhteellinen_tulos===0 ? -0.3 : datum.suhteellinen_tulos", "as": "piirrettava_tulos"}, {"calculate": "datum.suhteellinen_tulos===null ? false : null", "as": "heitetty"}, {"calculate": "datum.paivan_tulos===-0.3 ? false : null", "as": "tasan_par"} ], "config": {"legend": {"orient": "bottom"}}, "layer": [ { "mark": {"type": "line", "point": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm"}, "y": {"field": "suhteellinen_tulos", "type": "quantitative", "title": "Tulos", "scale": {"domain": [-5, 8]}}, "color": "blue" } }, { "mark": {"type": "rule", "color": "black"}, "encoding": { "y": {"datum": 0} } } ] }

Väylä 18

{ "description": "Virpiniemi DiscGolfPark", "data": {"url" : "assets/charts/frisbee.csv"}, "transform": [ {"filter": "datum.rata==='virpiniemi-discgolfpark' && datum.reika==='18'"}, {"calculate": "datum.tulos > 0 ? datum.tulos - datum.par : null", "as": "suhteellinen_tulos"}, {"calculate": "datum.suhteellinen_tulos===0 ? -0.3 : datum.suhteellinen_tulos", "as": "piirrettava_tulos"}, {"calculate": "datum.suhteellinen_tulos===null ? false : null", "as": "heitetty"}, {"calculate": "datum.paivan_tulos===-0.3 ? false : null", "as": "tasan_par"} ], "config": {"legend": {"orient": "bottom"}}, "layer": [ { "mark": {"type": "line", "point": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm"}, "y": {"field": "suhteellinen_tulos", "type": "quantitative", "title": "Tulos", "scale": {"domain": [-5, 8]}}, "color": "blue" } }, { "mark": {"type": "rule", "color": "black"}, "encoding": { "y": {"datum": 0} } } ] }

Tuloskehitys

{ "description": "Kokonaistuloksen kehitys", "data": {"url" : "assets/charts/frisbee.csv"}, "transform": [ {"calculate": "datum.tulos > 0 ? datum.tulos - datum.par : null", "as": "suhteellinen_tulos"}, {"calculate": "datum.suhteellinen_tulos===0 ? -0.3 : datum.suhteellinen_tulos", "as": "piirrettava_tulos"}, {"calculate": "datum.suhteellinen_tulos===null ? false : null", "as": "heitetty"}, {"calculate": "datum.paivan_tulos===-0.3 ? false : null", "as": "tasan_par"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"} ], "layer": [ { "mark": {"type": "line", "point": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm"}, "y": {"field": "suhteellinen_tulos", "type": "quantitative", "title": "Tulos", "aggregate": "sum"}, "color": "blue" } }, { "mark": {"type": "rule", "color": "black"}, "encoding": { "y": {"datum": 0} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } } ] }

Radan tulos.  Tämä päivä (22.05.2026) 

{ "description": "Kokonaistuloksen kehitys", "data": {"url" : "assets/charts/frisbee.csv"}, "transform": [ {"calculate": "datum.tulos > 0 ? datum.tulos - datum.par : null", "as": "suhteellinen_tulos"}, {"calculate": "datum.suhteellinen_tulos===0 ? -0.3 : datum.suhteellinen_tulos", "as": "piirrettava_tulos"}, {"calculate": "datum.suhteellinen_tulos===null ? false : null", "as": "heitetty"}, {"calculate": "datum.paivan_tulos===-0.3 ? false : null", "as": "tasan_par"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"} ], "layer": [ { "mark": {"type": "line", "point": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm"}, "y": {"field": "suhteellinen_tulos", "type": "quantitative", "title": "Tulos", "aggregate": "mean"}, "color": "blue" } }, { "mark": {"type": "rule", "color": "black"}, "encoding": { "y": {"datum": 0} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } } ] }

Radan väylien keskiarvo.  Tämä päivä (22.05.2026) 

{ "description": "Kokonaistuloksen kehitys", "data": {"url" : "assets/charts/frisbee.csv"}, "transform": [ {"filter": "datum.rata ==='virpiniemi-discgolfpark'"}, {"calculate": "datum.tulos > 0 ? datum.tulos - datum.par : null", "as": "suhteellinen_tulos"}, {"calculate": "datum.suhteellinen_tulos===0 ? -0.3 : datum.suhteellinen_tulos", "as": "piirrettava_tulos"}, {"calculate": "datum.suhteellinen_tulos===null ? false : null", "as": "heitetty"}, {"calculate": "datum.paivan_tulos===-0.3 ? false : null", "as": "tasan_par"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"} ], "layer": [ { "mark": {"type": "line", "point": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm"}, "y": {"field": "suhteellinen_tulos", "type": "quantitative", "title": "Tulos", "aggregate": "sum"}, "color": "blue" } }, { "mark": {"type": "rule", "color": "black"}, "encoding": { "y": {"datum": 0} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } } ] }

Radan tulos.  Tämä päivä (22.05.2026) 

Treeni: Kevät 2026 osa 1

(Hevy)
Näytä lämppärit

Crosstrainer

Sarja Matka Aika
1 0.6 km 2.51 min

{ "description": "Kuvaus" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='elliptical_trainer'"}, {"calculate": "datum.kesto / 60.0", "as": "kesto_minuutti"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}] , "layer": [{ "mark": {"type": "line", "color": "blue", "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "kesto_minuutti", "type": "quantitative", "aggregate": "sum", "title": "Kokonaisaika (min)" }, "tooltip": {"field": "kesto_minuutti", "type": "quantitative", "aggregate": "sum"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }] }

Kokonaisaika (min)  Tämä päivä (22.05.2026) 

{ "description": "Testikaavio" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='elliptical_trainer'"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}] , "layer": [{ "mark": {"type": "line", "color": "green", "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "matka", "type": "quantitative", "aggregate": "sum", "title": "matka" }, "tooltip": {"field": "matka", "type": "quantitative", "aggregate": "sum"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }] }

matka  Tämä päivä (22.05.2026) 

{ "description": "Testikaavio" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='elliptical_trainer'"}, {"calculate": "datum.matka / (datum.kesto / 60.0 / 60.0)", "as": "nopeus"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}] , "layer": [{ "mark": {"type": "line", "color": "pink", "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "nopeus", "type": "quantitative", "aggregate": "sum", "title": "nopeus" }, "tooltip": {"field": "nopeus", "type": "quantitative", "aggregate": "sum"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }] }

nopeus  Tämä päivä (22.05.2026) 

Data-avain: elliptical_trainer

To begin, step onto the elliptical and select the desired option from the menu. Most ellipticals have a manual setting, or you can select a program to run. Typically, you can enter your age and weight to estimate the amount of calories burned during exercise. Elevation can be adjusted to change the intensity of the workout.

The handles can be used to monitor your heart rate to help you stay at an appropriate intensity.

Kahdeksikko kepillä

Sarja Aika
1 0.57 min

{ "description": "Kuvaus" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='kahdeksikko_kepilla'"}, {"calculate": "datum.kesto / 60.0", "as": "kesto_minuutti"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}] , "layer": [{ "mark": {"type": "line", "color": "blue", "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "kesto_minuutti", "type": "quantitative", "aggregate": "sum", "title": "Kokonaisaika (min)" }, "tooltip": {"field": "kesto_minuutti", "type": "quantitative", "aggregate": "sum"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }] }

Kokonaisaika (min)  Tämä päivä (22.05.2026) 

Data-avain: kahdeksikko_kepilla

Lonkan kierto istuen

Sarja Aika
1 1.32 min

{ "description": "Kuvaus" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='lonkan_kierto_istuen'"}, {"calculate": "datum.kesto / 60.0", "as": "kesto_minuutti"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}] , "layer": [{ "mark": {"type": "line", "color": "blue", "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "kesto_minuutti", "type": "quantitative", "aggregate": "sum", "title": "Kokonaisaika (min)" }, "tooltip": {"field": "kesto_minuutti", "type": "quantitative", "aggregate": "sum"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }] }

Kokonaisaika (min)  Tämä päivä (22.05.2026) 

Data-avain: lonkan_kierto_istuen

Lonkan avaus ja venytys

Sarja Aika
1 1.24 min
2 1.09 min

{ "description": "Kuvaus" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='lonkan_avaus_ja_venytys'"}, {"calculate": "datum.kesto / 60.0", "as": "kesto_minuutti"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}] , "layer": [{ "mark": {"type": "line", "color": "blue", "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "kesto_minuutti", "type": "quantitative", "aggregate": "sum", "title": "Kokonaisaika (min)" }, "tooltip": {"field": "kesto_minuutti", "type": "quantitative", "aggregate": "sum"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }] }

Kokonaisaika (min)  Tämä päivä (22.05.2026) 

Data-avain: lonkan_avaus_ja_venytys

Yhden jalan lantionnosto

Sarja Toistot
1 10
2 10
3 10
4 10

{ "description": "Toistot" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='yhden_jalan_lantionnosto'"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}, {"calculate": "datum.tyyppi==='failure' ? datum.toistot : null", "as": "fail"}] , "layer": [{ "mark": {"type": "area", "color": "lightblue", "line": true, "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "toistot", "type": "quantitative", "aggregate": "max", "title": "Toistot" , "scale": {"domain": [0.0, 22.0]}}, "y2": {"field": "toistot", "type": "quantitative", "aggregate": "min", "title": "Toistot"}, "tooltip": {"field": "toistot", "type": "quantitative", "aggregate": "min"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }, { "mark": {"type": "point", "color": "red", "shape": "circle", "size": 40, "clip": true}, "encoding": { "tooltip": {"field": "fail", "type": "quantitative", "aggregate": "max"}, "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "fail", "type": "quantitative", "aggregate": "max"} } }] }

Salikerran enimmäistoistot Vaihteluväli  Sarjaa ei tehty loppuun.  Tämä päivä (22.05.2026) 

Data-avain: yhden_jalan_lantionnosto

Asetu se­lin­ma­kuul­le, jalkapohjat maahan ja polvet noin 90 asteen kulmaan. Nosta toinen jalka ylös ja vedä polvea rintakehää kohti käsilläsi niin että alaselkä painuu alustaa vasten. Hengitä sisään.

Työnnä lantio yhden jalan varassa mah­dol­li­sim­man ylös samalla ulos hengittäen. Älä päästä alaselän notkoa kasvamaan.

Laske lantio takaisin alas sisään hengittäen.

Tee haluamasi määrä toistoja ja toista liike toisella jalalla.

Etureiden ja lonkan koukistajien venytys

Sarja Aika
1 0.42 min
2 0.44 min

{ "description": "Kuvaus" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='etureiden_ja_lonkan_koukistajien_venytys'"}, {"calculate": "datum.kesto / 60.0", "as": "kesto_minuutti"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}] , "layer": [{ "mark": {"type": "line", "color": "blue", "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "kesto_minuutti", "type": "quantitative", "aggregate": "sum", "title": "Kokonaisaika (min)" }, "tooltip": {"field": "kesto_minuutti", "type": "quantitative", "aggregate": "sum"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }] }

Kokonaisaika (min)  Tämä päivä (22.05.2026) 

Data-avain: etureiden_ja_lonkan_koukistajien_venytys

Tonin venytys

Sarja Aika
1 4.08 min

{ "description": "Kuvaus" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='tonin_venytys'"}, {"calculate": "datum.kesto / 60.0", "as": "kesto_minuutti"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}] , "layer": [{ "mark": {"type": "line", "color": "blue", "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "kesto_minuutti", "type": "quantitative", "aggregate": "sum", "title": "Kokonaisaika (min)" }, "tooltip": {"field": "kesto_minuutti", "type": "quantitative", "aggregate": "sum"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }] }

Kokonaisaika (min)  Tämä päivä (22.05.2026) 

Data-avain: tonin_venytys

Lantion hallinta korokkeella

Sarja Aika
1 1.47 min
2 0.54 min

{ "description": "Kuvaus" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='lantion hallinta korokkeella'"}, {"calculate": "datum.kesto / 60.0", "as": "kesto_minuutti"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}] , "layer": [{ "mark": {"type": "line", "color": "blue", "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "kesto_minuutti", "type": "quantitative", "aggregate": "sum", "title": "Kokonaisaika (min)" }, "tooltip": {"field": "kesto_minuutti", "type": "quantitative", "aggregate": "sum"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }] }

Kokonaisaika (min)  Tämä päivä (22.05.2026) 

Data-avain: lantion hallinta korokkeella

Jefferson Curl

Sarja Toistot Paino
1 8 4.0 kg

{ "description": "Toistot" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='jefferson_curl'"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}, {"calculate": "datum.tyyppi==='failure' ? datum.toistot : null", "as": "fail"}] , "layer": [{ "mark": {"type": "area", "color": "lightblue", "line": true, "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "toistot", "type": "quantitative", "aggregate": "max", "title": "Toistot" , "scale": {"domain": [0.0, 22.0]}}, "y2": {"field": "toistot", "type": "quantitative", "aggregate": "min", "title": "Toistot"}, "tooltip": {"field": "toistot", "type": "quantitative", "aggregate": "min"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }, { "mark": {"type": "point", "color": "red", "shape": "circle", "size": 40, "clip": true}, "encoding": { "tooltip": {"field": "fail", "type": "quantitative", "aggregate": "max"}, "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "fail", "type": "quantitative", "aggregate": "max"} } }] }

Salikerran enimmäistoistot Vaihteluväli  Sarjaa ei tehty loppuun.  Tämä päivä (22.05.2026) 

{ "description": "Vastus" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='jefferson_curl'"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}, {"calculate": "datum.tyyppi==='failure' ? datum.paino : null", "as": "fail"}] , "layer": [{ "mark": {"type": "area", "color": "orange", "line": true, "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "paino", "type": "quantitative", "aggregate": "max", "title": "Vastus" }, "y2": {"field": "paino", "type": "quantitative", "aggregate": "min", "title": "Vastus"}, "tooltip": {"field": "paino", "type": "quantitative", "aggregate": "min"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }, { "mark": {"type": "point", "color": "red", "shape": "circle", "size": 40, "clip": true}, "encoding": { "tooltip": {"field": "fail", "type": "quantitative", "aggregate": "max"}, "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "fail", "type": "quantitative", "aggregate": "max"} } }] }

Salikerran enimmäispaino Vaihteluväli  Sarjaa ei tehty loppuun.  Tämä päivä (22.05.2026) 

{ "description": "Kokonaisvoluumi" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='jefferson_curl'"}, {"calculate": "datum.toistot*datum.paino", "as": "voluumi"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}] , "layer": [{ "mark": {"type": "line", "color": "red", "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "voluumi", "type": "quantitative", "aggregate": "sum", "title": "Kokonaisvoluumi" }, "tooltip": {"field": "voluumi", "type": "quantitative", "aggregate": "sum"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }] }

Salikerta  Kokonaisvoluumi 

{ "description": "Repmax" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='jefferson_curl'"}, {"joinaggregate": [{"op": "max", "field": "sarja", "as": "viimeinen_sarja"}], "groupby": ["pvm", "liike"]}, {"filter": "datum.sarja === datum.viimeinen_sarja"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}] , "layer": [{ "mark": {"type": "line", "color": "orange", "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "rm", "type": "quantitative", "aggregate": "max", "title": "Salikerran RM" }, "tooltip": {"field": "rm", "type": "quantitative", "aggregate": "max"} } }, { "mark": {"type": "line", "color": "red", "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "rm_viimeaikainen", "type": "quantitative", "aggregate": "min", "title": "Paras viimeaikainen RM" }, "tooltip": {"field": "rm_viimeaikainen", "type": "quantitative", "aggregate": "min"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }] }

Salikerta  Paras viimeaikainen 1RM  Salikerran 1RM 

Ei ohjelmanmukaista ennustetta tälle liikkeelle.

Tälle liikkeelle ei ole ennustetta.

Data-avain: jefferson_curl

Askelkyykky käsipainolla

Sarja Toistot Paino
1 8 + 8 8.0 kg + 8.0 kg
2 8 + 8 10.0 kg + 10.0 kg
3 8 + 8 10.0 kg + 10.0 kg

{ "description": "Toistot" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='dumbbell_lunges'"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}, {"calculate": "datum.tyyppi==='failure' ? datum.toistot : null", "as": "fail"}] , "layer": [{ "mark": {"type": "area", "color": "lightblue", "line": true, "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "toistot", "type": "quantitative", "aggregate": "max", "title": "Toistot" , "scale": {"domain": [0.0, 22.0]}}, "y2": {"field": "toistot", "type": "quantitative", "aggregate": "min", "title": "Toistot"}, "tooltip": {"field": "toistot", "type": "quantitative", "aggregate": "min"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }, { "mark": {"type": "point", "color": "red", "shape": "circle", "size": 40, "clip": true}, "encoding": { "tooltip": {"field": "fail", "type": "quantitative", "aggregate": "max"}, "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "fail", "type": "quantitative", "aggregate": "max"} } }] }

Salikerran enimmäistoistot Vaihteluväli  Sarjaa ei tehty loppuun.  Tämä päivä (22.05.2026) 

{ "description": "Vastus" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='dumbbell_lunges'"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}, {"calculate": "datum.tyyppi==='failure' ? datum.paino : null", "as": "fail"}] , "layer": [{ "mark": {"type": "area", "color": "orange", "line": true, "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "paino", "type": "quantitative", "aggregate": "max", "title": "Vastus" }, "y2": {"field": "paino", "type": "quantitative", "aggregate": "min", "title": "Vastus"}, "tooltip": {"field": "paino", "type": "quantitative", "aggregate": "min"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }, { "mark": {"type": "point", "color": "red", "shape": "circle", "size": 40, "clip": true}, "encoding": { "tooltip": {"field": "fail", "type": "quantitative", "aggregate": "max"}, "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "fail", "type": "quantitative", "aggregate": "max"} } }] }

Salikerran enimmäispaino Vaihteluväli  Sarjaa ei tehty loppuun.  Tämä päivä (22.05.2026) 

{ "description": "Kokonaisvoluumi" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='dumbbell_lunges'"}, {"calculate": "datum.toistot*datum.paino", "as": "voluumi"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}] , "layer": [{ "mark": {"type": "line", "color": "red", "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "voluumi", "type": "quantitative", "aggregate": "sum", "title": "Kokonaisvoluumi" }, "tooltip": {"field": "voluumi", "type": "quantitative", "aggregate": "sum"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }] }

Salikerta  Kokonaisvoluumi 

{ "description": "Repmax" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='dumbbell_lunges'"}, {"joinaggregate": [{"op": "max", "field": "sarja", "as": "viimeinen_sarja"}], "groupby": ["pvm", "liike"]}, {"filter": "datum.sarja === datum.viimeinen_sarja"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}] , "layer": [{ "mark": {"type": "line", "color": "orange", "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "rm", "type": "quantitative", "aggregate": "max", "title": "Salikerran RM" }, "tooltip": {"field": "rm", "type": "quantitative", "aggregate": "max"} } }, { "mark": {"type": "line", "color": "red", "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "rm_viimeaikainen", "type": "quantitative", "aggregate": "min", "title": "Paras viimeaikainen RM" }, "tooltip": {"field": "rm_viimeaikainen", "type": "quantitative", "aggregate": "min"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }] }

Salikerta  Paras viimeaikainen 1RM  Salikerran 1RM 

Painosuositukset ohjelman seuraavalle kerralle (Kerta 3)

Sarja Toistot Paino Intensiteetti
1 8 9.38 kg 75.0 %
2 8 11.25 kg 90.0 %
3 8 12.50 kg 100.0 %

Data-avain: dumbbell_lunges

Stand with your torso upright holding two dumbbells in your hands by your sides. This will be your starting position.

Step forward with your right leg around 2 feet or so from the foot being left stationary behind and lower your upper body down, while keeping the torso upright and maintaining balance. Inhale as you go down. Note: As in the other exercises, do not allow your knee to go forward beyond your toes as you come down, as this will put undue stress on the knee joint. Make sure that you keep your front shin perpendicular to the ground.

Using mainly the heel of your foot, push up and go back to the starting position as you exhale.

Repeat the movement for the recommended amount of repetitions and then perform with the left leg.

Alasveto suorin käsin narulla

Sarja Toistot Paino
1 8 30.0 kg
2 8 35.0 kg
3 8 40.0 kg

{ "description": "Toistot" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='rope_straight-arm_pulldown'"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}, {"calculate": "datum.tyyppi==='failure' ? datum.toistot : null", "as": "fail"}] , "layer": [{ "mark": {"type": "area", "color": "lightblue", "line": true, "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "toistot", "type": "quantitative", "aggregate": "max", "title": "Toistot" , "scale": {"domain": [0.0, 22.0]}}, "y2": {"field": "toistot", "type": "quantitative", "aggregate": "min", "title": "Toistot"}, "tooltip": {"field": "toistot", "type": "quantitative", "aggregate": "min"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }, { "mark": {"type": "point", "color": "red", "shape": "circle", "size": 40, "clip": true}, "encoding": { "tooltip": {"field": "fail", "type": "quantitative", "aggregate": "max"}, "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "fail", "type": "quantitative", "aggregate": "max"} } }] }

Salikerran enimmäistoistot Vaihteluväli  Sarjaa ei tehty loppuun.  Tämä päivä (22.05.2026) 

{ "description": "Vastus" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='rope_straight-arm_pulldown'"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}, {"calculate": "datum.tyyppi==='failure' ? datum.paino : null", "as": "fail"}] , "layer": [{ "mark": {"type": "area", "color": "orange", "line": true, "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "paino", "type": "quantitative", "aggregate": "max", "title": "Vastus" }, "y2": {"field": "paino", "type": "quantitative", "aggregate": "min", "title": "Vastus"}, "tooltip": {"field": "paino", "type": "quantitative", "aggregate": "min"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }, { "mark": {"type": "point", "color": "red", "shape": "circle", "size": 40, "clip": true}, "encoding": { "tooltip": {"field": "fail", "type": "quantitative", "aggregate": "max"}, "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "fail", "type": "quantitative", "aggregate": "max"} } }] }

Salikerran enimmäispaino Vaihteluväli  Sarjaa ei tehty loppuun.  Tämä päivä (22.05.2026) 

{ "description": "Kokonaisvoluumi" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='rope_straight-arm_pulldown'"}, {"calculate": "datum.toistot*datum.paino", "as": "voluumi"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}] , "layer": [{ "mark": {"type": "line", "color": "red", "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "voluumi", "type": "quantitative", "aggregate": "sum", "title": "Kokonaisvoluumi" }, "tooltip": {"field": "voluumi", "type": "quantitative", "aggregate": "sum"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }] }

Salikerta  Kokonaisvoluumi 

{ "description": "Repmax" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='rope_straight-arm_pulldown'"}, {"joinaggregate": [{"op": "max", "field": "sarja", "as": "viimeinen_sarja"}], "groupby": ["pvm", "liike"]}, {"filter": "datum.sarja === datum.viimeinen_sarja"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}] , "layer": [{ "mark": {"type": "line", "color": "orange", "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "rm", "type": "quantitative", "aggregate": "max", "title": "Salikerran RM" }, "tooltip": {"field": "rm", "type": "quantitative", "aggregate": "max"} } }, { "mark": {"type": "line", "color": "red", "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "rm_viimeaikainen", "type": "quantitative", "aggregate": "min", "title": "Paras viimeaikainen RM" }, "tooltip": {"field": "rm_viimeaikainen", "type": "quantitative", "aggregate": "min"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }] }

Salikerta  Paras viimeaikainen 1RM  Salikerran 1RM 

Painosuositukset ohjelman seuraavalle kerralle (Kerta 3)

Sarja Toistot Paino Intensiteetti
1 8 31.81 kg 75.0 %
2 8 38.17 kg 90.0 %
3 8 42.41 kg 100.0 %

Data-avain: rope_straight-arm_pulldown

Attach a rope to a high pulley and make your weight selection. Stand a couple feet back from the pulley with your feet staggered and take the rope with both hands. Lean forward from the hip, keeping your back straight, with your arms extended up in front of you. This will be your starting position.

Keeping your arms straight, extend the shoulder to pull the rope down to your thighs.

Pause at the bottom of the motion, squeezing your lats.

Return to the starting position without allowing the weight to fully rest on the stack.

Pystypunnerrus istuen käsipainoilla

Sarja Toistot Paino
1 8 6.0 kg
2 8 7.0 kg
3 8 8.0 kg

{ "description": "Toistot" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='seated_dumbbell_press'"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}, {"calculate": "datum.tyyppi==='failure' ? datum.toistot : null", "as": "fail"}] , "layer": [{ "mark": {"type": "area", "color": "lightblue", "line": true, "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "toistot", "type": "quantitative", "aggregate": "max", "title": "Toistot" , "scale": {"domain": [0.0, 22.0]}}, "y2": {"field": "toistot", "type": "quantitative", "aggregate": "min", "title": "Toistot"}, "tooltip": {"field": "toistot", "type": "quantitative", "aggregate": "min"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }, { "mark": {"type": "point", "color": "red", "shape": "circle", "size": 40, "clip": true}, "encoding": { "tooltip": {"field": "fail", "type": "quantitative", "aggregate": "max"}, "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "fail", "type": "quantitative", "aggregate": "max"} } }] }

Salikerran enimmäistoistot Vaihteluväli  Sarjaa ei tehty loppuun.  Tämä päivä (22.05.2026) 

{ "description": "Vastus" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='seated_dumbbell_press'"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}, {"calculate": "datum.tyyppi==='failure' ? datum.paino : null", "as": "fail"}] , "layer": [{ "mark": {"type": "area", "color": "orange", "line": true, "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "paino", "type": "quantitative", "aggregate": "max", "title": "Vastus" }, "y2": {"field": "paino", "type": "quantitative", "aggregate": "min", "title": "Vastus"}, "tooltip": {"field": "paino", "type": "quantitative", "aggregate": "min"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }, { "mark": {"type": "point", "color": "red", "shape": "circle", "size": 40, "clip": true}, "encoding": { "tooltip": {"field": "fail", "type": "quantitative", "aggregate": "max"}, "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "fail", "type": "quantitative", "aggregate": "max"} } }] }

Salikerran enimmäispaino Vaihteluväli  Sarjaa ei tehty loppuun.  Tämä päivä (22.05.2026) 

{ "description": "Kokonaisvoluumi" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='seated_dumbbell_press'"}, {"calculate": "datum.toistot*datum.paino", "as": "voluumi"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}] , "layer": [{ "mark": {"type": "line", "color": "red", "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "voluumi", "type": "quantitative", "aggregate": "sum", "title": "Kokonaisvoluumi" }, "tooltip": {"field": "voluumi", "type": "quantitative", "aggregate": "sum"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }] }

Salikerta  Kokonaisvoluumi 

{ "description": "Repmax" , "data": {"url" : "assets/charts/kuntodata.csv"} , "transform": [{"filter": "datum.liike==='seated_dumbbell_press'"}, {"joinaggregate": [{"op": "max", "field": "sarja", "as": "viimeinen_sarja"}], "groupby": ["pvm", "liike"]}, {"filter": "datum.sarja === datum.viimeinen_sarja"}, {"calculate": "datetime(2026, 4, 22)", "as": "today"}] , "layer": [{ "mark": {"type": "line", "color": "orange", "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "rm", "type": "quantitative", "aggregate": "max", "title": "Salikerran RM" }, "tooltip": {"field": "rm", "type": "quantitative", "aggregate": "max"} } }, { "mark": {"type": "line", "color": "red", "point": true, "clip": true}, "encoding": { "x": {"field": "pvm", "type": "temporal", "timeUnit": "yearmonthdate", "title": "pvm", "axis": {"format": "%B %G", "labelAngle": 0, "labelAlign": "left", "tickCount": "month", "tickExtra": true} }, "y": {"field": "rm_viimeaikainen", "type": "quantitative", "aggregate": "min", "title": "Paras viimeaikainen RM" }, "tooltip": {"field": "rm_viimeaikainen", "type": "quantitative", "aggregate": "min"} } }, { "mark": {"type": "rule", "color": "red"}, "encoding": { "x": {"field": "today", "type": "temporal", "timeUnit": "yearmonthdate"}, "y": {"value": 0} } }] }

Salikerta  Paras viimeaikainen 1RM  Salikerran 1RM 

Painosuositukset ohjelman seuraavalle kerralle (Kerta 3)

Sarja Toistot Paino Intensiteetti
1 8 6.75 kg 75.0 %
2 8 8.10 kg 90.0 %
3 8 9.00 kg 100.0 %

Data-avain: seated_dumbbell_press

Grab a couple of dumbbells and sit on a military press bench or a utility bench that has a back support on it as you place the dumbbells upright on top of your thighs.

Clean the dumbbells up one at a time by using your thighs to bring the dumbbells up to shoulder height at each side.

Rotate the wrists so that the palms of your hands are facing forward. This is your starting position.

As you exhale, push the dumbbells up until they touch at the top.

After a second pause, slowly come down back to the starting position as you inhale.

Repeat for the recommended amount of repetitions.