Public
Edited
Dec 4, 2024
Insert cell
Insert cell
// Returns raw api response
api_response = function (url) {
return new Promise(function (resolve, reject) {
resolve(d3.json(url));
});
};
Insert cell
Insert cell
data_green_en = api_response("https://data.ontario.ca/api/3/action/datastore_search?resource_id=de7e163e-1d54-461f-b5a2-0b831870ea1e&limit=2641").then(function (api_raw) {
return api_raw.result.records;
});
Insert cell
Insert cell
data_green_fr = api_response("https://data.ontario.ca/api/3/action/datastore_search?resource_id=e4fda51e-c137-4dca-a1ee-c6c97a0c1378&limit=2501").then(function (api_raw) {
return api_raw.result.records;
});
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
data_green_en
WITH DuplicateCTE AS (
SELECT model_year, make_name, model_description, trim_desc, advance_vehicle_type_code,
ROW_NUMBER() OVER (PARTITION BY model_year, make_name, model_description, trim_desc, advance_vehicle_type_code
) AS duplicate_row
FROM data_green_en )
SELECT
case when duplicate_row > 1 then 'TO DELETE'
else ''
end as to_delete,
model_year,
make_name,
model_description,
trim_desc,
advance_vehicle_type_code
FROM DuplicateCTE;
Insert cell
Insert cell
Insert cell
Insert cell
data_green_fr
WITH DuplicateCTE AS (
SELECT "Années Du Modèle", "Constructeur", "Modèle", "Versions Styles", "Type De Véhicule électrique",
ROW_NUMBER() OVER (PARTITION BY "Années Du Modèle", "Constructeur", "Modèle", "Versions Styles", "Type De Véhicule électrique"
) AS duplicate_row
FROM data_green_fr )
SELECT
case when duplicate_row > 1 then 'TO DELETE'
else ''
end as to_delete,
"Années Du Modèle",
"Constructeur",
"Modèle",
"Versions Styles",
"Type De Véhicule électrique"
FROM DuplicateCTE;
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