Adăugați valori în două coloane la coloana nouă din tabelul de sincronizare din CARTO?
On februarie 16, 2021 by adminAvem date de câmp care vin de pe o platformă de aplicație și vrem să conducem o vizualizare CartoDB pentru a ajuta la planificare.
O grămadă dintre rangeri ies pe site-uri pentru a număra crocodilii. Pentru fiecare site, aplicația colectează: – Numărul de crocodili de sex masculin (num_croc_male) – Numărul de crocodili de sex feminin (num_croc_female)
De fapt, nu vrem ca oamenii noștri să stea acolo în întuneric, făcând sume, așa că încarcă datele din acest format direct către cloud, iar acestea sunt apoi POSTATE către CartoDB.
În vizualizarea CartoDB, dorim să arătăm cele două coluri de mai sus și dorim, de asemenea: Numărul total de crocodili (num_croc_sitetotal).
Deoarece acest număr întreg va fi folosit și pentru stilizarea afișării fiecărui site, vreau ca valoarea să fie stocată într-o coloană.
Și din moment ce datele sunt actualizate după fiecare patrulă, am nevoie ca aceasta să fie o transformare stabilă care să persiste prin adăugarea de noi rânduri.
Se pare că nu pot găsi tutorialul sau să trec prin modul în care ar putea fi făcut acest lucru … SQL este aproape inexistent. Speram că CartoDB va avea un fel de interfață de construire a formulelor care să mă protejeze de explozia completă a sintaxei SQL.
Poate cineva să ofere o schiță a pașilor soluției pe care ar trebui să îi urmez aici?
Răspuns
Puteți face această însumare în instrucțiunea SQL din spatele mesei în CartoDB. Când vă aflați în vizualizarea datelor pentru tabel, faceți clic pe bara laterală SQL și veți vedea ceva de genul:
SELECT * FROM crocs_table
Pentru a include suma dvs., ați modifica declarație către:
SELECT *, (num_croc_male + num_croc_female) ca total_crocs FROM crocs_table
Trebuie să faceți clic pe butonul „Aplicați interogarea” și apoi tabelul se va reîmprospăta cu coloana calculată afișată sus. Când vă aflați în vizualizarea hărții, câmpul calculat este disponibil pentru scopurile pe care le descrieți.
Comentarii
- puteți efectua și calculul direct în interfața tabloului de bord, în fila DATA, găsiți în partea de jos un comutator pentru a trece la vizualizarea SQL.
Răspuns
Dacă ați avea cele 3 coloane diferite în CartoDB, l-ați putea actualiza cu SQL API.
Deci, dacă doriți tabelul CartoDB (îl vom numi crocs_table) ar arăta astfel:
num_croc_male num_croc_female total_crocs Row1: 5 10 15
Puteți să îl actualizați utilizând API-ul SQL astfel:
http://{account}.cartodb.com/api/v2/sql?q={SQL statement}&api_key={Your API key}
Cont = numele contului dvs. CartoDB
Cheia dvs. API = Cheia API a contului dvs. CartoDB
Instrucțiune SQL =
INSERT INTO croc_table (num_croc_male, num_croc_female, total_crocs) VALUES (5, 10, 15);
Crocs-ul masculin are cote bune aici … Adresa URL totală ar fi ceva de genul acesta:
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}
Dacă vizitați adresa URL de mai sus, veți introduce date în CartoDB.
Cheia pentru ho w totalul (15) pe care îl obțineți în instrucțiunea SQL se bazează pe modul în care îi aveți pe gator wranglers să introducă datele. Dacă o veți face printr-un formular web, puteți utiliza javascript pentru a adăuga valorile împreună pentru a crea adresa URL și apoi redirecționați utilizatorul către acea adresă URL.
Comentarii
- Hmmm, pare interesant pentru a produce o coloană din mers. Poate că trebuie să experimentez cu ceea ce sugerați. La prima vedere, nu mi se pare că acest lucru ar rezolva problema mea inițială, care este modul de a face ca noua coloană (total_crocs) să fie persistentă și vizibilă pentru vizualizarea CartoDB , astfel încât să poată fi utilizată pentru a conduce stilul (de exemplu, numărul de găleți, diametrul simbolului, banda de culori etc.).
- Vizualizarea dvs. în CartoDB ar trebui actualizată automat atunci când adăugați date în CartoDB. Deci, de exemplu, dacă SQL-ul pentru vizualizarea dvs. este ' SELECT * FROM croc_table ', apoi odată ce o altă linie de date va fi actualizată, vizualizarea dvs. va include noile date, deoarece ar fi incluse în rezultatele interogării SQL.
- Mulțumesc: va trebui să încerc acest lucru pentru a mă asigura că îl înțeleg și pentru a verifica dacă instrumentele de stilare CartoDB ' pot folosi de fapt o coloană populată în acest mod.
Răspuns
Nu folosiți suma. urmați sintaxa de mai jos select (num_croc_male+num_croc_female) as total_crocs from
…
Comentarii
- Bine ați venit la GIS SE! Vă rugăm să utilizați
code tags
pentru a face postările dvs. mai ușor de citit.
Lasă un răspuns