Public
Edited
Jan 18, 2024
Insert cell
Insert cell
van_attempts.map(d => d.toJSON())
Insert cell
Insert cell
mainDB
select * from organizations
Insert cell
Insert cell
datesCanvassed = Array.from(Array(4200).keys()).map(k => ({id: k, datecanvassed: randomDate(new Date(2024, 1, 8), new Date(2024, 6, 1))}))
Insert cell
randomDate(new Date(2024, 1, 8), new Date(2024, 6, 1))
Insert cell
mainDB
WITH join_cm AS (
SELECT
id,
_rand_result,
contacttypename
FROM
rand_nums, contact_methods cm
WHERE
_rand_method > cm._rand_range_min
AND
_rand_method < cm._rand_range_max
)
SELECT
join_cm.id,
join_cm.contacttypename,
resultshortname
FROM
join_cm
LEFT JOIN
contact_method_results AS cmr
ON
join_cm.contacttypename = cmr.contacttypename
AND
_rand_result > cmr._rand_range_min
AND
_rand_result < cmr._rand_range_max
ORDER BY
id
Insert cell
db
select * from contact_method_results
Insert cell
Insert cell
mainDB
WITH cmr AS (
SELECT
a.contacttypename,
a._rand_range_min AS _method_range_min,
a._rand_range_max AS _method_range_max,
b.resultshortname,
b._rand_range_min AS _result_range_min,
b._rand_range_max AS _result_range_max
FROM
contact_methods AS a
JOIN
contact_method_results AS b
USING (
contacttypename
)
)
SELECT
rand_nums.*,
cmr.*,
_rand_method > cmr._method_range_min AS _rand_gt_method_min,
_rand_method < cmr._method_range_max AS _rand_gt_method_max,
_rand_result > cmr._result_range_min AS _rand_gt_result_min,
_rand_result < cmr._result_range_min AS _rand_gt_result_max
FROM
rand_nums, cmr
WHERE
-- _rand_method > cmr._method_range_min -- 96,720
_rand_method > cmr._method_range_min
-- AND
-- _rand_method < cmr._method_range_max -- 71,250
-- _rand_method > cmr._method_range_max
-- AND
-- _rand_result > cmr._result_range_min -- 16,811
-- AND
-- _rand_result < cmr._result_range_max -- 104,989
;
Insert cell
Insert cell
Insert cell
Insert cell
function randomDate(start, end) {
return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime()));
}
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