Lägga till värden i två kolumner till den nya kolumnen i synkroniseringstabellen i CARTO?
On februari 16, 2021 by adminVi har fältdata som kommer in från en appplattform och vi vill driva en CartoDB-visualisering för att hjälpa till med planeringen.
Ett gäng av rangers går ut kartläggning platser för att räkna krokodiler. För varje webbplats samlar appen in: – Antal manliga krokodiler (num_croc_male) – Antal kvinnliga krokodiler (num_croc_female)
Vi vill faktiskt inte att våra människor ska stå där i mörkret och göra summor, så de laddar upp data i detta format direkt till molnet, och detta läggs sedan över till vår CartoDB.
I CartoDB-visualiseringen vill vi visa de två kolonnerna ovan, och vi vill också: Totalt antal krokodiler (num_croc_sitetotal).
Eftersom detta heltal också kommer att användas för att utforma visningen av varje webbplats vill jag ha värdet lagrat i en kolumn.
Och eftersom data uppdateras efter varje patrull, jag behöver detta för att vara en stabil omvandling som fortsätter genom att nya rader läggs till.
Det verkar som att jag inte kan hitta självstudien eller gå igenom hur detta kan göras … och min SQL är nästan obefintlig. Jag hoppades på något sätt att CartoDB hade något slags formelbyggande gränssnitt som skulle skydda mig från SQL-syntaxens fulla sprängning.
Kan någon ge en översikt över de lösningssteg jag borde följa här?
Svar
Du kan göra den summeringen i SQL-satsen bakom tabellen i CartoDB. När du är i datavyn för tabellen klickar du på SQL-sidofältet så ser du något som:
VÄLJ * FRÅN crocs_table
För att inkludera din summering skulle du ändra det uttalande till:
VÄLJ *, (num_croc_male + num_croc_female) som total_crocs FRÅN crocs_table
Du måste klicka på knappen ”Apply query” och sedan uppdateras tabellen med den beräknade kolumnen som visar upp. När du är i kartvyn är det beräknade fältet tillgängligt för de ändamål som du beskriver.
Kommentarer
- kan du också utföra beräkningen direkt i Dashboard-gränssnittet, på fliken DATA, hittar du längst ner en omkopplare för att ändra till SQL-vyn.
Svar
Om du hade de tre olika kolumnerna i din CartoDB kan du uppdatera den med SQL API.
Så om du vill att din CartoDB-tabell (vi kommer att kalla den crocs_table) såg ut så här:
num_croc_male num_croc_female total_crocs Row1: 5 10 15
Du kan uppdatera den med SQL API så:
http://{account}.cartodb.com/api/v2/sql?q={SQL statement}&api_key={Your API key}
Konto = namnet på ditt CartoDB-konto
Din API-nyckel = API-nyckeln för ditt CartoDB-konto
SQL-uttalande =
INSERT INTO croc_table (num_croc_male, num_croc_female, total_crocs) VALUES (5, 10, 15);
De manliga crocsna har bra odds här … Den totala webbadressen skulle vara ungefär så här:
http://{account}.cartodb.com/api/v2/sql?q=INSERT INTO croc_table (num_croc_male, num_croc_female, total_crocs) VALUES (5, 10, 15)&api_key={Your API key}
Om du besöker webbadressen ovan skulle du infoga din data i CartoDB.
Nyckeln till ho w det totala (15) som får i SQL-uttalandet baseras på hur du får dina gator-wranglers att mata in data. Om du ska göra det via ett webbformulär kan du använda javascript för att lägga till värdena för att skapa webbadressen och sedan omdirigera användaren till den webbadressen.
Kommentarer
Svar
Använd inte summan. följ syntaxen nedan select (num_croc_male+num_croc_female) as total_crocs from
…
Kommentarer
- Välkommen till GIS SE! Använd
code tags
för att göra dina inlägg mer läsbara.
Lämna ett svar