Published unlisted
Edited
Dec 13, 2020
1 fork
3 stars
Insert cell
Insert cell
Insert cell
Insert cell
kilterClimbs.filter(({ name }) => name === "Bad Girls Club Top")
Insert cell
Insert cell
kilterClimb = ({
...kilterClimbs.filter(({ uuid }) => uuid === sampleClimb)[0],

climb_stats: await kilter.exec(
`SELECT * FROM climb_stats WHERE climb_uuid = '${sampleClimb}'`
),

placements: await kilter.exec(
`SELECT * FROM climbs_placements
LEFT JOIN placements ON climbs_placements.placement_id = placements.id
LEFT JOIN holes ON holes.id = placements.hole_id
WHERE climb_uuid = '${sampleClimb}'`
)
})
Insert cell
top50Climbs = kilter.exec(`SELECT climb_uuid, SUM(ascensionist_count) as ascents FROM climb_stats GROUP BY climb_uuid
order by ascents desc limit 50`)
Insert cell
kilterClimbs = kilter.exec("SELECT * FROM climbs")
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
someUsernames = Object.keys(climbsBySetter)
Insert cell
climbsBySetter = R.groupBy(({ setter_username }) => setter_username, climbs)
Insert cell
kilterPlacements = kilter.exec("select * from placements")
Insert cell
tensionClimbs = climbs
Insert cell
kilterTotalAscents = kilter.exec(
"select sum(ascensionist_count) from climb_stats"
)
Insert cell
tensionClimbStats = tension.exec("select * from climb_stats")
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more