Eine gute Abfrage kann Ihnen zum Erfolg verhelfen
Niveau: Anfänger
Brian Corcoran, JMP-Direktor für Forschung und Entwicklung, SAS
JMP bietet verschiedene Möglichkeiten, verschiedenste Datenformate in das Produkt zu integrieren. Der Grund liegt auf der Hand.Es gibt viele Tools, die im Laufe der Jahre entwickelt wurden, um Daten zu sammeln und zu formatieren.In den meisten Fällen ermöglichen Ihnen diese Tools nicht, Ihre Daten in JMP-Datentabellen zu konvertieren.Sie müssen diese Daten zur Analyse in JMP übertragen.In anderen Fällen befinden sich die Daten möglicherweise irgendwo in einer Datenbank und Sie müssen sie vor dem Start extrahieren.Das Einholen der Daten kann wertvolle Zeit kosten.JMP hat sich im Laufe der Jahre weiterentwickelt und leistungsstarke Datenerfassungsfunktionen hinzugefügt, die Sie bei dieser Aufgabe unterstützen.
In diesem Dokument wird versucht, eine kleine Auswahl der Verwendung der Query Builder-Funktionen in JMP zu geben, zusammen mit einem einfachen Beispiel für die Verwendung des Excel-Assistenten.Hoffentlich zeigt es auch, dass die Reise auch das Ziel sein kann, da durch die Vorbereitung der Abfrage selbst Einblicke in die Daten gewonnen werden können. Während für die Desktop-Screenshots die Windows-Version verwendet wird, sind alle hier besprochenen Funktionen auch in der Mac-Version von JMP verfügbar. Es wurde JMP 14 verwendet, aber JMP 13 kann auch alles, was besprochen wurde.
In diesem Artikel wird ein hypothetischer Anwendungsfall vorgestellt.Stellen Sie sich vor, Sie studieren weltweite Trends und die Datenbank der Weltbank liefert oft wertvolle Informationen.Ein Kollege teilt Ihnen mit, dass die Daten des Weltentwicklungsindikators 2017 seit kurzem verfügbar sind und dass er die Daten in die SQL Server-Datenbank des Unternehmens eingegeben hat.Dies ist eine große Tabelle mit über 400.000 Beobachtungen und 62 Spalten. [1] Sie öffnen JMP und wählen Datei->Datenbank->Query Builder, öffnen Ihre Datenbankverbindung und zeigen auf die Tabelle.Im ersten Bildschirm von Query Builder wählen Sie die Tabelle world_bank als Ihre primäre Tabelle aus und verwenden „Tabellen-Snapshot“, um einen Blick darauf zu werfen:
Query Builder Table SnapshotQuery Builder Table SnapshotQuery Builder-Tabellen-Snapshot
Es ist ein etwas seltsames Format, zumindest für einen typischen JMP-Benutzer.Es gibt vier Variablen oder Spalten für Länderinformationen, und dann ist eine Spalte für jedes Jahr vorhanden.Die Zeilen enthalten scheinbar eine Region und dann die gemessenen Daten.In mancher Hinsicht sieht es anders aus, als man es von einem typischen JMP-Tisch erwarten würde.Der Ländername „ Arabische Welt „scheint eine Region darzustellen, daher ist dies ebenfalls verwirrend.Wenn Sie die Taste „ Jetzt importieren ”-Taste erscheint die Tabelle und die Dinge werden etwas klarer.Wenn Sie in die Mitte scrollen, können Sie sehen, dass die Zeilen mit dem betreffenden Land beginnen und dann mit den Daten für ein bestimmtes Thema beginnen, z. B. „ Landbevölkerung “.Dies ist alles nach Ländern sortiert, was nicht intuitiv erscheint.
Immediate Import Table AppearanceImmediate Import Table AppearanceSofortiges Erscheinungsbild der Importtabelle
Lasst uns noch einmal von vorne anfangen.Dieses Mal können wir fortfahren und „ Abfrage erstellen " statt " Jetzt importieren “.Wir wissen, dass wir die ersten vier Variablen mit Länderinformationen benötigen, also können wir diese auswählen und auf „ Hinzufügen " im Eingeschlossene Spalten Registerkarte des Spaltenauswahlbereichs im Abfrage-Generator.Hier gibt es viele Daten, also machen wir einfach die Variablen für 2010–2017.Zu diesem Zeitpunkt sieht der obere Teil des Dialogs folgendermaßen aus:
Initial Column SelectionInitial Column SelectionAuswahl der ersten Spalte Wir haben uns gegenüber unserer vorherigen Situation wirklich noch nicht verbessert.Jetzt können wir das „ Indikatorcode ” Variable in die Sortieren nach Bereich des Abfrage-Generators.Dadurch werden die Daten nach dem untersuchten Thema und nicht nach der betreffenden Region oder dem betreffenden Land organisiert.Dies scheint für die Analyse intuitiver zu sein.
Ordered by Indicator CodeOrdered by Indicator CodeSortiert nach Indikatorcode
Es gibt immer noch Probleme mit den Daten.Erstens gibt es regionale Gruppierungen, die derzeit nicht von Interesse sind.Wie kann ich diese aggregierten Einträge ausschließen?Außerdem: Was wäre der beste Weg, um einen bestimmten Artikel abzufragen, z „Düngemittelverbrauch“ ?
Es wäre sicherlich möglich, alle Daten in JMP zu importieren und dann die regionalen Gruppierungen zu löschen, wenn wir nicht „Sortieren nach“ verwenden „Indikatorcode“.Dies stellt jedoch eine Belastung für die Person dar, die die Daten analysiert.Wenn das jemand ist, der die Abfrage nicht einrichtet, könnte das verwirrend sein.Innerhalb der Abfrage wäre es möglich, nur die Länder auszuwählen, die von Interesse sind.Was wäre, wenn wir alle Länder in der Europäischen Union wollen?(Ich wollte Nordamerika verwenden, aber die Definition der Weltbank umfasst nur die USA, Bermuda und Kanada!) Wir könnten sie manuell auswählen, aber es gibt einen besseren Weg.Dazu rufen wir schnell ein weiteres Tool in JMP auf, den Excel-Assistenten.
Nehmen wir in diesem Szenario an, dass wir häufig mit Daten der Weltbank arbeiten.Die Ländercodes sind wichtig, aber nicht intuitiv.Tabellen verwenden die Codes häufig ohne Angabe des vollständigen Ländernamens, wie Sie beim Durchsuchen der Website sehen können.Es könnte praktisch sein, diese Codes in einer separaten Tabelle zu haben. Eine solche Tabelle existiert und kann problemlos als Excel-Datei von der Website importiert werden.Öffnen Sie in diesem Fall den Excel-Assistenten in der Tabelle mit Ländern und Ländercodes. Die Website der Weltbank gruppiert diese in einer undurchsichtigen Tabelle namens CLASS.xls, die Sie jedoch umbenennen können.Die Datei enthält zwei Tabellen: „Liste der Volkswirtschaften“ und „Gruppen“.Schauen wir uns „Gruppen“ an:
Preview of Groups Table in Excel FilePreview of Groups Table in Excel FileVorschau der Gruppentabelle in einer Excel-Datei
Es gibt die Gruppierung für die Arabische Welt, die wir in den Query Builder-Daten gesehen haben. Das sieht vielversprechend aus, aber beim Scrollen nach unten wird Europa noch nicht angezeigt, da die Vorschau bei 100 Zeilen endet.Wählen " Alle Zeilen anzeigen ” und wir können alles sehen, auch „ Europa und Zentralasien “, „ Bereich Europa " Und " europäische Union “.Der " europäische Union Die Gruppe „enthält die Ländercodes für alle Länder, die derzeit der Union angehören.Könnten wir dies verwenden, um die Länder im Query Builder auszuwählen?Die Antwort ist ja, also lasst uns weitermachen und genau die Gruppe extrahieren, die wir brauchen.Das können wir tun, indem wir die erste Zeile in der Vorschau mit „ europäische Union “ und drücken Sie dann das grüne Pluszeichen neben „ „Daten beginnen in Zeile“.
Select the First Row in “European Union”Select the First Row in “European Union”Wählen Sie die erste Zeile in „Europäische Union“ aus.
Jetzt können wir im Dialog auf die Schaltfläche „Weiter“ klicken und die letzte Zeile mit „ europäische Union “ und drücken Sie das grüne Pluszeichen neben „ Daten enden mit Zeile “. Dadurch werden die Daten auf die Länder reduziert, die uns interessieren.
Jetzt können wir „ Importieren ” und erhalten Sie eine Zeile mit 28 Einträgen für die Länder der Europäischen Union.Wir werden die resultierende JMP-Tabelle als „EU.jmp“ speichern.
Jetzt können wir zum Query Builder zurückkehren.Wir hätten die Länder, an denen wir interessiert sind, mit einem langwierigen Prozess der Auswahl in einer Liste auswählen können "Ländername" oder "Landesvorwahl".Allerdings verfügt Query Builder über einen leistungsstarken Filtertyp namens „Match Column Values“.Um dies zu nutzen, ziehen wir zunächst „ Landesvorwahl" in die Filter Feld.Dadurch wird eine lange Liste mit jedem darin enthaltenen Code erstellt.Jetzt können wir das Menü mit dem roten Dreieck unter „ t1.Ländercode " für Filter Typ und wählen Sie „ Spaltenwerte anpassen “.Es wird ein Feld mit den Namen der geöffneten JMP-Tabellen angezeigt.Da „EU.jmp“ noch geöffnet ist, wird es in der Liste angezeigt.Wir wählen es aus und die Variable ( Ländercode ), die wir anpassen möchten.Es ist auch wichtig sicherzustellen, dass „ Alle Zeilen „ wird aus der Dropdown-Liste ausgewählt und nicht „ Ausgewählte Zeilen “, da wir in diesem Fall alle Länder wollen.
Selecting the Match Column Values filterSelecting the Match Column Values filterAuswählen des Filters „Match Column Values“.
Dadurch werden unsere Ergebnisse auf die Beobachtungen reduziert, an denen ein EU-Land beteiligt ist.Hier gibt es wirklich keine Magie.Wir erstellen eine WHERE/IN-Klausel, um die Ländercodes zu ersetzen.Wenn man sich das anschaut SQL Im Bereich „Query Builder“ können Sie die SQL sehen, die JMP generiert:
Generated SQLGenerated SQLGeneriertes SQL
Aber hoffentlich haben wir den Prozess viel einfacher gemacht.Nachdem wir die Daten nun auf das eingegrenzt haben, was uns wirklich interessiert, wäre es schön, die Auswahl der spezifischen Informationen, die wir analysieren möchten, einfacher zu machen.Dazu können wir „ Indikatorname“ hinüber zum Filter Feld.Während wir hier auf das Element klicken könnten, an dem wir interessiert sind, und dann die Abfrage ausführen könnten, wäre es schön, eine interaktivere Benutzeroberfläche für jeden Benutzer zu haben.Wir können das Menü mit dem roten Dreieck drücken, indem wir „ t1.Indikatorname“ und wählen Sie „ Eingabeaufforderung beim Ausführen “.Dadurch wird uns ein Dialog angezeigt, in dem wir den Titel für die Aufforderung an den Endbenutzer angeben können.
Prompt on RunPrompt on RunAufforderung beim Ausführen
Wenn wir nun die Taste „ Abfrage ausführen“ Klicken Sie auf die Schaltfläche, wir erhalten eine Liste der Artikel und können den Artikel auswählen, der uns interessiert.Wir können zum Beispiel auswählen „BIP-Wachstum (jährlich %)“ und erhalten Sie eine 28-Zeilen-Tabelle.Das können wir dann in Graph Builder einfügen.Ziehen Sie die "Ländername" hinein Kartenform Im Drop-Bereich wird eine Karte von Europa erstellt, und dann können wir das Jahr, das uns interessiert, hineinziehen.Nach 2014 werden die Daten spärlicher, sodass sich in diesem Jahr Folgendes ergibt:

