Wie transformiere ich eine Zeitdatenspalte (nominal) in kontinuierliche Daten in einer Einheit (Monate)?Hallo alle.
In JMP arbeite ich mit Stabilitätsdaten, die aus einem LIMS-System extrahiert wurden. Bei der Analyse hätte ich auf der X-Achse Zeit in Monaten angegeben. Die extrahierten Daten liegen in zwei Zeitformaten vor: Entweder als Zeitangabe in Monaten (z. B. „M-12“ oder „M-36“) oder als Zeitangabe in Tagen (z. B. „EOS-968“ oder „EOS-1011“). ). Alle Daten befinden sich in derselben Spalte.
Ich benötige die Daten, um weiterhin die erforderliche Analyse durchführen zu können. Was die Zeit in Monaten angeht, entferne ich normalerweise einfach das „M-“, indem ich „Suchen und Ersetzen“ durchführe – und „Ersetzen“ leer lasse. Es ist aufwändiger, die Tage in Monate umzuwandeln.
Mein erster Gedanke war, zuerst den „EOS-“-Teil zu entfernen und dann die Monate neu zu berechnen, aber da sich die Daten alle in derselben Spalte befinden, fällt es mir schwer, die beiden „Datensätze“ getrennt zu halten, bis sie das haben gleiche Einheit.
Hätten Sie nette Ideen, wie ich diese Transformation einfacher durchführen kann? Vielleicht ist ein kleines Skript erforderlich?
Jede Hilfe wird sehr geschätzt.
Beste grüße
Henriette
Qualitäts- und VerfahrenstechnikBetreff: Wie transformiere ich eine Zeitdatenspalte (nominal) in kontinuierliche Daten in einer Einheit (Monate)?Hallo Dale.
Vielen Dank für Ihre Hilfe.
BR Henriette
Betreff: Wie transformiere ich eine Zeitdatenspalte (nominal) in kontinuierliche Daten in einer Einheit (Monate)?Hallo Jarmo.
Das hat perfekt funktioniert. Vielen Dank für Ihre Hilfe.
BR Henriette
Betreff: Wie transformiere ich eine Zeitdatenspalte (nominal) in kontinuierliche Daten in einer Einheit (Monate)?Ich sehe andere ähnliche Ideen, im Anhang ist meine (ohne Skripterstellung).
Betreff: Wie transformiere ich eine Zeitdatenspalte (nominal) in kontinuierliche Daten in einer Einheit (Monate)?Sie müssen es nicht in einer Variablen speichern.
Beispiel unten. Führen Sie das Skript aus und überprüfen Sie die Formel für MonthNumber:
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(4),
New Column("Time", Character, "Nominal", Set Values({"M-12", "M-36", "EOS-968", "EOS-1011"}))
);
dt << New Column("MonthNumber", Numeric, Continuous, Formula(
If(StartsWith(:Time, "M"),
Num(Word(2, :Time, "-"))
,
StartsWith(:Time, "EOS"),
Num(Word(2, :Time, "-"))/30
,
. //if starts with something else than "M" or "EOS"
);
));
Anschließend können Sie die Formel nach Bedarf ändern.
Betreff: Wie transformiere ich eine Zeitdatenspalte (nominal) in kontinuierliche Daten in einer Einheit (Monate)?Hallo.
Vielen Dank für Ihre Hilfe. Ich bin völlig neu in der JMP-Skripterstellung, also können Sie mir vielleicht den richtigen Weg weisen, indem Sie die fehlenden Logiken übernehmen.
Für die „Monatslogik“ möchte ich nur den „M-“-Teil entfernen, daher denke ich, dass die Word-Funktion aus Dales Antwort den Zweck erfüllen sollte.
Für die „Tageslogik“ möchte ich den „EOS-“-Teil entfernen (mithilfe der Word-Funktion) und dann den numerischen Teil von Tagen in Monate berechnen. Vielleicht eine dumme Frage, aber kann ich einfach zwei Codezeilen hinzufügen oder muss ich sie irgendwie in einer Variablen speichern?
Danke 
Betreff: Wie transformiere ich eine Zeitdatenspalte (nominal) in kontinuierliche Daten in einer Einheit (Monate)?Hallo Dale. Ich danke Ihnen für Ihre Hilfe. Soweit ich sehen kann, erhalte ich mit der beschriebenen Word-Funktion eine Spalte mit kontinuierlichen Daten (juhu), aber in zwei verschiedenen Einheiten (Tage und Monate).
Irgendwelche Ideen, wie ich die Tage in Monate umrechnen kann, dies aber nur für die Zeilen tue, in denen der numerische Wert in Tagen angegeben ist?
BR Henriette
Betreff: Wie transformiere ich eine Zeitdatenspalte (nominal) in kontinuierliche Daten in einer Einheit (Monate)?Zusätzlich zur Verwendung von Word() können Sie die Anweisung „Starts With“ und „If“ verwenden, um zu bestimmen, wie Sie den Monat berechnen sollen.
Das folgende Skript fügt die Platzhalterwerte 1 (Monat) und 2 (Tag) hinzu. Ersetzen Sie sie durch Ihre Logik für die Monatsberechnung
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(4),
New Column("Time", Character, "Nominal", Set Selected, Set Values({"M-12", "M-36", "EOS-968", "EOS-1011"}))
);
dt << New Column("MonthNumber", Numeric, Continuous, Formula(
If(StartsWith(:Time, "M"),
//month logic here
1
,
StartsWith(:Time, "EOS"),
//day logic here
2
,
. //if starts with something else than "M" or "EOS"
);
));

Betreff: Wie transformiere ich eine Zeitdatenspalte (nominal) in kontinuierliche Daten in einer Einheit (Monate)?Die Funktion „word“ scheint den Zweck zu erfüllen – siehe die beigefügte Beispieldatei.