Schlechtes Spalten?Angenommen, ich habe diese Tabelle:
| Kategorie |
Artikel |
Ebene |
| A |
1 |
Delta |
| A |
2 |
Foxtrott |
| A |
3 |
Hotel |
| B |
1 |
Julia |
| B |
3 |
fünf |
Beachten Sie, dass Kategorie=B, Artikel=2 fehlt.
Wenn ich versuche, diese Tabelle mit „Teilen nach“ = Kategorie und „Spalten teilen“ = Ebene und „Alles behalten“ zu „teilen“, wird Folgendes zurückgegeben:
| Artikel |
A |
B |
| 1 |
Delta |
Julia |
| 2 |
Foxtrott |
fünf |
| 3 |
Hotel |
|
Beachten Sie, dass in der neu geteilten Tabelle angezeigt wird, dass „Item=2,Category=B“ „lima“ ist. Das ist jedoch falsch – diese Zelle sollte leer sein und „lima“ sollte unter „Item=3,Category=B“ stehen.
Handelt es sich hierbei um einen Benutzerfehler oder um einen Fehler in JMP?
Datenzusammenführung und -bereinigungBetreff: Schlechtes Stapeln?Hallo @BHarris , versuche, Item in der Gruppe zu verwenden. Das Ergebnis wird deinen Erwartungen entsprechen.
Am besten,
Betreff: Schlechtes Stapeln?Ja, das scheint zu funktionieren.
Können Sie erklären, was los ist? Ich würde gerne verstehen, warum der Gruppenschritt notwendig war.
Betreff: Schlechtes Stapeln?Sicher, das Aufteilen ohne die Gruppe erfolgt wörtlich nach Zeilen und berücksichtigt nicht, dass dem Element eine Komponente für die Kategorie fehlt. Die Gruppe erzwingt die Trennung der Ebenen nach Elementen für jede Kategorie, indem zuerst das Element und dann die Kategorie betrachtet wird.
Aus der Online-Hilfe ( https://www.jmp.com/support/help/en/18.2/?os=mac&source=application#page/jmp/split-columns-in-data-tables.shtml
Gruppe
Gibt eine Gruppenvariable an, wenn Ihre Daten innerhalb der einzelnen Gruppen der ausgewählten Variable aufgeteilt werden sollen. Jede Gruppe ergibt eine Zeile in der Ausgabetabelle. Sie müssen außerdem die erforderlichen Variablen, „Aufteilen nach“ und „Spalten aufteilen “ angeben.
Hinweis: Wenn die Variable, nach der Sie gruppieren möchten, ungleiche Gruppen enthält oder in zufälliger Reihenfolge vorliegt, stellen Sie durch die Angabe als Gruppenvariable sicher, dass Ihre Daten richtig neu strukturiert werden und fehlende Werte den entsprechenden Stellen zugewiesen werden.
Andernfalls müssten Sie eine zusätzliche Zeile einfügen und Kategorie und Artikel definieren, aber die Ebene für diese Zeile leer lassen.
Hoffe, das hilft.
Betreff: Schlechtes Stapeln?Je mehr ich darüber nachdenke, desto weniger Sinn ergibt es. Ich verstehe nicht, warum sich split unter irgendwelchen Umständen so verhalten sollte – fast so, als hätten die Entwickler einfach ein paar Schleifen verschachtelt und gehofft, dass die Daten an die richtigen Stellen fallen …
Ich frage mich, ob (a) ich immer noch zu dumm bin, um die zugrunde liegende Begründung für dieses Verhalten zu verstehen, (b) dies auf diese Weise implementiert wurde, um eine hohe Leistung (schnelle Aufteilungen bei großen Tabellen) zu bieten, wenn die Eingaben vollfaktoriell sind und der Benutzer wissen soll, dass diese Annahme getroffen wird, oder (c) es sich wirklich nur um einen Fehler handelt, der gemeldet/behoben werden muss.
(Ich wäre nicht beleidigt, wenn es (a) wäre.;) )
Betreff: Schlechtes Stapeln?Können Sie Ihre Gedanken näher erläutern?
Ich würde in die entgegengesetzte Richtung argumentieren:
Wenn die Eingabedaten gut strukturiert sind, können Sie sie ohne weitere Sorgfalt aufteilen.
Wenn die Eingabedaten nicht gut strukturiert sind, aber zusätzlich einige Gruppierungsinformationen enthalten, besteht immer die Möglichkeit, diese Gruppierungsinformationen zu verwenden, um JMP mitzuteilen, was es tun soll.
Was nicht funktioniert:
Der Benutzer kennt die Gruppierungsinformationen (es gibt die Spalte), teilt sie JMP jedoch nicht mit (über die GUI).
Dann ist es kein Wunder, dass JMP die Gruppierungsinformationen nicht verwendet.
[Es gibt andere Fälle, in denen JMP einige Vermutungen anwendet | Autokorrektur – und der Benutzer wundert sich über die Kreativität].
Betreff: Schlechtes Stapeln?Was halten Sie von dem in der ursprünglichen Frage bereitgestellten Datensatz? Ist er „gut strukturiert“?
Und was halten Sie vom aktuellen Verhalten von JMP beim Aufteilen dieser Tabelle?
Meines Wissens sind „Teilen nach“-Spalten diejenigen, deren Werte in den Spaltenüberschriften der neuen Tabelle landen sollen, und „Teilen nach“-Spalten sind die Spalten, deren Werte in den Zellen dieser neuen Spalten landen sollen. Ich verstehe immer noch nicht, was „Gruppieren“ in diesem Zusammenhang bedeutet.
Betreff: Schlechtes Stapeln?Ihre anfängliche Datentabelle ist „gut strukturiert“.
Das Gruppierungskonzept lässt sich dahingehend betrachten, welche Zeilen in der Eingabedatentabelle gruppiert werden sollen, um eine bestimmte Ausgabezeile zu definieren.
Betreff: Schlechtes Stapeln?Eine andere Erklärung:
Ihre Spalten "Kategorie" und "Level" (allein) sind nicht gut strukturiert - man braucht einige zusätzliche Informationen wie
@BHarris schrieb: Beachten Sie, dass Kategorie=B, Artikel=2 fehlt.
um andere über die Tatsache zu informieren: zwischen Zeile 5 und Zeile 6 fehlt etwas.
Fall Nr. 1:
Der Benutzer teilt JMP nicht mit, dass die Spalte „Artikel“ vorhanden ist („Artikel“ wird in der GUI nicht verwendet **)
Dann verfügt JMP nicht über genügend Wissen, um die Aufgabe ordnungsgemäß zu erledigen.
Fall Nr. 2:
Es gibt eine dritte Dropzone. Sie ermöglicht dem Benutzer die Nutzung
@BHarris schrieb: Beachten Sie, dass Kategorie=B, Artikel=2 fehlt.
auf strukturierte Weise – als Gruppierungsspalte .
„Gruppierung“ passt sehr gut zu dem, was Sie wollen:
Stellen Sie JMP zusätzliche Informationen zur Verfügung, sodass Einträge in bestimmte Zeilen eingefügt werden können, die nicht durch den Rang (Zeile(), Kategorien) der Eingabedaten bestimmt, sondern über Gruppierungsspalten gruppiert werden.
**) bearbeiten:
"Item" wird in der GUI verwendet - implizit über Alles behalten
aber das ist zu „passiv“ – siehe unten.
Betreff: Schlechtes Stapeln?@hogi – Sie haben hier etwas auf den Kopf gestellt, nämlich die Vorstellung, dass ich die Spalte „Item“ nirgendwo in die Schnittstelle eingefügt habe. Daher liegt die Schlussfolgerung nahe, dass der Split-Algorithmus sich ihrer Existenz vielleicht gar nicht bewusst ist.
Ich glaube, ich dachte, dass *alle* Spalten für die Split-Operation wichtig seien und dass möglichst alle Beziehungen erhalten bleiben sollten, z. B. dass „Lima“ nur mit Element „3“ verknüpft war. Jetzt frage ich mich, ob alle anderen Spalten Gruppierungsspalten sein sollten, wenn ich „Alle behalten“ ausführe …
Irgendwann hoffe ich, den Status eines JMP-Masters zu erreichen und alles zu verstehen. Vielleicht wird dann auch klar, warum JMP nicht automatisch alle anderen „Kept“-Spalten in der Gruppenrolle verwendet. Bis dahin wird es mich wahrscheinlich weiterhin nervös machen, da sein Verhalten unter diesen Bedingungen für mich nicht offensichtlich ist, zu fehlerhaften Ausgabedaten unter möglicherweise schwer zu identifizierenden Bedingungen führt und für mein Verständnis nicht gut genug dokumentiert ist. Zumindest wird mich diese Nervosität in Zukunft bei der Verwendung aufmerksamer machen.
Danke.
Betreff: Schlechtes Stapeln?Sie haben es erwähnt, aber vielleicht hilft es, es explizit zu schreiben:
JMP wendet die Regel an:
- Gruppe : Behalten und zum Gruppieren verwenden
- Behalten : behalten (~ nicht fallen lassen)
@BHarris schrieb:
Jetzt muss ich herausfinden, ob alle anderen Spalten Gruppierungsspalten sein sollen, wenn ich „Alle behalten“ ausführe …
Ich denke: ja.
Sie könnten beide Möglichkeiten ausprobieren, die Unterschiede prüfen – und dann entscheiden.
Die Gruppe hilft Ihnen, die Daten zu „strukturieren“. Wenn die Daten bereits strukturiert sind, schadet das nicht. Wenn sie nicht strukturiert sind, ist eine aussagekräftige Ausgabe garantiert.
Bei Halten müssen Sie genau wissen, was Sie tun. Nachfolgend finden Sie einige Beispiele.
Diese kleinen Diskussionen in der Community tragen viel zum Verständnis bei und fordern und verbessern das Wissen des Benutzers.
Hier ist eine Sammlung lustiger JMP-Anfängerfragen , die in unseren Benutzerschulungen aufkamen. Ich habe sie zusammengestellt, um anderen Benutzern das Verständnis von JMP zu erleichtern. Viele der Fragen sind rein rhetorischer Natur – sie verdeutlichen, dass es manchmal nur der „JMP-Slang“ ist, der das Verständnis der JMP-Logik erschwert.
@BHarris schrieb:
Bis dahin wird es mich wahrscheinlich weiterhin nervös machen, da sein Verhalten unter diesen Bedingungen für mich nicht offensichtlich ist, zu fehlerhaften Ausgabedaten unter möglicherweise schwer zu identifizierenden Bedingungen führt und für mein Verständnis nicht gut genug dokumentiert ist. Zumindest wird mich diese Nervosität in Zukunft bei der Verwendung aufmerksamer machen.
Ich stimme zu. Es ist sehr wichtig zu wissen, was JMP tut – und zwar so detailliert, dass der Benutzer das Gefühl hat, das Richtige zu tun. Nicht nervös, nicht überrascht. Wenn etwas Unerwartetes passiert, wird der Benutzer nervös – wo sind die anderen Stellen, an denen JMP etwas Unerwartetes tut ?!?!
Vielleicht gibt es in JMP eine tolle Funktion, aber sie nervt oder ängstigt die Benutzer – zumindest diejenigen, die nicht erwarten, was JMP macht …
Eine Karte dieser Falltüren kann Benutzern helfen, ihnen zu entkommen. Jeder JMP-Benutzer sollte über eine solche Karte verfügen, um sich bei der Arbeit mit JMP sicher zu fühlen.
Auch wenn die Details gut dokumentiert sind – JMP ist soooo mächtig – gibt es gleichzeitig zu wenig und zu viel Dokumentation!
Das macht es schwierig, die richtigen Informationen zu finden. Der LearnBot macht es jetzt viel einfacher, kennt aber immer noch nicht alle Details.
Betreff: Schlechtes Stapeln?Ein Extremfall für „Teilen mit Behalten ohne Gruppierung“

