Scripting: Abrufen der Spalte bestimmter Namen einer Datentabelle<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Ich habe eine Datentabelle (aus Excel importiert), in der einige Spaltennamen ein Datumsformat haben (z. B. 14. September). Es gibt aber auch andere Spalten. Im Anhang finden Sie die JMP-Datentabelle Beispiel1. Es gibt zwei Probleme.
Erste Ausgabe:
Ich muss die Datumsspalten stapeln, um sie z. B. als X in einer Graph Builder-Analyse zu haben. Dies ist nicht sehr schwierig (Skript in Beispiel 1, aber die Tabelle wird ein lebendes Dokument sein und neue Spalten werden im Laufe der Monate hinzugefügt, und daher kann ich nicht Verwenden Sie das automatisierte Skript mit fest codierten Spalten.
Ich muss diese Spaltennamen mit einer solchen Datumsstruktur (Monat JJ) extrahieren und stapeln. Ich habe versucht, Get Column Name zu verwenden, um die Spaltenliste zu extrahieren:
colNames = Datentabelle ( "Beispiel 1" ) << Spaltennamen abrufen ;;
Show (colN ames ) ;;
Aber ich konnte nicht nur diejenigen extrahieren, die ich stapeln möchte. Ich dachte an Regex (), konnte es aber nicht so laufen lassen, wie ich es gerne hätte.
Zweite Ausgabe:
Dann erscheint die nächste Ausgabe. Der Datentyp ist Zeichen und Nominal. Ich möchte, dass es numerisch und ordinal ist (oder zumindest Zeichen und ordinal, aber in der richtigen Reihe). Beim Ändern der Eigenschaft in numerisch habe ich viele fehlende Werte erhalten, aber nicht alle.
Ich bin mir nicht sicher, was ich hier falsch mache.
Danke für Ihre Hilfe,
Martin
Betreff: Scripting: Abrufen der Spalte bestimmter Namen einer DatentabelleHallo Don,
Ich verstehe jetzt die Regexp-Formel besser, die Sie verwendet haben. Ich denke, ich kann es an einen allgemeinen Zweck anpassen, indem ich Bedingungen hinzufüge, z. B. falls es eine Mischung zwischen Variablennamen mit "Monat JJ", "TT Monat JJ", "TT.MM.JJ" usw. gibt, und es an anpassen das endgültige Format.
Am besten wäre ein konsistentes Eingabeformat für die Variablennamen, die JMP kennt.
Vielen Dank für Ihre Hilfe, Sie haben mich mit Ihrem Beispiel auf den richtigen Weg gebracht. Vielen Dank!
Martin
Betreff: Scripting: Abrufen der Spalte bestimmter Namen einer DatentabelleHallo Don,
Ich bin um die Datumsübertragung herum gekommen, indem ich ein if-Konstrukt verwendet habe, da das Wort Count davon abhängt, ob es eine führende Zahl gibt oder nicht:
Aktuelle Datentabelle () << Neue Spalte ( "Neues Datum" ,
Numerisch ,
Ordinal ,
Format ( "TTMonYYYY" ) ,
Formel(
Wenn ( Wird vermisst ( Num ( Wort ( 1 , :: Datum ) ) ) ,
Datum DMY (
1 ,
Spiel ( Wort ( 1 , :: Datum ) ,
"Januar" , 1 ,
"Februar" , 2 ,
"März" , 3 ,
"April" , 4 ,
"Mai" , 5 ,
"Juni" , 6 ,
"Juli" , 7 ,
"August" , 8 ,
"September" , 9 ,
"Oktober" , 10 ,
"November" , 11 ,
"Dezember" , 12 ,
13
) ,
2000 + Num ( Wort ( 2 , :: Datum ) )
) ,
Datum DMY (
Num ( Wort ( 1 , :: Datum ) ) ,
Spiel ( Wort ( 2 , :: Datum ) ,
"Januar" , 1 ,
"Februar" , 2 ,
"März" , 3 ,
"April" , 4 ,
"Mai" , 5 ,
"Juni" , 6 ,
"Juli" , 7 ,
"August" , 8 ,
"September" , 9 ,
"Oktober" , 10 ,
"November" , 11 ,
"Dezember" , 12 ,
13
) ,
2000 + Num ( Wort ( 3 , :: Datum ) )
)
)
)
) ;;
Ich habe jedoch immer noch Probleme mit der Regexp-Formel zum Erstellen der Liste regNames.
Martin
Betreff: Scripting: Abrufen der Spalte bestimmter Namen einer DatentabelleHallo Don,
Ich habe versucht, Ihr Beispiel durchzuarbeiten. Ich erhalte jedoch eine leere regNames-Liste und daher fordert mich das Stapelskript auf, alle wie zuvor einzugeben. Dies führt zu einer Datentabelle, in der das Skript für die neue Spalte aufgrund einer fehlenden Liste nicht funktioniert. Außerdem funktioniert die Datumsumwandlung auch bei mir nicht.
Hast du es versucht und hat es für dich funktioniert? Welche Einstellungen für die Sprache haben Sie verwendet?
Vielen Dank,
Martin
Betreff: Scripting: Abrufen der Spalte bestimmter Namen einer DatentabelleMartin,
Ich füge ein Skript hinzu, das die Probleme lösen soll, die Sie haben. Regex ist in JSL besonders schwierig zu verwenden und unterscheidet sich etwas von regulären Standardausdrücken (obwohl es ziemlich nah dran ist und meistens einige Funktionen fehlen). Die Datumsprobleme treten auf, weil JMP die Daten nicht als verfügbare Informationen erkannt hat, zumindest habe ich sie in meiner Version nicht gesehen. Meine Lösung hat den Namen analysiert und eine neue Spalte mit numerischen Daten erstellt. Es gibt alternative Lösungen, obwohl ich denke, dass dies die einfachste wäre. !