JMP sucht eher nach „Slowakei“ als nach „Slowakische Republik“, daher könnte dies eine Gelegenheit sein, diese zu nutzen Neu kodieren.Wenn man sich diese Daten ansieht, sieht es so aus, als würden wir immer eine ähnliche Operation durchführen. Wir wählen den Ländernamen für die Kartenform und dann das Jahr aus, an dem wir interessiert sind, um die Ergebnisse zu untersuchen.Wenn wir uns ein bestimmtes Jahr wiederholt ansehen, ist es sinnvoll, das Skript zu speichern und als in Query Builder einzufügen Post-Query-Skript . Hierfür gibt es eine Registerkarte neben dem Vorschaufenster.Wenn wir zu unserem vorherigen Diagramm gehen und über das Menü mit dem roten Dreieck „Skript speichern -> Im Skriptfenster speichern“ ausführen, erhalten wir ein Skript, das so aussieht:
Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Variables( Color( :Name( "2014" ) ), Shape( :Country Name ) ),
Elements( Map Shapes( Legend( 7 ) ) )
);
Wenn wir dies in die einfügen Post-Query-Skript Wenn wir auf der Registerkarte die Beobachtung auswählen, die wir untersuchen möchten, wird immer derselbe Graph Builder-Bericht ausgeführt, nachdem die Daten extrahiert und die JMP-Tabelle erstellt wurden.Dies kann eine sich wiederholende Aufgabe erheblich vereinfachen.
Post-Query ScriptPost-Query ScriptPost-Query-Skript
Das Beste daran ist, dass wir die Abfrage beim Speichern so einstellen können, dass ein Endbenutzer nicht einmal die Dialogfelder des Abfrage-Generators sieht.Durch die Auswahl " Beim Öffnen ausführen ” im Dropdown-Menü neben dem Feld „Abfragename“ und dann die Abfrage speichern, sieht der Endbenutzer nur die Eingabeaufforderung und die resultierende Tabelle und das Diagramm.
Run on OpenRun on OpenBeim Öffnen ausführen
Query with Run on Open started from Recent FilesQuery with Run on Open started from Recent FilesAbfrage mit „Beim Öffnen ausführen“ gestartet von „Zuletzt verwendete Dateien“. Eine Einschränkung bei der Verwendung des Filters „Übereinstimmende Spalten“ besteht darin, dass die Tabelle mit den abzugleichenden Werten auf dem Computer vorhanden sein muss, auf dem wir die Abfrage ausführen.Wenn dies ein Problem darstellt, gibt es eine Möglichkeit, dies zu umgehen.Nachdem Sie den Filter mit den passenden Spalten erstellt haben, gehen Sie zum Menü mit dem roten Dreieck für den Filter.In diesem Beispiel wäre das für „ t1.Ländercode“.Wählen Sie Filtertyp -> Manuelle Liste. Dadurch werden die Werte, die der Filter „Übereinstimmende Spalten“ erstellt hat, in eine Textliste importiert, die für die SQL verwendet wird.Dies wird dann beim nächsten Speichern in der Abfrage gespeichert, und Sie benötigen die Datentabelle nicht mehr zum Abgleichen.Der Nachteil dieses Ansatzes besteht darin, dass die Möglichkeit verloren geht, die ausgewählten übereinstimmenden Werte dynamisch zu ändern und die Abfrage zu ändern.
Zu diesem Zeitpunkt haben wir eine große Menge verwirrender Daten gefiltert und eine wiederholbare Abfrage und Analyse erstellt, die wir an einen Endbenutzer senden können.Die Person, die die Abfrage verwendet, benötigt weder Kenntnisse über die Abfrage noch einen Großteil von JMP.
Verwendete Konventionen:
Die Fensterbereiche des Abfrage-Generators sind fett gedruckt
Schaltflächen/Dialogsteuerelemente sind „ zitiert und fett“
Variablen-/Spaltennamen sind „ zitiert und kursiv geschrieben ”
[1] Weltbankgruppe.Weltentwicklungsindikatoren , Weltbankgruppe und Web. 25. Januar 2018. https://datacatalog.worldbank.org/dataset/world-development-indicators . Erhalten unter der Create Commons CC BY 4.0-Lizenz.