Halten : Name (Name wird nicht zur Gruppierung verwendet)
da 2 Zeilen zu einer Zeile zusammengeführt werden, gehen viele „Namen“ verloren.
Das erste *)-Element gewinnt, also beginnen wir mit weiblichen Namen, alle männlichen Namen werden gestrichen.
Alles Männernamen? Nein, am Ende sind noch ein paar männliche Studenten übrig.
*) Es gibt KEINE universelle Regel für alle Tabellenplattformen: Welcher Wert bleibt erhalten und welcher Wert geht verloren.
Join behält auch den ersten Wert bei (und kümmert sich nicht um nachfolgende Werte).
Update versucht, jeden einzelnen Wert zu behalten und der letzte bleibt hängen - deshalb ist Tables/Update so langsam (die Ausführung des Befehls kann Stunden dauern): Beschleunigen Sie Tables/Update
Betreff: Schlechtes Stapeln?
@hogi schrieb:
Der erste *) Artikel gewinnt
ups ... das gilt nur für Spalten, die über Halten hinzugefügt wurden.
Bei den geteilten Spalten verhält sich Split wie Update: Die letzte Spalte bleibt „hängen“.
Ich habe versucht, dies anhand dieses Beispiels zu veranschaulichen. Dabei habe ich die Einträge „Name“ und „M/F“ markiert, die im endgültigen Datensatz landen. Man sieht:
- Spalten hinzugefügt über Halten (wie Name): Rang=1 (erste nehmen, nachfolgende überspringen)
- Zeilen hinzugefügt über Split Columns (Höhe --> M/F): RankReverse=1 (letzte „klebt“)

