Hallo
Ich habe ein Skript geschrieben, um eine Spalte zu löschen.Ich erhalte jedoch die Fehlermeldung „Diese Spalte kann nicht gelöscht werden, während sie von der Formel auf eine andere Spalte verwiesen wird. "
Es gibt keine Formel, aber wenn Sie die Option "Remove Refs" manuell verwenden, kann ich die Spalte manuell löschen.
Ich muss lernen, wie ich diese Funktion in meinem Skript verwende, um "Remove Refs" zu verwenden.
Ich verwende JMP 16.1.0
können Sie eine Beispieldatentabelle liefern?
Vielleicht möchten Sie einen Schritt zurücktreten und den Ansatz überdenken, den Sie verwenden. Anstatt dieses Problem zu beheben, könnte es von vornherein vermieden werden. Warum verwenden Sie beispielsweise eine Formel in der anderen Datenspalte? Warum möchten Sie eine Spalte löschen?
Möglicherweise können Sie eine Datenspalte auf andere Weise füllen, die überhaupt keine Formeln enthält. Der einzige Grund für die Verwendung einer Formel bei der Skripterstellung für JMP besteht darin, dass die Datenspalte aktualisiert werden muss, wenn sich die Datentabelle ändert. Ansonsten gibt es andere Wege.
Kannst du dein Skript posten? Oder beschreiben Sie die Schritte, die Ihr Skript ausführt?
Ich frage mich, ob es eine versteckte Formelspalte gibt? Wenn es wirklich keine Formelspalte gibt, klingt es nach einem Fehler, und das Senden der Tabelle an den technischen Support könnte helfen, das Problem zu beheben.
Bezieht sich das Problem auf die Zusammenfassungstabelle?
Ich habe gerade heute ein seltsames Verhalten mit Übersichtstabellen bemerkt, als ich versuchte, Formeln zu entfernen. Ich teste das Problem derzeit aus und werde ein Ticket an den JMP-Support senden, nachdem ich ein geeignetes Beispiel erhalten habe. Ich kann das Beispiel auch hier posten, wenn es fertig ist.
Bearbeiten:
Hier ist ein kurzes Beispiel für das Problem, auf das ich heute gestoßen bin (ich verwende ziemlich selten Formeln ...):
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
//create some formula colums
dt << New Column("deduction", Numeric, "Continuous", Format("Best", 12), Formula(:height - :weight));
dt << New Column("concat_col", Character, "Nominal", Formula(:name||"_"||Char(:name)));
dt_summary = dt << Summary(
Group(:name,:sex, :concat_col),
Mean(:height),
Mean(:deduction),
Freq("None"),
Weight("None"),
Link to original datatable(0)
);
Try(
dt_summary << Delete Column("name");
,
show(exception_msg);
);
Try(
f = Column(dt_summary, "concat_col") << Get Formula;
show(f);
Column(dt_summary, "concat_col") << Delete Formula;
,
show(exception_msg);
);
/*
Cannot delete column "name" while it is referenced by the formula of column "concat_col".
Removing a formula leaves the data unchanged. Removing references replaces each reference with an empty value. These effects are permanent and cannot be undone.
f = :name || "_" || Char(:name);
exception_msg = {"Column concat_col has no formula"(1, 2, "Delete Formula", Delete Formula /*###*/)};
*/
Formel nicht sichtbar in der Spaltenauflistung auf der linken Seite und Formel auch nicht sichtbar in der Panelbox Formel.

Die Formel ist da, wenn ich auf Formel bearbeiten klicke. Und wenn ich "_" in verkettet zu "" ändere, verschwindet die Formel, die Spalte wird gesperrt und die Werte werden in der Datentabelle geändert:


Eine einfache Lösung in diesem Fall könnte darin bestehen, zuerst alle Formeln aus der ursprünglichen Datentabelle zu löschen, bevor Sie die Übersichtstabelle erstellen, aber ich würde denken, dass Formeln nicht (nur Werte) in die Übersichtstabelle kopiert werden sollten, da dies ein sehr seltsames Verhalten haben könnte abhängig von den Formeln.
Edit2:
Ich habe jetzt ein Ticket zu diesem Problem/dieser Funktion, die ich beschrieben habe, an den JMP-Support gesendet.