Hallo zusammen,
Ich erstelle eine App mit JMP Application Builder, mit der ein Benutzer eine Datendatei in JMP öffnet und Analysen durchführen kann. Das Programm benötigt eine Indexspalte (Datum/Uhrzeit oder ein einfacher Zeilenindex reichen aus). Oftmals verfügen die in diese Anwendung geladenen Daten über einen Datums-/Uhrzeitindex. Dies ist jedoch nicht immer der Fall, und manchmal enthält die erste Spalte tatsächliche Daten (kontinuierliche, numerische, oft dezimale Werte).
Ich suche nach einer Möglichkeit, automatisch zu erkennen, ob die erste Spalte einer Datentabelle in JMP das Datums-/Zeitformat (Datums-/Zeitindex) hat oder eine Spalte mit [1, 2, ..., N Spalten] Werten (Zeilenindex) ist. Wenn beide Prüfungen für eine Indexspalte negativ ausfallen (d. h. die erste Spalte enthält tatsächliche Datenwerte), kann ich einfach eine Spalte mit der Formel Row() einfügen, um die Indexanforderung zu erfüllen.
Ist es möglich, << Get Format zu verwenden und das Ergebnis dann zu nutzen, um das von mir Beschriebene zu untersuchen? Mir ist dies bisher nicht gelungen, aber ich suche möglicherweise nicht an der richtigen Stelle. Wenn ich die Ausgabe von << Get Format als Zeichenfolge erhalten könnte, könnte ich eine rudimentäre Suche durchführen, um zu sehen, ob sie eine Mischung aus YYYY, M oder D usw. enthält.
Es ist durchaus möglich, den Benutzer aufzufordern, vor der weiteren Verwendung des Programms einfach eine Indexspalte hinzuzufügen, und das tue ich derzeit auch, aber im Idealfall könnte das Programm dies automatisch erledigen.
Vielen Dank für jeden Rat,
Estelle
Die Nachricht Get Format() gibt einen Ausdruck zurück, der zum Formatieren einer anderen Spalte verwendet werden kann. Wenn Sie das Format als Zeichenfolge wünschen, können Sie das erste Argument dieses Ausdrucks mithilfe von abrufen Arg()-Funktion .
New Table( "My Table",
Add Rows( 0 ),
New Column( "Column 1",
Numeric,
"Continuous",
Format( "mmddyyyy", 12 ),
Input Format( "mmddyyyy" ),
Set Selected
)
);
foo = :column 1 << get format;
//foo == Format( "mmddyyyy", 12 )
fmt = Arg( foo, 1 );
Show( fmt );
// fmt = "mmddyyyy";
Ah gut! Danke, Jeff, das ist der Schritt, der mir gefehlt hat.