Betreff: Schlechtes Stapeln?Das Verhalten folgt einer Logik, aber man kann darüber streiten, ob die Logik unkompliziert ist bzw. von jedem Benutzer erwartet wird : )
Ich frage mich, ob „Alles behalten“ als Standard die richtige Wahl ist. Wenn JMP mit

... dann kann ein Benutzer, der die Option „Alles behalten“ aktiviert, die Dokumentation konsultieren, um sicherzugehen, dass die Option seinen Wünschen entspricht.
JMP könnte sogar eine Warnung anzeigen: „Sind Sie sicher, dass Sie Keep verwenden möchten? Verwenden Sie besser Group?“
Unterm Strich: Keine Überraschungen | Angst bei Nutzern, die die Option nicht nutzen.
Viel gefährlicher als Split: Tabellen /Update
Die Standardschnittstelle beginnt auch mit „Alle“
a) für Spalten hinzufügen
b) für Spalten ersetzen (!)
Vor einigen Jahren hielt ich es für gefährlich genug, ein Add-In zu schreiben, das die Standardeinstellungen durch Folgendes ersetzt:

Der zusätzliche Vorteil: Mit dieser Änderung startet die Plattform nicht mit einer Einstellung, die versucht, Tausende von Spalten zu aktualisieren.
Dadurch ist es um Größenordnungen schneller als das Original : )
https://community.jmp.com/t5/JMP-Wish-List/Speed-up-Tables-Update/idc-p/653334/highlight/true#M4531
Betreff: Schlechtes Stapeln?Ich habe das Thema zu Vorsicht hinzugefügt: Stellen, an denen Jmp etwas Unerwartetes tut

