Hinzufügen von Werten in zwei Spalten zu einer neuen Spalte in der Synchronisierungstabelle in CARTO?
On Februar 16, 2021 by adminWir haben Felddaten von einer App-Plattform und möchten eine CartoDB-Visualisierung erstellen, um bei der Planung zu helfen.
Eine Menge von Rangern gehen Vermessungsstellen aus, um Krokodile zu zählen. Für jede Site sammelt die App: – Anzahl der männlichen Krokodile (num_croc_male) – Anzahl der weiblichen Krokodile (num_croc_female)
Wir möchten nicht, dass unsere Leute dort im Dunkeln stehen und Summen machen, also laden sie hoch Die Daten in diesem Format werden direkt in die Cloud übertragen und dann in unsere CartoDB übertragen.
In der CartoDB-Visualisierung möchten wir die beiden obigen Spalten anzeigen und außerdem: Gesamtzahl der Krokodile (num_croc_sitetotal).
Da diese Ganzzahl auch zum Gestalten der Anzeige jeder Site verwendet wird, möchte ich, dass der Wert in einer Spalte gespeichert wird.
Und da die Daten danach aktualisiert werden Bei jeder Patrouille muss dies eine stabile Transformation sein, die durch das Hinzufügen neuer Zeilen erhalten bleibt.
Es scheint, als könnte ich das Tutorial nicht finden oder durchgehen, wie dies getan werden könnte … und meine SQL ist fast nicht vorhanden. Ich hatte gehofft, CartoDB hätte eine Art Formel-Schnittstelle, die mich vor der vollen SQL-Syntax schützen würde.
Könnte jemand einen Überblick über die Lösungsschritte geben, die ich hier befolgen sollte?
Antwort
Sie können diese Summierung in der SQL-Anweisung hinter der Tabelle in CartoDB durchführen. Wenn Sie sich in der Datenansicht für die Tabelle befinden, klicken Sie auf die SQL-Seitenleiste. Daraufhin wird Folgendes angezeigt:
SELECT * FROM crocs_table
Um Ihre Summierung einzuschließen, würden Sie dies ändern Anweisung an:
SELECT *, (num_croc_male + num_croc_female) als total_crocs FROM crocs_table
Sie müssen auf die Schaltfläche „Abfrage anwenden“ klicken, und die Tabelle wird mit der berechneten Spalte aktualisiert oben. Wenn Sie sich in der Kartenansicht befinden, ist das berechnete Feld für die von Ihnen beschriebenen Zwecke verfügbar.
Kommentare
- Sie können die Berechnung auch direkt durchführen Suchen Sie auf der Dashboard-Oberfläche auf der Registerkarte DATEN unten einen Schalter, um zur SQL-Ansicht zu wechseln.
Antwort
Wenn Sie die 3 verschiedenen Spalten in Ihrer CartoDB hatten, können Sie diese mit der SQL-API aktualisieren.
Wenn Sie also möchten, dass Ihre CartoDB-Tabelle (wir nennen sie crocs_table) folgendermaßen aussieht:
num_croc_male num_croc_female total_crocs Row1: 5 10 15
Sie können es mithilfe der SQL-API wie folgt aktualisieren:
http://{account}.cartodb.com/api/v2/sql?q={SQL statement}&api_key={Your API key}
Konto = Name Ihres CartoDB-Kontos
Ihr API-Schlüssel = Der API-Schlüssel Ihres CartoDB-Kontos
SQL-Anweisung =
INSERT INTO croc_table (num_croc_male, num_croc_female, total_crocs) VALUES (5, 10, 15);
Die männlichen Krokodile haben hier gute Chancen … Die Gesamt-URL würde ungefähr so aussehen:
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}
Wenn Sie die obige URL besuchen, wird Ihre URL eingefügt Daten in CartoDB.
Der Schlüssel zu ho w Die Summe (15), die in der SQL-Anweisung angezeigt wird, basiert darauf, wie Ihre Gator-Wrangler die Daten eingeben. Wenn Sie dies über ein Webformular tun, können Sie die Werte mithilfe von Javascript addieren, um die URL zu erstellen, und den Benutzer dann zu dieser URL umleiten.
Kommentare
- Hmmm, das sieht interessant aus, um eine Kolumne im laufenden Betrieb zu erstellen. Vielleicht muss ich mit Ihren Vorschlägen experimentieren. Auf den ersten Blick sieht es für mich nicht so aus, als würde dies mein ursprüngliches Problem lösen, das Auf diese Weise wird diese neue Spalte (total_crocs) für die CartoDB-Visualisierung dauerhaft und sichtbar gemacht, sodass sie für das Styling verwendet werden kann (z. B. Anzahl der Buckets, Symboldurchmesser, Farbband usw.).
- Ihre Visualisierung in CartoDB sollte automatisch aktualisiert werden, wenn Sie Daten in CartoDB hinzufügen. Wenn Ihre SQL für Ihre Visualisierung beispielsweise ' SELECT * FROM croc_table Sobald eine weitere Datenzeile aktualisiert wird, enthält Ihre Visualisierung die neuen Daten, da diese in den Ergebnissen der SQL-Abfrage enthalten wären.
- Vielen Dank: Ich muss dies versuchen, um sicherzustellen, dass ich es verstehe und um sicherzustellen, dass die Styling-Tools von CartoDB ' tatsächlich eine auf diese Weise aufgefüllte Spalte verwenden können.
Antwort
Verwenden Sie keine Summe. Befolgen Sie die folgende Syntax select (num_croc_male+num_croc_female) as total_crocs from
…
Kommentare
- Willkommen bei GIS SE! Bitte verwenden Sie
code tags
, um Ihre Beiträge besser lesbar zu machen.
Schreibe einen Kommentar