Spalte mit Refs löschenHallo
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 in der Formel auf eine andere Spalte verweist.“ "
Es gibt keine Formel, aber wenn ich die Option „Referenzen entfernen“ manuell verwende, 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
Erweiterte statistische ModellierungAutomatisierung und SkripterstellungVerbraucher- und MarktforschungDatenmischung und -bereinigungBetreff: Spalte mit Refs löschenDas Problem, das ich dem JMP-Support gemeldet habe, wurde nun als Fehler offengelegt und an R&D gemeldet.
Da es möglich ist, Formeln interaktiv zu entfernen, kam mir die Idee, dass Sie << Eigenschaft löschen("Formel") anstelle von << Formel löschen verwenden könnten, und es scheint zu funktionieren, aber ich würde beim Erstellen von Übersichtstabellen mit Formeln sehr vorsichtig sein da sie einige sehr seltsame Interaktionen haben könnten
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(
f1 = Column(dt_summary, "concat_col") << Get Formula;
show(f1);
Column(dt_summary, "concat_col") << Delete Formula;
f2 = Column(dt_summary, "concat_col") << Get Formula;
show(f2);
,
show(exception_msg);
);
Try(
f3 = Column(dt_summary, "concat_col") << Get Formula;
show(f3);
Column(dt_summary, "concat_col") << Delete Property("Formula");
f4 = Column(dt_summary, "concat_col") << Get Formula;
show(f4);
dt_summary << Delete Column("name");
,
show(exception_msg);
);
/*
Close(dt_summary, no save);
Close(dt, no save);
*/Betreff: Spalte mit Refs löschenHängt das Problem mit der Übersichtstabelle zusammen?
Mir ist erst heute ein seltsames Verhalten bei Übersichtstabellen aufgefallen, als ich versuchte, Formeln zu entfernen. Ich teste das Problem derzeit und werde nach einem geeigneten Beispiel ein Ticket an den JMP-Support senden. 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 /*###*/)};
*/
Die Formel ist in der Spaltenliste auf der linken Seite nicht sichtbar und die Formel ist auch im Feld „Formel“ nicht sichtbar.

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


Eine einfache Lösung könnte in diesem Fall darin bestehen, zunächst alle Formeln aus der ursprünglichen Datentabelle zu löschen, bevor die Übersichtstabelle erstellt wird. Ich denke jedoch, dass Formeln nicht (nur Werte) in die Übersichtstabelle kopiert werden sollten, da dies zu einem sehr seltsamen Verhalten führen könnte abhängig von den Formeln.
Edit2:
Ich habe jetzt ein Ticket zu diesem von mir beschriebenen Problem/Funktion an den JMP-Support gesendet.
Betreff: Spalte mit Refs löschenIch frage mich, ob es eine versteckte Formelspalte gibt? Wenn wirklich keine Formelspalte vorhanden ist, klingt das nach einem Fehler, und das Senden der Tabelle an den technischen Support könnte helfen, ihn zu beheben.
Betreff: Spalte mit Refs löschenVielleicht möchten Sie einen Schritt zurücktreten und über den von Ihnen verwendeten Ansatz nachdenken. 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 auch auf andere Weise füllen, die überhaupt keine Formeln beinhalten. 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 Möglichkeiten.
Können Sie Ihr Skript veröffentlichen? Oder beschreiben Sie die Schritte, die Ihr Skript ausführt?
Betreff: Spalte mit Refs löschenKönnen Sie eine Beispieldatentabelle bereitstellen?