Anfügen von Datensätzen aus externen Dateien an das
PS-Explore-Arbeitsblatt
Analog zur Funktion des Anfügens von Spalten an ein Arbeitsblatt (siehe News vom 14.04.2003) steht jetzt auch eine Funktion zum
Anfügen von Datensätzen aus externen Dateien zur Verfügung. Hierbei sind zulässige Datenformate TAB (Textdateien mit Tabulator-
zeichen als Feldtrenner) und SSD (PS-Explore-Datenbankformat). Ferner können Daten via eines SQL-Selects aus allen ODBC-
fähigen Datenbanken übernommen werden.
Abfrage per Datei
Die Anfügefunktionen werden über das in nachstehender Abbildung mit rotem Kreis markierte Symbol aufgerufen. Bei Mausklick auf
das Symbol öffnet sich das Formular "Anfügen von Zeilen an das Arbeitsblatt":

Es wird zwischen zwei verschiedenen Modi der Datenübernahme unterschieden "per Datei" und "per SQL-Script". Bei der
Übernahme aus einer Datei (Voreinstellung) klickt man im Formular auf das Ordnersymbol (roter Kreis). Es öffnet sich
der Dateidialog "Anhängen einer Datei an das geladene Arbeitsblatt":

Standardmäßig ist als Dateityp das Tab-Format eingestellt, es lassen sich aber ebenso SSD und SQL aus-
wählen:

Im Fall der Dateierweiterung .sql handelt es sich aber nicht um eine mit den zu übernehmenden Daten gefüllte
Datei, sondern um eine Datei, in welcher ein SQL-Selectbefehl abgelegt sein muss. Der Selectbefehl sollte als
Ergebnis eine Tabelle liefern, die im Prinzip aufgebaut ist wie die Tabellen in TAB- oder SSD-Format.
Hat man eine Datei ausgewählt wird deren Name rechts vom Ordner-Öffnen-Symbol angezeigt und die unten
im Formular befindliche OK-Schaltfläche erscheint nun aktiviert. Klickt man auf OK wird sofort die Datenübernahme
ausgeführt. Im nachstehenden Beispiel werden die in der Standardinstallation von PS-Explore NC enthaltenen
Übungsdateien "Übergewich"t und "Medizin" zusammengeführt. "Übergewicht" wurde ins Arbeitsblatt geladen
und "Medizin" dann über die hier beschriebene Funktion hinzugeladen:

Beide Dateien enthalten eine gleichlautende Spalte "Staat". Die erste Datei enthält die Spalten "1991" bis "2000" und die zweite
Datei die Spalten "Region" bis "Leber". Wie im Beispiel ersichtlich werden alle Spalten, die in der zweiten Datei vorkommen,
jedoch nicht in der ersten rechtsseitig in das Arbeitsblatt übernommen. Die Informationen aus gemeinsamen Spalten werden
direkt untereinander gesetzt.
Abfrage per SQL-Script
Der Abfragemodus "per SQL-Script" entspricht im wesentlichen dem, was auch bei der Anfügefunktion für Spalten an ein
Arbeitsblatt beschrieben ist, lediglich ist hier kein Schlüsselmerkmal zu wählen und es werden Zeilen und nicht Spalteninhalte
angefügt.
Durch Mausklick auf die Option "per SQL-Script" wird die Schaltfläche "Datenbank, Tabelle und Felder Auswählen" aktiviert:

Ein Mausklick auf diese Schaltfläche öffnet das Formular "PS-Explore NC - Datenbankstruktur":

Hier wird zunächst eine Datenbank ausgewählt, dann eine Tabelle dieser Datenbank und schließlich die gewünschten
Felder der Tabelle. Mit Klick auf die OK-Schaltfläche schließt man das Formular und erhält in dem Ausgangsformular
"Anfügen von Zeilen an ein Arbeitsblatt" ein automatisch generiertes SQL-Script bestehend aus einem SQL-Select.

Mit Klick auf "OK" veranlasst man die Ausführung dieses Script und die im Select-Befehl ausgewählten Spalteninhalte der
Datenbanktabelle werden an das Arbeitsblatt angefügt. Natürlich ist es möglich, das SQL-Script ggf. noch zu modifizieren
und zu erweitern. Der Unterschied zu der Datenübernahme im Abfragemodus "per SQL-Script" gegenüber der Ausführung
eines SQL-Scripts im Abfragemodus "per Datei" ist eigentlich nur darin zu sehen, das im Fall "per Datei" keine direkte
Möglichkeit zur Modifikation des Scripts besteht. Allerdings kann man beliebige SQL-Scripts in die Maktoliste des PS-Explore-
Autopiloten laden, die den Dateityp .sql kennt.
Mit "fest verdrahteten" SQL-Scripts im per-Datei-Modus wird man also in der Regel immer dann arbeiten, wenn man öfters
wiederkehrende und stets gleiche Datenübernahmen hat, während man "per SQL-Script" wählen wird, wenn man spezifische
ad-hoc-Abfragen durchführen muss.