Betreff: Schlechtes Stapeln?Ich würde gerne eines Tages eine Animation sehen, die zeigt, was Split (und Stack) bewirkt. Ich stelle mir vor, wie die Split-by-Spaltenwerte in die Spaltenüberschriften und die Split-Spalten in die Zellen dieser neuen Spalten verschoben werden. (Ich war gerade überrascht zu erfahren, dass neue nummerierte Spalten erstellt werden, wenn es für eine Split-by-Spalte mehrere Split-Spalten gibt.)
Wirklich interessant wird es aber, wenn Konflikte auftreten, z. B. wenn mehrere Werte versuchen, in derselben Zelle zu landen. JMP warnt zwar davor (was super ist!), aber dieser Beitrag entstand aus einem Datensatz, der scheinbar korrekt aufgeteilt wurde. Nach genauerer Betrachtung stellte ich jedoch fest, dass dies nicht der Fall war. Ich hatte die Warnung ignoriert, weil ich sie nicht verstand.
Meine 2 Cents: Die Warnung sollte geändert werden von: „Mehrere Zeilen, möglicherweise mit unterschiedlichen Werten, der beizubehaltenden Spalten werden derselben Zeile in der geteilten Tabelle zugeordnet. Nur ein Wert jeder Spalte wird beibehalten.“ ---> in: „Mehrere Werte werden derselben Zelle zugeordnet; nur einer wird beibehalten.“
Betreff: Schlechtes Stapeln?
@BHarris schrieb:
Ich war gerade überrascht, als ich erfuhr, dass neue nummerierte Spalten erstellt werden, wenn für eine bestimmte Split-by-Spalte mehrere Split-Spalten vorhanden sind.
Wenn mehrere Split-Spalten verwendet werden, erstellt JMP die Spaltennamen als Kombination aus dem Namen der Split-Spalte und dem Eintrag der Split-nach-Spalte:

Wenn nur eine Spalte als Split-Spalte ausgewählt ist, ist der Name der Split-Spalte nicht im Spaltennamen enthalten:

Meine Kollegen verdrehen die Augen, wenn ich anfange, Big Class zu verwenden, um eine Funktion von JMP zu erklären.
Aber es ist ein wunderbarer Trick, einen alternativen Datensatz zu verwenden, um mit den Einstellungen zu spielen:
Bei „M“ und „F“ ist es offensichtlich, was JMP macht, man muss sich nicht über die „Zahlen“ wundern, die mit dem ursprünglichen Datensatz erschienen.
Big Class sieht sehr einfach aus, ist aber kompliziert genug, um viele Details zu erklären.
Es fehlen lediglich Kollinearitäten ...