Ist es möglich, dass JMP einen Wert erkennt und einen neuen Wert eingibt?Ich frage mich, ob mir jemand helfen könnte, ein JMP-Skript dafür oder eine automatisierte Methode dafür zu finden.
Ich habe eine Reihe von Postleitzahlen, die JMP erkennen und eine neue Spalte mit dem entsprechenden Code auf Kreisebene ausfüllen soll. Ich bin mir nicht sicher, wie ich das am besten beschreiben soll oder ob es dafür einen Begriff gibt. Ich denke, ich möchte, dass JMP Postleitzahlen „überquert“ und sie in Codes auf Kreisebene umwandelt.
Als Beispiel habe ich in einer Datei diese Postleitzahlen als Daten:
| 08106 |
| 08107 |
| 08108 |
| 08109 |
| 08110 |
| 08110 |
| 08201 |
| 08202 |
| 08203 |
| 08213 |
| 08214 |
| 08215 |
| 08215 |
| 08217 |
| 08218 |
| 08219 |
Ich möchte, dass JMP jede Postleitzahl durchsucht und in einer neuen Spalte den entsprechenden Kreiscode erstellt. In einer separaten Datei habe ich die entsprechenden Postleitzahlen -> Kreisvorwahlen.
| 08110 | 34007 |
| 08201 | 34001 |
| 08202 | 34009 |
| 08203 | 34001 |
| 08204 | 34009 |
| 08205 | 34001 |
| 08210 | 34009 |
Gibt es eine automatisierte Möglichkeit, dies zu tun, außer dies manuell zu tun, wobei ich jede Postleitzahl durchsuchen würde, um die Landesvorwahl herauszufinden?
Vielen Dank für Ihre Hilfe!
Betreff: Ist es möglich, dass JMP einen Wert erkennt und einen neuen Wert eingibt?Hallo @SeaAardvark ,
Ich habe nicht verstanden, ob Sie die beiden übereinstimmenden Spalten in einer anderen Tabelle haben. Wenn ja, würde ich die Tabellenverknüpfung oder -aktualisierung einmal verwenden und dann ein Skript erstellen.
Wenn Sie die Daten auf der Karte haben (keine Schlüsselübereinstimmungstabelle), gibt es auch hierfür eine Lösung. In der Vergangenheit diskutierten wir über eine standortbasierte Aktualisierung von Tabellen: Verknüpfen Sie Tabellen basierend auf dem Standort
Lassen Sie uns wissen, ob es hilft.
Ron
Betreff: Ist es möglich, dass JMP einen Wert erkennt und einen neuen Wert eingibt?So würde es mit einem virtuellen Join aussehen (Zeigen und Klicken, kein JSL erforderlich)
the gold key values must be unique in the columnDie Goldschlüsselwerte müssen in der Spalte eindeutig sein
Die Spalte „County[zip]“ ist standardmäßig ausgeblendet, ich habe sie im Bild eingeblendet. Es funktioniert am besten mit den bereits gespeicherten Tabellen und erfordert möglicherweise, dass die Gold-Key-Tabelle vor der Blue-Key-Tabelle geöffnet wird (Sie erkennen, ob der Schlüssel ausgegraut ist).
Bearbeiten – vielleicht möchten Sie die Codes als Zeichendaten behalten, mir ist gerade aufgefallen, dass die führenden Nullen weg sind!
Betreff: Ist es möglich, dass JMP einen Wert erkennt und einen neuen Wert eingibt?Verwenden Sie ein assoziatives Array, um die Nachschlagetabelle zu erstellen, etwa wie (ungetesteter Code folgt, dtZtoC ist Ihre Tabelle mit Postleitzahl-zu-Landkreis-Informationen)
lookup = associativearray();
for( i = 1, i <= nrows(dtZtoC), i += 1,
lookup[ dtZtoC:zip[i] ] = dtZtoC:county[i];
);
Verwenden Sie dann eine Schleife oder eine Spaltenformel, um die neue Spalte zu erstellen (ungetestet ... so könnte die Spaltenformel für Landkreis aussehen)
lookup[zip]
Die Spaltenformel hängt von der Nachschlagetabelle ab, die später nicht mehr verfügbar ist. Entfernen Sie daher die Formel aus der Spalte, wenn Sie fertig sind. Oder verwenden Sie eine Schleife wie diese ohne Spaltenformel (ungetestet ...)
for( i = 1, i <= nrows(dtData), i += 1,
dtData:county[i] = lookup[dtData:zip[i]];
);
bearbeiten: Lat-Lon in Postleitzahl umkehren verwendet einen virtuellen Join; Auch hier könnte ein virtueller Beitritt eine gute Wahl sein. Der virtuelle Beitritt erhöht die Komplexität und sorgt so für mehr Flexibilität. Wenn sich die Zuordnung einer Postleitzahl zu einem Landkreis ändert, aktualisieren Sie einfach die dtZtoC-Tabelle und die dtData-Tabelle erhält automatisch die Änderung. Aber jetzt haben Sie zwei Tabellen, die benötigt werden.